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.

TI-RTOS empty project memory footprint

Other Parts Discussed in Thread: TM4C123GH6PM

Dear friends,

I started off with a TI-RTOS empty minimal project for TM4C123G Launchpad.

Having

    - No logging is enabled

    - No assert checking is enabled

    - No Kernel Idle task

    - Non-Instrumented driver modules are used

    - No stack overflow checking

my empty project's executable takes around 1.7 MB after being compiled. Having all options from above enabled it takes around 2.2 MB.

I am frustrated. My goal is to implement an AHRS module for inertial navigation. I have chosen this board for its compliancy with the SensorHub Booster Pack and TI-RTOS for its agility after having read an introductory article.

How can I make meaningful applications if an empty minimal TI-RTOS project doesn't fit into the micro-controller?

Did I miss something and/or did something wrong?

With kind regards,

Alex.

 

  • A little comment to the post above.

    After having heavily cut the vast majority of SYS/BIOS components my nearly empty project build reached 1,584,984 bytes which is still more than 6 times larger than 256 Kb TM4C123GH6PM flash available. I'll have to enable some of these components in future such as HWI, SWI and Queues and I'll have to write more code. Therefore my build size will only grow.

    Below is my *.cfg file attached. Can anyone give any hint on how to reduce memory footprint to a larger extent?

    8233.ahrs.cfg

  • Alexander Novinskiy said:
    After having heavily cut the vast majority of SYS/BIOS components my nearly empty project build reached 1,584,984 bytes which is still more than 6 times larger than 256 Kb TM4C123GH6PM flash available.

    How are you determining the size of the SYS/BIOS application?

    The size of the .out file is larger than the memory requirement for the actual target, since the .out file contains some sections which are not loaded on the target, e.g. debug information.

    The linker .map file or CCS Memory Allocation view report the actual flash and RAM sizes required on the target device.

    [The CCS Memory Allocation view is only supported when the TI ARM compiler is used]

  • You are right. I was wrong taking .out file size for the size of the embedded module itself. Now I see that my program takes only 22.3 Kb on flash and 11.3 Kb in SRAM. Many thanks for your answer.