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.

TM4C1294NCPDT: Application inquiry

Part Number: TM4C1294NCPDT
Other Parts Discussed in Thread: MSP432E401Y,

Hello Team,

My customer have a freeRTOS based application running on MSP432E401Y microcontroller. 

This application is migrated now to tiva controller TM4C1294NCPDT.

Some major differences were found in the memory allocation. For example, the app_custom_post.obj memory allocation for TIVA is 12,608KB whereas for MSP it is only 8,448KB. There is no code differences in the app_custom_post,c files. Almost all files are common for both the platforms.

Query:

What is the reason for the difference in memory allocation? 

Overall we have observed that flash memory usage for MSP based application is 73%, whereas TIVA - 80%. Please find attached the snapshots of memory allocation.

Library versions used:

simplelink_msp432e4_sdk_3_20_00_10

TivaWare_C_Series-2.1.4.178

CCS version 10.2.0.00009
Regards,
Renan
  • HI,

      Do you have the identical compiler version and the same compiler optimization level? If there is any difference, then the obj file will be different. If any C files reference TivaWare library vs. SimpleLink then the obj will certainly be different. First check if same compiler version and same optimization level are used. 

  • Hello Charles,

    Thanks for the quick response.
    The compiler version and optimization level are the same for both projects.
    Are there any other specific differences that can be checked?

    Regards,

    Renan

  • I will forward your question to CCS team and hopefully they will have some clues and tips to troubleshoot.  

  • For each project, please follow these directions.  Please rebuild the entire project.  One way to do that is to right-click on the name of the project and select Rebuild Project.  Then save the contents of the Console (not Problems) view to a text file.  Use the icon named Copy Build Log.  

    Create a zip file which contains both of those log files, plus the linker map file from each project.  Please attach that zip file to your next post.

    Thanks and regards,

    -George

  • Hello George,

    Please find attached the console and linker map files for both the project

    console and linker.zip

    Regards,

    Renan

  • The big difference is that the MSP build uses the compiler option --gen_func_subsections=on, and the Tiva build does not.  This option puts each function in its own section.  If a function is never called, it is removed from the build.  Thus, the Tiva build contains many functions are not called, and the code for these functions takes up space in memory.

    I also notice that both builds have disabled optimization.  If you care about reducing code size, then set --opt_level at the highest setting you can, ideally --opt_level=4.  In combination with that, use --opt_for_speed=1 or --opt_for_speed=0 to tell the compiler that code size is more important than speed.

    Thanks and regards,

    -George