This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Serial number during FOTA

Hi,

I have already implemented a full project on NRF52840 and all is working well.

Now I need to implement FOTA through BLE.

I have 4 questions please.

1. Can I program the serial number using FOTA ?

2. If the answer is negative for the first question, if already there is a serial number ( at address 0xFFFF0) FOTA process will erase it ?

3. Can the Bootloader and the Bootloader settings reach the address 0xFFFF0 that is already used for the serial number?

4. Is there any section that is already assigned  for the serial number use? if yes, until now we programmed the serial number using SEGGERs tool for production, can we still use it to program the serial number to the new address you suggested ?

Best Reagrds

JK

Parents
  • Hi,

    1. Giving each device a serial number through a FOTA BLE update is not a good idea.

    2. The FOTA process will erase the full flash page containing the bootloader settings file. This is due to how flash works. The full page needs to be erased as part of updating its contents.

    3. The issue of overwriting 0xFFFF0 is not the main issue. The issue is the value will get erased during the update process regardless.

    4. There are several addresses in UICR that are made specifically for this purpose. See the CUSTOMER fields, from address 0x10001080 upwards on the nRF52840. They get programmed the same way as you program anything else onto the SoC using a Segger programmer.

    Note also that there is a unique device identifier (DEVICEID) in the FICR flash page, written by us during production. Depending on your use case, using the value already in FICR may be just as good a solution as writing your own ID in UICR.

    Regards,
    Terje

Reply
  • Hi,

    1. Giving each device a serial number through a FOTA BLE update is not a good idea.

    2. The FOTA process will erase the full flash page containing the bootloader settings file. This is due to how flash works. The full page needs to be erased as part of updating its contents.

    3. The issue of overwriting 0xFFFF0 is not the main issue. The issue is the value will get erased during the update process regardless.

    4. There are several addresses in UICR that are made specifically for this purpose. See the CUSTOMER fields, from address 0x10001080 upwards on the nRF52840. They get programmed the same way as you program anything else onto the SoC using a Segger programmer.

    Note also that there is a unique device identifier (DEVICEID) in the FICR flash page, written by us during production. Depending on your use case, using the value already in FICR may be just as good a solution as writing your own ID in UICR.

    Regards,
    Terje

Children
No Data
Related