We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
What's the exact meaning of the "Code (inc. data)", "Debug" sizes in the .map file? Why is the Debug-size so big?
Code (inc. data) RO Data RW Data ZI Data Debug Object Name 208 72 0 4 0 94225 main.o
thanks in advance Georg
The meaning will depend entirely on which toolset you're using!
"Why is the Debug-size"
Because it contains a lot of information!! This is how the tools know what absolute locations refer to what source symbols, the types of symbols, etc, etc It usually includes something to identify the code address associated with each individual line of your source code.
Typically, the debug information is not loaded into the target - it is just retained in files on the development system, and the debug tools access it from there...
thanks for your answer - that helps a lot. I'm working with the MDK version from Keil.
Typically, the debug information is not loaded into the target
That means the debug size is used for a chart for the correct assignment for the debugger.
And what about the code size (left in my chart)? How can I calculate this value from the other values (RO, RW, ZI size)?
Do you know a good tutorial where the meaning of such values are listed? e.g. the meaning of "callvia"? When I use google "callvia map file" I get no page answering my question.
best regards Georg
"I'm working with the MDK version from Keil."
So select 'ARM' in the 'MCU (Architecture)' drop-down list.
"And what about the code size (left in my chart)? How can I calculate this value from the other values (RO, RW, ZI size)?"
RO, RW, ZI will be data sizes - so there is no direct relation to the code size!
"Do you know a good tutorial where the meaning of such values are listed?"
How about: http://www.keil.com/support/man_arm.htm Or: http://www.keil.com/books/
"e.g. the meaning of "callvia"? "
I guess that's short for "call via" - which implies a kind of indirect call...?
Where exactly did you see it?
I saw this call in the .map file (in the execution area of my flash ROM).
At the beginning of this list, there is the RESET vector and the startup, after that I can see all the RO data from all c-files of my project. This part is clear to me. But after that there are lines like
0x100003ac 0x00000008 Ven RO 116 .text uidiv.o(mc_t.l)
or
0x100003dc 0x00000010 Code RO 312 .text callvia.o(h_t.l)
I don't know what "mc_t.l" means.