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.

SIMPLELINK-CC13XX-CC26XX-SDK: Persisting Osal-snv area during application flash

Part Number: SIMPLELINK-CC13XX-CC26XX-SDK
Other Parts Discussed in Thread: UNIFLASH, SYSCONFIG

Tool/software:

How to setup the project or linker commands (TiArmClang) so that flashing the application (with Uniflash or with serial bootloader) using the .bin or .hex file does not erase the Osal_snv area and keep the user data inside ?

  

  • Hi Frederic,

    Which SimpleLink F2 device are you inquiring about?

    If you have a hex image, then it should be relatively simple to ensure that your command linker file does not reference the NV memory space during any SECTIONS allocations, and thus the memory is "unused" in the image and so long as "Necessary Sectors Only" are selected in Uniflash for device erase then the NV flash will be retained during programming.  I do this frequently to keep network settings in between debugging different images.

    The bin image is more difficult as these do not have holes in flash memory, and several CC13XX / CC26XX devices have a CCFG stored at the end of flash, and thus the binary pads the NV flash memory area.  You could either remove the CCFG from being programmed (from the command linker file and SysConfig, check the generated map file afterwards) or have two separate binaries in this instance, but this would require additional work and expertise to your project. 

    Commands are more difficult when using the serial bootloader as you would have to use CMD_SECTOR_ERASE exclusively instead of COMMAND_BANK_ERASE.  The conditions around binary images still applies and must be considered.

    Regards,
    Ryan