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

How to update to Softdevice S212?

Hi, I have an Adafruit Feather52 board which is preloaded with a serial DFU bootloader and the S132 Softdevice, of which I also have the merged Hex file. I would just like to update to the Softdevice S212 (ANT stack), but also preserve the existing bootloader in flash. I have tried everything but nothing works. It seems as if always the bootloader gets erased from memory as well when I flash the downloaded Softdevice. Is there a way to just simply flash only the Softdevice by itself? I downloaded S212 V4.02 (ANT_s212_nrf52_4.0.2) from the official thisisant.com site. I have a Segger J-link, ST-LINK V2 and all available tools to do flashing/programming. I can also always recover the board through the J-link with the original bootloader file provided by Adafruit. Any hints and tips are more than welcome! Peter

Parents
  • I think that the Serial DFU bootloader used by Adafruit is based on the Serial Bootloader from nRF5 SDK v11.0.0 or older, which means that it uses the SoftDevice flash API to perform flash operations.

    This means that its been compiled against the headers of the S132 v2.0.1 SoftDevice and if you flash the S212, then the SD API in bootloader is not compatible with that in the S212. Starting the nRF52 with this configuration is most likely going to lead a HardFault.

    My suggestion is that you migrate to the Secure Serial Bootloader in SDK v13.x.x, which uses the NVMC peripheral directly instead of going through the SoftDevice.

    Best regards

    Bjørn

  • No, it is not S140 dependent, in fact you can flash any nRF52 SoftDevice to the nRF52840 and the serial bootloader will still run. The experimental_bootloader_secure_serial does not use the SoftDevice APPI(sd_), but there needs to be a MBR(included in the SD hex) present on the device to pass execution to the bootloader.

Reply Children
No Data
Related