This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

meaning of sizes in the .map file

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.

    best regards
    Georg