FOTA partitions and reading embedded code from chip

Hello, I have question about RSL10SIP fota.
1- I want to remove some partition update which is NVR4 to save my some data on RSL10SIP. Is it possible ?
2- I will make 2500 product but I need mass production hex file. When I read the code which is embedded on RSL10SIP with J-FLASH or RSL10 flash loader , it reads everything, such as MAC ID , NVR1 etc. If I upload reading code , the devices MAC ID was same with readed device. How can I come up with this ?
I read this also and tried. FOTA standalone image automated
Can someone send me document step-by-step to make this?

Best Regards,
Ömür Ceran

Hi @ceran.omur,

Unfortunately, there is no way to repartition the Flash memory to also include NVR4 in the standard Flash Area. This is because the memory addresses do not align properly to continue execution over the edge of NVR4 to Main Flash, and also because there is not way to tell the startup code to start firmware execution from within NVR4.

Given the Main Flash is already 384kB, and NVR4 is only 1kB (and 1kB of duplicate redundancy), it might be more efficient to use size focused optimization when building the firmware.

The recommended approach for this type of programming is not to overwrite the NVR regions with duplicate data. Instead, you should write the device firmware in a way that allows it to read the unique information from the NVR. There will therefore be 2 different types of firmware/data in your program.

  1. A generalized operating firmware that will read the unique information from the NVR and use it while executing. For example, this firmware will read the unique BLE and MAC Addresses from NVR and use this information to execute the firmware. This firmware will be built to generate a standard .hex file that can be programmed onto every device in the main flash region (leaving the NVR unchanged).
  2. A set of unique data within the NVR that the generalized firmware can read. For example, you can write a J-Link script that will automatically write a unique BLE Address and Security Keys onto the RSL10 NVR3 area. Each time the script is run, it can increment or alter the previous Address and Keys such that each device will have a different set of values. When the generalized firmware is run, it will read these unique values and use them in the firmware execution.

Thank you for using our Community Forum.

1 Like