KEIL Program Size

Para "abobrinhas" use o " Boteco"

Moderadores: andre_luis, 51, guest2003, Renie

KEIL Program Size

Mensagempor Maffeis » 25 Jun 2012 23:59

Boa noite

Como eu faço para saber o tamanho do meu código em porcentagem.

Gostaria de saber quanto ainda me sobra de memoria.

Estou fazendo um código mais eu não fiz quase nada ainda e no flash magic está dizendo que eu utilizei mais de 20% da memoria.

Alguem saberia me explicar essa msg.

Program Size: Code=7152 RO-data=256 RW-data=108 ZI-data=612

Obrigado.
Maffeis
Word
 
Mensagens: 501
Registrado em: 07 Ago 2010 19:10

Mensagempor fabim » 26 Jun 2012 07:59

Program Size: Code=7152 RO-data=256 RW-data=108 ZI-data=612
CODE = seu codigo de execução, ou software
RO= Read only data, ou suas constantes
RW = Rad and Write data, Ou RAM
ZI = Zero initialization data, ou a quantidade de ram que o startup zera, isto inclui heap size, etc...

Certo ? Tendeu ?
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Maffeis » 26 Jun 2012 20:38

Valeu fabim

Vou precisar rever meu código (aprender a programar realmente)

Se continuar nesse ritmo eu não chego nem na metado do código.

Como eu faço para saber se o controlador vai suportar o tamanho do código.

Quando eu escolho um controlador com 8K de programa ou um de 32K por exemplo.

Eu vi um caso em que o cara precisou trocar o PIC18F252 por um PIC18F2525 (Acho que são esses os códigos) por causa do tamanho do código.
Maffeis
Word
 
Mensagens: 501
Registrado em: 07 Ago 2010 19:10

Mensagempor fabim » 26 Jun 2012 21:01

cara, me perdoe !!
Eu fiz uma promessa para um cabra aqui do fórum que eu não iria mais falar mal de uC de 8 bit, boca de porco !!
Mais me recuso, a continuar qualquer tipo de assunto onde o mesmo seja citado !!!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Rodrigo_P_A » 26 Jun 2012 21:05

Maffeis escreveu:Valeu fabim

Vou precisar rever meu código (aprender a programar realmente)

Se continuar nesse ritmo eu não chego nem na metado do código.

Como eu faço para saber se o controlador vai suportar o tamanho do código.

Quando eu escolho um controlador com 8K de programa ou um de 32K por exemplo.

Eu vi um caso em que o cara precisou trocar o PIC18F252 por um PIC18F2525 (Acho que são esses os códigos) por causa do tamanho do código.


não tem como, isso vc só vai aprender conforme for fazendo o programa do seu projeto.

Mas uma coisa q vc pode tentar fazer é implementar as rotinas que vc acha que vai usar mais e ver o tamanho do código chamando elas no main e desabilitando todas as otimizações de código, fora isso, só com o tempo e experiência mesmo pra começar a ter idéia de tamanho etc...
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Mensagempor Maffeis » 27 Jun 2012 20:20

Não to usando PIC não

Estou usando um LPC1114 para um programador manual com display de 16x2 e teclado matricial e memoria e vou usar um LPC1768 no na placa principal (se eu aprender a mexer hahahah)

Estava por curiosidade olhando o assembly gerado junto com o engenheiro da empresa, ele conseguiu me explicar alguma coisa.

Oq seria essas otmizações de código Rodrigo?
Maffeis
Word
 
Mensagens: 501
Registrado em: 07 Ago 2010 19:10

Mensagempor Rodrigo_P_A » 28 Jun 2012 09:04

Maffeis escreveu:Não to usando PIC não

Estou usando um LPC1114 para um programador manual com display de 16x2 e teclado matricial e memoria e vou usar um LPC1768 no na placa principal (se eu aprender a mexer hahahah)

Estava por curiosidade olhando o assembly gerado junto com o engenheiro da empresa, ele conseguiu me explicar alguma coisa.

Oq seria essas otmizações de código Rodrigo?


Todos compiladores tem otimização de código cada um com algoritimos diferentes, falando a grosso modo eles analisam o código gerado e fazem alterações, removem variáveis não usadas em seu código, podem reaproveitar códigos que são muito usados, remover outros que não são usados.

eu não compararia o código gerado com as otimizações habilitadas, tem certas otimizações que dão problema no código, aí vc vai ter que começar a aprender a usar as diretivas do compilador para ativar ou desativar otimização em certas partes do código, eu já tive problemas com isso, com a otimização ativada meu código simplesmente não funcionava, depois eu aprendi a desativar em certas partes e aí consegui usar.

é isso, dá uma pesquisada no site da Keil sobre as otimizações.
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Mensagempor RobL » 28 Jun 2012 14:58

Você verificou se seu código foi gerado com optimização no máximo, para economizar flash (pois há outras que reduzem o tempo de processamento) ?
Se sim e se estiver bem escrito não há mais o que fazer.

Se quiser reduzir, evite funções prontas, ou melhor , use as prontas que você saiba quanto lhe consome de flash. Algo como printf() e similares, jamais usar.

Meus códigos, desconfio sempre que posso melhorar. Quase sempre cabe uma mexida que economiza flash, mas nem sempre é acompanhado da mesma redução no tempo de processamento.

Em trabalhos pequenos com pouca flash, uso C como se estivesse com um organizador para Assembly.
Procuro usar somente operações com inteiros positivos, sem deitar e rolar com sinais e tipos longos, mesmo quando necessito parte fracionaria. Não é prático, mas gera o resultado esperado.
Usar poucas chamadas a funções. É muito vasto para colocar tudo.
Se estiver usando um RTOS, tem que ser muito pequeno, no máximo 1K.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56


Voltar para Assuntos Gerais

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante

x