How do I display a memory map of my variables and their
I am looking through the .map file but I cannot see a final memory
map of all the variables.
Is there a way to do this with Keil?
Which toolchain are you using?
For MDK, Options for Target>>Listing, check
Linker Listing and then check Symbols.
Rebuild your project and browse .map for Image Symbol Table.
Note that you won't get automatic variables in the linker
Thanks, I had missed that auto variables would not appear,
I am just starting with the ARM (STM32F4). I am doing some basic
testing like cheking the speed of interrupts.
I had some variables declared as volatile in an interrupt routine
and assumed they would then be global and I could see them.
Re-declaring them as static showed them in the memory map. Changing
them from automatic to static atually had a detremental impact on the
No - volatile has nothing to do with scope or lifetime!
"Re-declaring them as static showed them in the memory map.
Changing them from automatic to static atually had a detremental
impact on the speed"
When they were automatic, they might have been in registers?
But did you actually want them to be global...?
How to see variable address in keil. And is it possible to change variable value directly from memory.
View all questions in Keil forum