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.

CC2340R5: Flash Partition Corruption During OAD on CC2340R53

Part Number: CC2340R5
Other Parts Discussed in Thread: SYSCONFIG

Hi Team,
 
We are using the CC2340R53 in our product, and as part of our product requirements we have created a 2 KB (0x800 bytes) flash partition dedicated solely for storing device configuration data.
We have updated the linker (.cmd) file as well as SysConfig to accommodate this custom partition.
 
The partition works correctly under normal conditions. However, when an OAD update is in progress and the device is powered off, we occasionally observe corruption in the device configuration partition.
This issue appears intermittently and only in scenarios where power is removed during the OAD process.
 
Below are the details of all flash partitions for reference:
 
MCU Boot:
  Start = 0x00000
  End   = 0x03FFF
 
Persistence Application:
  Start = 0x04000
  End   = 0x36FFF
 
User Application:
  Start = 0x37000
  End   = 0x7B7FF
 
Device Config Partition:
  Start = 0x7B800
  End   = 0x7BFFF
 
NVS:
  Start = 0x7C000
  End   = 0x7FFFF

The SDK version which we are using is SimpleLink Low Power F3 SDK (version 8.10.01.02 .
 
Could you please help us understand why this corruption occurs and suggest the correct way to protect or handle this configuration partition during OAD?
 
Thanks,
Vatsal
 
 
  • Hello Vatsal,

    When you perform this OAD process, do you only target the configuration data or the user application as well? The last one doesn't get corrupted? I think this type of corruption due to power loss would be expected and you need to implement a mechanism that allows your application to check the integrity of the updated configuration image after the OAD process has ended or once the device boots up again, could be in a form of a CRC in the image header. In case the data is corrupted it can roll-back to a old version of it (backup) and/or attempt to perform the OAD procedure again. 

    Hope this helps.

    David.