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.

Reducing memory usage of TI-15.4-STACK on CC1310

Other Parts Discussed in Thread: CC1310

Tool/software: TI-RTOS

Hello everyone,

i am currently working on an application using the CC1310 (128Kb Flash) with the TI-15.4-STACK, RTOS, and Programming with the Code Composer Studio v7.0.0.00042. I'm running out of flash memory with my application, being not able to implement wanted features. So far i have deactivated (undefined) all unnecessary features such as Frequency Hopping mode, Mac Security, etc.

My application is based on the sensor_cc13xx example.


I want to free as much memory as possible. All ideas welcome (disable RTOS features? Reducing reserved space for tasks? Compiler optimizations? Project settings? ).


Best Regards,

Patrick


 

  • Which Application are you running out of memory on? There's not an easy way to free flash up, but it can be done with some trade-offs. What is your application?

    ~Brocklobsta
  • Are you running out of RAM or flash?
  • Hello Brocklobsta,

    My application is based on the sensor_cc13xx example and beside that it manages a display.

    Best regards
    Patrick
  • Hello Chris Carter,

    i run out of flash. RAM is also low but the my main objective is to free up flash.

    Best regards
    Patrick
  • if you can zip and share your project I would be happy to take a look.
    without seeing your whole project, here is what I can think of to try:
    In the compiler you can move the options towards smaller code slower performance.
    Remove any sprintf code that was in the project for debug.
    If you have a lot of strings try minimizing them or if you can move them out into an eeprom or external flash.
    diplay short codes instead of text wherever you can.
    If you have a large amount of text you can compress it but the compression code will take up space too
    Some displays have built in storage for common objects and strings, check the documentation for the display you are using
    Go through your code with a fine tooth comb and check for duplicate logic that you can modularize

    Sounds like you've already cut stuff your not using out, but double check you dont have any objects that you dont need, or header files you dont need.

    As a last resort you could duplicate header files and remove defines you dont need. This will make it difficult to update the RTOS or stack in the future though
  • They're aren't any easy ways to squeeze extra flash out, but disabling UART and outputting debug information over your display might help.

    ~Brocklobsta
  • Patrick. as Brocklobsta points out, there isn't a guaranteed and easy way to reduce you're footprint. but if you're still struggling, check this out: e2e.ti.com/.../2130830
    I ran into trouble with the linker not splitting up the text section and found a reasonable solution. There are trade offs, but may work to squeeze a little extra free space out.

    I've been using the 32k variant and this allowed me to get enough space to finish with room for extra features.
  • There is a new installer with memory optimizations which you can download from and refer to the developers guide  for more details on saving flash or ram.