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.

CCS/CC2640: CC2640 single-image (Stack+App) with off-chip OAD capability

Part Number: CC2640


Tool/software: Code Composer Studio

Hello.

I need an example single-image off-chip OAD CCS project, for the CC2640, for SDK version 2.20.00.49.

I require that project to be of the single-image type, meaning the Stack and App are to be linked to a single image, while still having OAD capability.

That is because using the split-image configuration (where the stack and app are 2 different loadable binaries) takes too much RAM and internal-FLASH, leaving too little free space for my purposes.

The split-image SBP-OAD example project I tested for code and RAM usage, was this:

C:\ti\simplelink_cc2640r2_sdk_2_20_00_49\examples\rtos\CC2640R2_LAUNCHXL\blestack\simple_peripheral_oad_offchip

I already have this capability on the CC2642, but since TI delayed the CC2642 launch date from Q3/2018 to Q2/2019, my company needs to down-port our solution to the CC2640.

It is hard enough squizzing 160KB of code to 128KB, and 40KB of RAM to 28 KB, without coping with the RAM/Code cost of the split-image configuration.

I hope you can assist us.

  • Hi Koby,

    Try using AUX RAM as RAM. See, documentation how to do that. You can also try reducing code size by removing redundant code or sizing down BLE Services/Profiles.

    -kel
  • I know about the AUX RAM, and using those 2KB comes with a cost of slower execution and higher power consumption.

    Reducing code size and RAM size by removing features, that is always the most painful option, and the last resort.

    I really hope for a single-image SBP OAD project for the CC2640. Isn't there one?

  • Hi Koby,

    I have encountered this problem before at SDK v1.40, which results to slow OAD and other problems. The code size and ram usage was a little bit beyond the boundary. Using AUX as RAM solved some problems. But the App code size was still big. The solution to that was to implement a unique OAD. But then later on TI Implemented the Enhanced OAD. So, need to use the Enhanced OAD. The final solution is to combine BLE Profiles into one. Example the Device Information Service uses lots of RAM. So, merge some characteristics of Device Information Service and some from Battery Service into one generic BLE Profile.

    Anyway, if reducing the code size does not hep. Then your application is out of spec for CC2640R2F. You might want to consider doing Host MCU(with large internal flash) + CC2640R2F(BLE Connectivity).

    -kel
  • Hi Koby,

    I see that you have posted another thread here:

    I will support you on that thread.

    In summary, the combined project doesn't exist for CC2640R2. This is something that is currently in the R&D backlog but is a feature that has been requested, so they are aware of it.

    Because of your situation, I will try to guide you to make this happen.

    See you on your other thread.