Página 1 de 1

kEIL Mostrar uso da memória

MensagemEnviado: 05 Jun 2018 22:09
por vtrx
Onde posso ver no Keil o quanto de memória o programa está consumindo em relação a capacidade do micro?

Re: kEIL Mostrar uso da memória

MensagemEnviado: 06 Jun 2018 07:57
por denis
Se estiver habilitado o GNU Size, no final da compilação você deve ver algo assim:

Código: Selecionar todos
Running size tool
arm-none-eabi-size "Sleep.elf"
   text      data       bss       dec       hex   filename
  23928       204       468     24600      6018   Sleep.elf


Aqui explica o que cada coluna representa:
https://mcuoneclipse.com/2013/04/14/tex ... explained/

Re: kEIL Mostrar uso da memória

MensagemEnviado: 06 Jun 2018 13:50
por vtrx
Outra dúvida.
Quando seleciono otimização máxima,nível 3(O3),o programa não funciona corretamente ou até trava. :?:

Re: kEIL Mostrar uso da memória

MensagemEnviado: 06 Jun 2018 16:03
por denis
Eu sei que a otimização causa algumas coisas estranhas, geralmente eu procuro evitar.

Re: kEIL Mostrar uso da memória

MensagemEnviado: 07 Jun 2018 17:59
por vtrx
Mais uma.
Peguei um projeto (não meu)e adicionei algumas funções que usam o Timer etc.
Tenho o esboço destas funções,que adicionei,em um projeto teste separado,mas recebo o erro de definições ,tipo,undefined symbol TIM_GetITStatus referred from main.o,mas TIM_GetITStatus é a verificação relacionado a interrupção do Timer2,que no outro projeto roda ok mas no que 'adicionei' a rotina não,mesmo com include adicionado.
Se eu adicionar no projeto a Lib STM32F10xR,não tenho esse problema,então pergunto,como adicionar corretamente os includes em outro projeto sem ter que usar a lib STM32F10xR ou isso não importa(usar a lib é mais prático)?

PS:Esqueci de mencionar,se eu clicar com o mouse direito na palavra TIM_GetITStatus e ir na referencia a ela,o Keil acha o include e a rotina.

Re: kEIL Mostrar uso da memória

MensagemEnviado: 08 Jun 2018 07:43
por denis
Se você já tem a lib pronta, então o mais fácil seria adicionar a lib no seu projeto e colocar o include da lib.

Re: kEIL Mostrar uso da memória

MensagemEnviado: 08 Jun 2018 14:41
por vtrx
Achei o porque que um projeto compilado que tenho,dava erro se acrescentasse novas rotinas em um outro.
No outro projeto do erro,o arquivo stm32f10x_conf.h,estava com vários trechos comentado,então ficou com várias definições sem iniciar,justamente a que estava usando.

Re: kEIL Mostrar uso da memória

MensagemEnviado: 08 Jun 2018 15:05
por denis
Não sei se consigo te ajudar. Não entendi o problema corretamente.

Re: kEIL Mostrar uso da memória

MensagemEnviado: 08 Jun 2018 17:53
por vtrx
denis escreveu:Não sei se consigo te ajudar. Não entendi o problema corretamente.

já resolvi.
Como citei,tenho um esboço d projeto do Keil,retirado da internet,onde se usa I2C.
Eu utiliei o source deste projeto em um que eu ja tinha com USB,só acrescentei o source e o header que precisava para se comunicar com o I2C,mas ao fazer isso,o projeto não compilava pois apresentava erro,avisando que o símbolo I2C1 não estava definido.
Esta definição,entre outras,fica no arquivo STM32F10x_map.h,que no arquivo da internet,pois não uso os que ficam no Keil,estavam com todas as definições de hardware para o micro habilitadas,no meu caso #define I2C1 ((I2C_TypeDef *) I2C1_BASE),no esboço que tinha o USB,várias definições estava 'comentadas',isso fazia o compilador não acha-las,então usei o arquivo STM32F10x_map.h da internet,com todas as definições 'liberadas'.