This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

stellaris LM3S8962 how to find the my entire source code size???

Other Parts Discussed in Thread: LM3S8962

i want to knw the entire source code size written on stellaris lm3s8962 controller using IAR ide workbench.

  • Hi,
    I moved your post from the MSP430 forum to the TM4C forum where you should be able to receive support.
    Mike
  • Hello Kavisaran,

    You may want to dump the content of the flash into a bin file and use a bin count utility to get the size. Note that if there are empty flash location in between programmed words, it will be counted as valid program location.

    Regards
    Amit
  • The size of the executable is also listed in the map file (<project_name>.map), which is usually listed in the "Output" folder of the project.

  • Hello f.m.

    Thanks for correcting me. I read it the other way...

    Regards
    Amit
  • And if you want the size of the source code (the question asked) rather than the binary (the question inferred) the simplest way on windows may be to copy the source to a separate directory and use the directory properties to find the size. I suggest copy just as the simplest way to filter out non source files.

    I suspect the question already answered is the one you meant to ask though.

    Robert
  • I suspect the question already answered is the one you meant to ask though.

    Quite correct. Reading and understanding post here is often troublesome. A little more thought/carefulness on the enquirer's side would be helpful. And I restrain myself from interpreting the lack of those ...

  • f. m. said:
    A little more thought/carefulness on the enquirer's side would be helpful

    And - equally true - NEVER to happen until, "Poster Guidelines" are installed & enforced...

  • hello Robert,

    coping only source code to the another folder and by checking its property i get the size of the entire file not the size of source code, for your information file size includes everything like comments etc.. but source code size is optimized during compilation it removes comments etc and size will be decreased, so the file size and source code size after compilation is totally different, so your answer is wrong.

    someone please help me with below questions.

    i want to know the source code size after optimization or after dumping the source code into the board, to be precise want to know how many bytes has been dumped into flash ROM, between in .map file i get information about ram and rom, but am confused with 2 things in the .map below is the part of info from my map file,
    7432 bytes of readonly code memory
    1592 bytes of readonly data memory
    692 bytes of readwrite data memory

    now my question is
    1) what is the difference btw readonly code memory and readonly data memory?????

    2) during dumping the code to the board i get another info in the debug window as "9024 bytes downloaded and verified"

    3) now for example if people say "7432 bytes of readonly code memory" is my source code size as per the .map file??? then what is this "9024 bytes downloaded and verified" which i get after dumping code to the board from the debug window????? and what is this "1,592 bytes of readonly data memory"

    4) from above observation which is the source code size??? and which is rom size?? and what is that info i got in debug window????

    please answer all the 4 questions one by one, for better clarity
  • someone please help me with below questions.

    i want to know the source code size after optimization or after dumping the source code into the board, to be precise want to know how many bytes has been dumped into flash ROM, between in .map file i get information about ram and rom, but am confused with 2 things in the .map below is the part of info from my map file,
    7432 bytes of readonly code memory
    1592 bytes of readonly data memory
    692 bytes of readwrite data memory

    now my question is
    1) what is the difference btw readonly code memory and readonly data memory?????

    2) during dumping the code to the board i get another info in the debug window as "9024 bytes downloaded and verified"

    3) now for example if people say "7432 bytes of readonly code memory" is my source code size as per the .map file??? then what is this "9024 bytes downloaded and verified" which i get after dumping code to the board from the debug window????? and what is this "1,592 bytes of readonly data memory"

    4) from above observation which is the source code size??? and which is rom size?? and what is that info i got in debug window????

    please answer all the 4 questions one by one, for better clarity
  • someone please help me with below questions.

    The term "readonly memory" refers to Flash.

    "code memory", as one might guess, are the Flash size occupied by actual routines/instructions, i.e. "code".

    And "readonly data" are constant data, which are also located in Flash to save precious RAM space. Think of constant arrays and strings that never change during runtime.

    "readwrite data" is the size of RAM occupied/used by your application. Since it is generated at runtime, and lost when powering off the MCU, there is nothing to "download" into RAM. Only the Flash (code and constant data) is downloaded and "flashed" to the (not so) read-only memory by the debugger or download tool.

    This whole procedure is slightly different from a PC, where everything is actually RAM, and all addresses are virtual. To understand the whole process, I suggest to search for documents about the linking stage of C compilers/toolchains in general, and for Cortex M controllers in particular. The Cortex M has a fixed memory map, and somehow the linker must map logical addresses (function names and variable names) to real addresses. The map file is a list of this mapping, and the part you cited is just the summary (memory occupation).

  • this is my entire map file, btw still and not conviced with the answer, u mean to say read only code + ready only data is my entire source code size???
    *******************************************************************************
    *** MESSAGES
    ***

    Warning[Lo011]: [stack usage analysis] the function "__iar_program_start" is a
    call graph root, but there are calls to it
    Warning[Lo008]: [stack usage analysis] at least one function appears to be
    uncalled. Example: "UARTIntHandler". A complete list of uncalled
    functions is in the map file.


    *******************************************************************************
    *** RUNTIME MODEL ATTRIBUTES
    ***

    CppFlavor = *
    __SystemLibrary = DLib


    *******************************************************************************
    *** PLACEMENT SUMMARY
    ***

    "A1": place at 0x00000000 { ro section .intvec };
    "P1": place in [from 0x00000000 to 0x0003ffff] { ro };
    "P2": place in [from 0x20000000 to 0x2000ffff] { rw, block CSTACK, block HEAP };

    Section Kind Address Size Object
    ------- ---- ------- ---- ------
    "A1": 0xf0
    .intvec const 0x00000000 0xf0 startup.o [1]
    - 0x000000f0 0xf0

    "P1": 0x2250
    .text ro code 0x000000f0 0x6a8 MSPL_C.o [1]
    .text ro code 0x00000798 0x4b0 MSPL_UserIf.o [1]
    .text ro code 0x00000c48 0x19c MSPL_RS485_Driver.o [1]
    .text ro code 0x00000de4 0x35e CSPL_Utils.o [1]
    .text ro code 0x00001142 0x2e copy_init3.o [5]
    .text ro code 0x00001170 0xdc uart.o [4]
    .text ro code 0x0000124c 0x3c4 sysctl.o [4]
    .text ro code 0x00001610 0x7c interrupt.o [4]
    .text ro code 0x0000168c 0x116 gpio.o [4]
    .text ro code 0x000017a2 0x26 Delay_ms.o [1]
    .text ro code 0x000017c8 0x384 rit128x96x4.o [1]
    .text ro code 0x00001b4c 0x14 memset.o [3]
    .text ro code 0x00001b60 0x6 ABImemclr4.o [5]
    .text ro code 0x00001b66 0xc memcpy.o [3]
    .text ro code 0x00001b72 0x22 zero_init3.o [5]
    .text ro code 0x00001b94 0x8 cpu.o [4]
    .text ro code 0x00001b9c 0x72 ssi.o [4]
    .rodata const 0x00001c0e 0x2 rit128x96x4.o [1]
    .text ro code 0x00001c10 0x66 ABImemset.o [5]
    .rodata const 0x00001c76 0x2 rit128x96x4.o [1]
    .text ro code 0x00001c78 0x32 ABImemset48.o [5]
    .text ro code 0x00001cac 0x76 ABImemcpy_unaligned.o [5]
    .rodata const 0x00001d24 0x1e0 rit128x96x4.o [1]
    .rodata const 0x00001f04 0x100 MSPL_C.o [1]
    .rodata const 0x00002004 0x100 MSPL_C.o [1]
    .text ro code 0x00002104 0x54 Modbus.o [1]
    .rodata const 0x00002158 0x50 rit128x96x4.o [1]
    .text ro code 0x000021a8 0x28 data_init.o [5]
    .iar.init_table const 0x000021d0 0x24 - Linker created -
    .text ro code 0x000021f4 0x1a cmain.o [5]
    .text ro code 0x0000220e 0x4 low_level_init.o [3]
    .text ro code 0x00002212 0x4 exit.o [3]
    .text ro code 0x00002218 0xa cexit.o [5]
    .text ro code 0x00002224 0x14 exit.o [6]
    .rodata const 0x00002238 0x14 Modbus.o [1]
    .rodata const 0x0000224c 0x14 Modbus.o [1]
    .rodata const 0x00002260 0x10 MSPL_RS485_Driver.o [1]
    .text ro code 0x00002270 0xe startup.o [1]
    .text ro code 0x0000227e 0xc cstartup_M.o [5]
    .rodata const 0x0000228c 0xc Modbus.o [1]
    .rodata const 0x00002298 0x4 rit128x96x4.o [1]
    .rodata const 0x0000229c 0x4 rit128x96x4.o [1]
    .rodata const 0x000022a0 0x0 zero_init3.o [5]
    .rodata const 0x000022a0 0x0 copy_init3.o [5]
    Initializer bytes const 0x000022a0 0xa0 <for P2 s0>
    - 0x00002340 0x2250

    "P2": 0x2b4
    P2 s0 0x20000000 0xa0 <Init block>
    .data inited 0x20000000 0x28 MSPL_UserIf.o [1]
    .data inited 0x20000028 0x28 MSPL_UserIf.o [1]
    .data inited 0x20000050 0x14 MSPL_UserIf.o [1]
    .data inited 0x20000064 0x14 MSPL_UserIf.o [1]
    .data inited 0x20000078 0x10 MSPL_UserIf.o [1]
    .data inited 0x20000088 0x10 MSPL_UserIf.o [1]
    .data inited 0x20000098 0x8 MSPL_UserIf.o [1]
    .bss zero 0x200000a0 0x100 MSPL_RS485_Driver.o [1]
    .bss zero 0x200001a0 0x8 rit128x96x4.o [1]
    .bss zero 0x200001a8 0x4 rit128x96x4.o [1]
    .bss zero 0x200001ac 0x1 MSPL_RS485_Driver.o [1]
    .bss zero 0x200001ad 0x1 MSPL_RS485_Driver.o [1]
    .bss zero 0x200001ae 0x1 MSPL_RS485_Driver.o [1]
    .bss zero 0x200001af 0x1 MSPL_RS485_Driver.o [1]
    .bss zero 0x200001b0 0x1 MSPL_RS485_Driver.o [1]
    .noinit uninit 0x200001b4 0x100 startup.o [1]
    - 0x200002b4 0x2b4


    *******************************************************************************
    *** INIT TABLE
    ***

    Address Size
    ------- ----
    Zero (__iar_zero_init3)
    1 destination range, total size 0x111:
    0x200000a0 0x111

    Copy (__iar_copy_init3)
    1 source range, total size 0xa0:
    0x000022a0 0xa0
    1 destination range, total size 0xa0:
    0x20000000 0xa0


    *******************************************************************************
    *** STACK USAGE
    ***

    Call Graph Root Category Max Use Total Use
    ------------------------ ------- ---------
    Program entry 848 848
    Uncalled function 856 864


    Program entry
    "__iar_program_start": 0x0000227f

    Maximum call chain 848 bytes

    "__iar_program_start" 0
    "__cmain" 0
    "main" 8
    "MSPL_RunModbus" 528
    "MSPL_ReadMbPdu" 24
    "MSPL_FlushBuffer" 8
    "MSPL_RS485_FlushBuffer" 264
    "memcpy" 8
    "__iar_unaligned___aeabi_memcpy" 0
    "__iar_unaligned___aeabi_memcpy4" 8

    Uncalled function
    "UARTIntHandler": 0x00000c49

    Maximum call chain 8 bytes

    "UARTIntHandler" 8
    "UARTCharGetNonBlocking" 0

    Uncalled function
    "FaultISR" in startup.o [1]: 0x0000227b

    Maximum call chain 0 bytes

    "FaultISR" in startup.o [1] 0

    Uncalled function
    "IntDefaultHandler" in startup.o [1]: 0x0000227d

    Maximum call chain 0 bytes

    "IntDefaultHandler" in startup.o [1] 0

    Uncalled function
    "NmiSR" in startup.o [1]: 0x00002279

    Maximum call chain 0 bytes

    "NmiSR" in startup.o [1] 0

    Uncalled function
    "ResetISR": 0x00002271

    Maximum call chain 856 bytes

    "ResetISR" 8
    "__iar_program_start" 0
    "__cmain" 0
    "main" 8
    "MSPL_RunModbus" 528
    "MSPL_ReadMbPdu" 24
    "MSPL_FlushBuffer" 8
    "MSPL_RS485_FlushBuffer" 264
    "memcpy" 8
    "__iar_unaligned___aeabi_memcpy" 0
    "__iar_unaligned___aeabi_memcpy4" 8


    *******************************************************************************
    *** MODULE SUMMARY
    ***

    Module ro code ro data rw data
    ------ -------
    \my porting\modbusslavestellaris\Debug\Obj: [1]
    CSPL_Utils.o 862
    Delay_ms.o 38
    MSPL_C.o 1 704 512
    MSPL_RS485_Driver.o 412 16 261
    MSPL_UserIf.o 1 200 160 160
    Modbus.o 84 52
    rit128x96x4.o 900 572 12
    startup.o 14 240 256
    ------------------------------------------------
    Total: 5 214 1 552 689

    command line: [2]
    ------------------------------------------------
    Total:

    dl7M_tln.a: [3]
    exit.o 4
    low_level_init.o 4
    memcpy.o 12
    memset.o 20
    ------------------------------------------------
    Total: 40

    driverlib-cm3.a: [4]
    cpu.o 8
    gpio.o 278
    interrupt.o 124
    ssi.o 114
    sysctl.o 964
    uart.o 220
    ------------------------------------------------
    Total: 1 708

    rt7M_tl.a: [5]
    ABImemclr4.o 6
    ABImemcpy_unaligned.o 118
    ABImemset.o 102
    ABImemset48.o 50
    cexit.o 10
    cmain.o 26
    copy_init3.o 46
    cstartup_M.o 12
    data_init.o 40
    zero_init3.o 34
    ------------------------------------------------
    Total: 444

    shb_l.a: [6]
    exit.o 20
    ------------------------------------------------
    Total: 20

    Gaps 6 4 3
    Linker created 36
    ----------------------------------------------------
    Grand Total: 7 432 1 592 692


    *******************************************************************************
    *** ENTRY LIST
    ***

    Entry Address Size Type Object
    ----- ------- ---- ---- ------
    .iar.init_table$$Base 0x000021d0 -- Gb - Linker created -
    .iar.init_table$$Limit 0x000021f4 -- Gb - Linker created -
    ?main 0x000021f5 Code Gb cmain.o [5]
    CPUcpsie 0x00001b95 0x8 Code Gb cpu.o [4]
    CSPL_16BitIntsToBuffer 0x00000eb9 0x3a Code Gb CSPL_Utils.o [1]
    CSPL_32BitIntsToBuffer 0x00000ef3 0x54 Code Gb CSPL_Utils.o [1]
    CSPL_BufferTo16BitInts 0x00000fe7 0x40 Code Gb CSPL_Utils.o [1]
    CSPL_BufferTo32BitInts 0x00001027 0x6c Code Gb CSPL_Utils.o [1]
    CSPL_BufferToFloats 0x00001093 0x86 Code Gb CSPL_Utils.o [1]
    CSPL_BufferToString 0x00001119 0x2a Code Gb CSPL_Utils.o [1]
    CSPL_FloatsToBuffer 0x00000f47 0x76 Code Gb CSPL_Utils.o [1]
    CSPL_PackBits 0x00000de5 0x66 Code Gb CSPL_Utils.o [1]
    CSPL_StringToBuffer 0x00000fbd 0x2a Code Gb CSPL_Utils.o [1]
    CSPL_UnPackBits 0x00000e4b 0x6e Code Gb CSPL_Utils.o [1]
    Coil 0x20000078 0x10 Data Gb MSPL_UserIf.o [1]
    DI 0x20000088 0x10 Data Gb MSPL_UserIf.o [1]
    Delay_ms 0x000017a3 0x26 Code Gb Delay_ms.o [1]
    FaultISR 0x0000227b 0x2 Code Lc startup.o [1]
    GPIODirModeSet 0x0000168d 0x28 Code Gb gpio.o [4]
    GPIOPadConfigSet 0x000016b5 0x98 Code Gb gpio.o [4]
    GPIOPinTypeGPIOOutput 0x00001757 0xa Code Gb gpio.o [4]
    GPIOPinTypeSSI 0x0000177b 0x14 Code Gb gpio.o [4]
    GPIOPinTypeUART 0x0000178f 0x14 Code Gb gpio.o [4]
    GPIOPinWrite 0x0000174d 0x6 Code Gb gpio.o [4]
    GetBytesInBuffer 0x00000c3d 0xc Code Gb MSPL_UserIf.o [1]
    HoldingReg 0x20000000 0x28 Data Gb MSPL_UserIf.o [1]
    InputReg 0x20000028 0x28 Data Gb MSPL_UserIf.o [1]
    IntDefaultHandler 0x0000227d 0x2 Code Lc startup.o [1]
    IntEnable 0x0000161b 0x56 Code Gb interrupt.o [4]
    IntMasterEnable 0x00001611 0xa Code Gb interrupt.o [4]
    MSPL_AppendCrc 0x0000074b 0x46 Code Gb MSPL_C.o [1]
    MSPL_CheckCrc 0x000006f5 0x56 Code Gb MSPL_C.o [1]
    MSPL_CheckSlaveId 0x000007a7 0x10 Code Gb MSPL_UserIf.o [1]
    MSPL_DeInit 0x000000f9 0x8 Code Gb MSPL_C.o [1]
    MSPL_FlushBuffer 0x00000c31 0xc Code Gb MSPL_UserIf.o [1]
    MSPL_Init 0x000000f1 0x8 Code Gb MSPL_C.o [1]
    MSPL_ProcessMbReqAdu 0x0000023f 0x9a Code Gb MSPL_C.o [1]
    MSPL_RS485_FlushBuffer 0x00000d6b 0x48 Code Gb MSPL_RS485_Driver.o [1]
    MSPL_RS485_GetNumOfBytesInBuffer
    0x00000d63 0x8 Code Gb MSPL_RS485_Driver.o [1]
    MSPL_RS485_Init 0x00000c8d 0x5c Code Gb MSPL_RS485_Driver.o [1]
    MSPL_RS485_Read 0x00000ce9 0x42 Code Gb MSPL_RS485_Driver.o [1]
    MSPL_RS485_Write 0x00000d2b 0x38 Code Gb MSPL_RS485_Driver.o [1]
    MSPL_ReadCoilsOrDiscreteInputs
    0x0000037d 0xbe Code Gb MSPL_C.o [1]
    MSPL_ReadMbPdu 0x000002d9 0xa4 Code Gb MSPL_C.o [1]
    MSPL_ReadPacket 0x00000101 0x42 Code Gb MSPL_C.o [1]
    MSPL_ReadPort 0x00000bad 0x56 Code Gb MSPL_UserIf.o [1]
    MSPL_ReadRegisters 0x0000056b 0xa2 Code Gb MSPL_C.o [1]
    MSPL_ReadUserData 0x00000965 0x12a Code Gb MSPL_UserIf.o [1]
    MSPL_RunModbus 0x00000143 0xfc Code Gb MSPL_C.o [1]
    MSPL_UserDeInit 0x000007a3 0x4 Code Gb MSPL_UserIf.o [1]
    MSPL_UserInit 0x00000799 0xa Code Gb MSPL_UserIf.o [1]
    MSPL_ValidateAddresses 0x000007b7 0x1ae Code Gb MSPL_UserIf.o [1]
    MSPL_WriteCoils 0x0000043b 0x130 Code Gb MSPL_C.o [1]
    MSPL_WritePort 0x00000c03 0x2e Code Gb MSPL_UserIf.o [1]
    MSPL_WriteRegisters 0x0000060d 0xe8 Code Gb MSPL_C.o [1]
    MSPL_WriteUserData 0x00000a8f 0x100 Code Gb MSPL_UserIf.o [1]
    NmiSR 0x00002279 0x2 Code Lc startup.o [1]
    RIT128x96x4Clear 0x000018ef 0x48 Code Gb rit128x96x4.o [1]
    RIT128x96x4Enable 0x00001a2d 0x58 Code Gb rit128x96x4.o [1]
    RIT128x96x4Init 0x00001a85 0x9c Code Gb rit128x96x4.o [1]
    RIT128x96x4StringDraw 0x00001937 0xf6 Code Gb rit128x96x4.o [1]
    RITWriteCommand 0x000017c9 0x94 Code Lc rit128x96x4.o [1]
    RITWriteData 0x0000185d 0x92 Code Lc rit128x96x4.o [1]
    Region$$Table$$Base 0x000021d0 -- Gb - Linker created -
    Region$$Table$$Limit 0x000021f4 -- Gb - Linker created -
    ResetISR 0x00002271 0x8 Code Gb startup.o [1]
    SSIBusy 0x00001c05 0xa Code Gb ssi.o [4]
    SSIConfigSetExpClk 0x00001b9d 0x46 Code Gb ssi.o [4]
    SSIDataPut 0x00001bfb 0xa Code Gb ssi.o [4]
    SSIDisable 0x00001bef 0xc Code Gb ssi.o [4]
    SSIEnable 0x00001be3 0xc Code Gb ssi.o [4]
    SysCtlClockGet 0x000013b3 0x19a Code Gb sysctl.o [4]
    SysCtlClockSet 0x0000129d 0x116 Code Gb sysctl.o [4]
    SysCtlDelay 0x00001295 0x8 Code Gb sysctl.o [4]
    SysCtlPeripheralEnable 0x0000124d 0x1a Code Gb sysctl.o [4]
    UARTBusy 0x0000122f 0xa Code Gb uart.o [4]
    UARTCharGetNonBlocking 0x0000120f 0xa Code Gb uart.o [4]
    UARTCharPutNonBlocking 0x0000121f 0x10 Code Gb uart.o [4]
    UARTCharsAvail 0x000011ff 0x6 Code Gb uart.o [4]
    UARTConfigSetExpClk 0x00001171 0x4c Code Gb uart.o [4]
    UARTDisable 0x000011d7 0x1e Code Gb uart.o [4]
    UARTEnable 0x000011bd 0x1a Code Gb uart.o [4]
    UARTIntClear 0x00001249 0x4 Code Gb uart.o [4]
    UARTIntEnable 0x00001239 0x6 Code Gb uart.o [4]
    UARTIntHandler 0x00000c49 0x44 Code Gb MSPL_RS485_Driver.o [1]
    UARTIntStatus 0x0000123f 0xa Code Gb uart.o [4]
    UART_NumBytesInBuffer 0x200001ac 0x1 Data Gb MSPL_RS485_Driver.o [1]
    UART_NumBytesToTx 0x200001af 0x1 Data Gb MSPL_RS485_Driver.o [1]
    UART_RxBuffer 0x200000a0 0x100 Data Gb MSPL_RS485_Driver.o [1]
    UART_RxBuffer_ReadPtr 0x200001ad 0x1 Data Gb MSPL_RS485_Driver.o [1]
    UART_RxBuffer_WritePtr 0x200001ae 0x1 Data Gb MSPL_RS485_Driver.o [1]
    UART_TxBuffer_Ptr 0x200001b0 0x1 Data Gb MSPL_RS485_Driver.o [1]
    __aeabi_memclr4 0x00001b61 Code Gb ABImemclr4.o [5]
    __aeabi_memset 0x00001c11 Code Gb ABImemset.o [5]
    __cmain 0x000021f5 Code Gb cmain.o [5]
    __exit 0x00002225 0x14 Code Gb exit.o [6]
    __iar_Memset 0x00001c11 Code Gb ABImemset.o [5]
    __iar_Memset4_word 0x00001c79 Code Gb ABImemset48.o [5]
    __iar_Memset8_word 0x00001c79 Code Gb ABImemset48.o [5]
    __iar_Memset_word 0x00001c19 Code Gb ABImemset.o [5]
    __iar_copy_init3 0x00001143 0x2e Code Gb copy_init3.o [5]
    __iar_data_init3 0x000021a9 0x28 Code Gb data_init.o [5]
    __iar_program_start 0x0000227f Code Gb cstartup_M.o [5]
    __iar_unaligned___aeabi_memcpy
    0x00001cad Code Gb ABImemcpy_unaligned.o [5]
    __iar_unaligned___aeabi_memcpy4
    0x00001ccd Code Gb ABImemcpy_unaligned.o [5]
    __iar_unaligned___aeabi_memcpy8
    0x00001ccd Code Gb ABImemcpy_unaligned.o [5]
    __iar_zero_init3 0x00001b73 0x22 Code Gb zero_init3.o [5]
    __low_level_init 0x0000220f 0x4 Code Gb low_level_init.o [3]
    __vector_table 0x00000000 0xf0 Data Gb startup.o [1]
    _call_main 0x00002201 Code Gb cmain.o [5]
    _exit 0x00002219 Code Gb cexit.o [5]
    _main 0x0000220b Code Gb cmain.o [5]
    auchCRCHi 0x00001f04 0x100 Data Gb MSPL_C.o [1]
    auchCRCLo 0x00002004 0x100 Data Gb MSPL_C.o [1]
    exit 0x00002213 0x4 Code Gb exit.o [3]
    floatValue 0x20000050 0x14 Data Gb MSPL_UserIf.o [1]
    g_pucBuffer 0x200001a0 0x8 Data Lc rit128x96x4.o [1]
    g_pucFont 0x00001d24 0x1e0 Data Lc rit128x96x4.o [1]
    g_pucRIT128x96x4HorizontalInc
    0x00001c76 0x2 Data Lc rit128x96x4.o [1]
    g_pucRIT128x96x4Init 0x00002158 0x50 Data Lc rit128x96x4.o [1]
    g_pucRIT128x96x4VerticalInc
    0x00001c0e 0x2 Data Lc rit128x96x4.o [1]
    g_pulEnRegs 0x00001678 0x14 Data Lc interrupt.o [4]
    g_pulRCGCRegs 0x00001598 0xc Data Lc sysctl.o [4]
    g_pulXtals 0x000015a4 0x6c Data Lc sysctl.o [4]
    g_ulSSIFlags 0x200001a8 0x4 Data Lc rit128x96x4.o [1]
    longRegValue 0x20000064 0x14 Data Gb MSPL_UserIf.o [1]
    main 0x00002105 0x54 Code Gb Modbus.o [1]
    memcpy 0x00001b67 0xc Code Gb memcpy.o [3]
    memset 0x00001b4d 0x14 Code Gb memset.o [3]
    pulStack 0x200001b4 0x100 Data Lc startup.o [1]
    strvalue 0x20000098 0x8 Data Gb MSPL_UserIf.o [1]



    [2] = command line
    [3] = dl7M_tln.a
    [4] = driverlib-cm3.a
    [5] = rt7M_tl.a
    [6] = shb_l.a

    7 432 bytes of readonly code memory
    1 592 bytes of readonly data memory
    692 bytes of readwrite data memory

    Errors: none
    Warnings: 2
  • Sorry, but I don't have the time for a lengthy linie-by-line explanation of the map file.

    I'm not a TI employee, and don't get paid for the time I spend on this forum.

  • kaviarasan m said:
    this is my entire map file, btw still and not conviced with the answer, u mean to say read only code + ready only data is my entire source code size???

    Almost

    The flash will contain the following

    • Executable code that is run from flash
    • Constant data
    • compiler overhead (Ie if it has to generate constants for some reason)
    • Initialization tables (for initial values assigned to modifiable variables)
    • If you run some code from ram, then the flash will also keep a copy of that.

    Like f.m., I'm not going to read through a map file. Is there some reason you think the above does not account for the usage?

    Robert 

  • May I note that both posters f.m. & Robert are "pros" - generously provide much time/effort here in support of others - too often unthanked.   

    I take this opportunity to thank, "f.m. and Robert."  

    Indeed the map file you present is large, long and forbidding.   (that's a normal, human reaction - is it not?)

    Might I suggest your creation of a far smaller, simpler program - designed expressly to, "Answer your file size questions."   Limiting the size will (greatly) ease the analysis efforts demanded/expended - both by you and your forum "helpers."   In addition - as f.m. has detailed - you can experiment by adding a known number of constants and arrays - and then discover, "Where & how" they're stored.

    KISS is a (too little) byword practiced here.   (Vendor will not touch w/proverbial "ten foot pole.")   Yet if my suggestion has merit - it is the "Unlocking of Understanding via the creation of a vastly more manageable (battlefield)" - aka KISS.  You will not be disappointed...