ASSISTENTE KEIL.

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

ASSISTENTE KEIL.

Mensagempor fabim » 22 Nov 2009 11:14

Psoall.
No mikroC e outras IDES, tem um assistente que mostra o tamanho que cada rotina utiliza da flash em bytes, ou por exemplo.
Eu tenho uma include.C que no assitente que eu estou observando tem uma arvore com 7 rotinas, se eu somar o tamanho de todas, logicamente vou saber o tamanho real em bytes da include.c.
Estou batendo cabeça desde ontem, fiz aquela FFT.C na ram com 4380 bytes, fui debugar e observei que o FFT.C ocupa bem menos que os 4380 bytes, mais não sei exatamente quanto menos.
Existe algum assistente que me ajude a descobrir o que preciso ?

Pois veja bem, se abrir o projeto, lado direito da tela assistente project.
Botão direito sobre o FFT.C>> options for file fft.c..., vai abrir uma caixa de configuração, "SIZE [ 4380]", ele me mostra esta informação.
Só que esta informação,é a mesma que o windows me informa.
Ou seja, quantidade de bytes que o arquivo ocupa, e não tamanho do hex final.

Program Size: Code=4280 RO-data=36 RW-data=4108 ZI-data=3308

O putex me explicou a um tempo, mais fiquei meio cabrero.
CODE = ???
RO-data = Read Only data = contantes na flash .
RW-data = Read Write data = imagino que seja a RAM
ZI-data = ???

alguém com pratica poderia me dar um help ?

Fabim
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 Djalma Toledo Rodrigues » 22 Nov 2009 15:10

Tenta:

View

View ---> Memory Usage Gauge

algo assim

--------------------------

Vôvo view a uva! - :D
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor fabim » 22 Nov 2009 17:10

contodacertezadissepordizermesmo...
nuncadeveterusadookeilvoticontaviu..
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 proex » 22 Nov 2009 17:46

eheheh Keil nao é Mplab não oh.

Isso é uma coisa que nunca me preocupei. No LPC2368, com 512K de flash, eu quero mais que se f#%* !
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor fabim » 22 Nov 2009 19:58

proex escreveu:eheheh Keil nao é Mplab não oh.

Isso é uma coisa que nunca me preocupei. No LPC2368, com 512K de flash, eu quero mais que se f#%* !


hehehe2, seu manéX!!
C vai ver quando for colocar algum trocim pra rodar na ram...

rsrsrs, cara o include do FFT, é bem menor que eu tinha comentado, só não tenho idéia de o quanto menor..
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 Sergio38br » 22 Nov 2009 20:06

clique com a direita, options for target, aba listing, selecione tudo principalmente o arquivo .map, escolha um diretorio e depois de compilar veja o arquivo .map , principalmente o final dele.

[ ]`s
Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor Djalma Toledo Rodrigues » 22 Nov 2009 20:19

fabim escreveu:contodacertezadissepordizermesmo...
nuncadeveterusadookeilvoticontaviu..

Inda bem que falei Tenta

Ce sabe que meu forte não é o Ce

Mais depois do Marcelo Samsoniuk (PHD em BitC), vou nessa.

T++
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor fabim » 23 Nov 2009 07:31

Código: Selecionar todos
Code (inc. data)   RO Data    RW Data    ZI Data      Debug   Object Name

888         24          0       4096       2048       2981   fft.o



Só uma perguntinha básica.

RO = Ready only.//constantes alocadas na flash apenas leitura
RW = Read and write, no caso uso da ram de dados
ZI = Zeus Ilivre ?
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 Jozias del Rios » 23 Nov 2009 07:48

ZI = Zero Initiallized Data...

isto é, o run-time do C vai varrer esta memória com memset(...) zerando esta área de memória.
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor fabim » 23 Nov 2009 07:54

Gambiarra mai foi.
Infezei e criei a IRAM2 com apenas 10 bytes, pois tinha desconfiado que o keil ia falar que não cabe.
Fui no option´s e mandei executar tudim dentro da IRAM2, aí ele muito educadamente.

FFTARM.axf: Error: L6220E: Execution region RW_IRAM2 size (7056 bytes) exceeds limit (10 bytes).

ou seja, constantes da flash + programa + ram de dados = 7056.

como eu quero que ele rode tudo na iram 2.....

configuração de IRAM1.

tenho 32767 bytes disponiveis de ram.
Endereço inicial da RAM = 0x40000000

mão na mazza.
Código: Selecionar todos
  IRAM1
  Start                          Size =(0x00008000 - 0x00001B90)
  0x4000000                0x00006470 

  IRAM2
  Start                                     size
  0x4000000+sizeIRAM1           0x00001B90

Lembrando, que o start da IRAM2 não precisa ser anterior +1, pois a contagem começa no "0"...

Prontim, seleciona a esquerda IRAM1 e 2, para o keil saber que vou usar os dois, porem o IRAM1 é tambem selecionado a direita para que ele não inicialize este banco.

Fuça. fuça. fuça, e continuo fuçando...rsrs
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!!!?


Voltar para ARM

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x