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.

CC2745R10-Q1: CC2745 Flash Memory Erase Behavior When Programming via CCS

Part Number: CC2745R10-Q1
Other Parts Discussed in Thread: UNIFLASH

Dear TI Support Team,

I am working with the CC2745 device using Code Composer Studio (CCS) for firmware development.

I observed the following behavior related to Flash memory:

When the device is reset using:

Power reset

Hardware reset pin

Software reset

→ Flash memory content remains intact and persistent.

However, when I flash/program the firmware using CCS (Load Program / Debug), the Flash memory contents are erased and return to default values (0xFF).

I verified this behavior not only in my application but also using TI reference examples, and the behavior is the same in all cases.

From my understanding, CCS performs a mass erase before programming, which causes loss of user data such as NVS or configuration stored in Flash.

My Questions:

Is this mass erase behavior by CCS the recommended and expected behavior for CC2745?

What is the recommended method to preserve NVS / user data while reprogramming firmware during development?

Is there a preferred CCS configuration or linker memory layout to safely protect NVS regions from being erased?

In production firmware update scenarios, what is the best practice to ensure Flash user data is not lost?

My Use Case:

I am storing persistent configuration data in Flash, and I want to ensure:

Data survives power reset and system reset (which is working correctly).

Data is not unintentionally erased during firmware reprogramming or future firmware update mechanisms.

Kindly guide on the best recommended approach from TI for managing persistent Flash data on CC2745.

Thank you for your support.

  • Hello,

    Is this mass erase behavior by CCS the recommended and expected behavior for CC2745?

    Mass erase means removing all memory from the device. This is expected when doing a mass erase.

    What is the recommended method to preserve NVS / user data while reprogramming firmware during development?

    I'm not aware of any ways to avoid the NVS region being erased during a mass erase. It really depends on how you are reprogramming the device (i.e. Uniflash will do a mass erase, and CCS will too). If you are using your own flash bootloader or equivalent then you can avoid this from happening.

    Data is not unintentionally erased during firmware reprogramming or future firmware update mechanisms.

    If you're using OAD or writing your own flash bootloader, then you must implement this. We offer hardware APIs that can be leveraged to implement. You can find these here:

    CC27xxDriverLibrary: [flash.h] Flash

    The current OAD projects should not delete the NVS region, and if you do decide to write your own flash bootloader, then you can avoid the NVS region addresses when reprogramming.

    Best,

    Nima Behmanesh