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

Is there a checksum embedded in the S110?

Hello everyone,

I haven't read anything in the official documentation about it, but I was wondering if the S110 has an embedded checksum that I can use to verify its integrity at runtime.

I already do something similar for my application and it would be useful to extend the concept to the SoftDevice as well.

Thanks!

Parents
  • Hi Moloch,

    We don't have an embedded checksum for the softdevice. You need to do it manually.

    The softdevice size may change when doing DFU, so it may not be a good idea to store it at the end of the softdevice. Same with storing at the end of master boot record as Clem suggest, because when the softdevice is updated, you need to update the checksum, and then will have to erase 1 page in the MBR that can cause trouble. I would suggest to store the checksum in the bootloader setting page 0x3FC00, it will not be overwrite when doing DFU.

    You can also protect the softdevice from being modified by application by ticking the check box "Enable Softdevice protection" or write to CLENR0 in the UICR. But note that, by doing that, the size of the softdevice can not be changed.

  • Yes, I have a CRC that covers the MBR for completeness. It can't hurt anything because the MBR is only written once.

    Yes, I realize that it is a risk to put the CRC at the end of the softdevice, depending on what nordic chooses to do in the future. The benefits of having the CRC there is worth more to me then having to deal with working around it if/when nordic decides to use that location.

    In the bootloader DFU I validate the download with a RSA signed SHA1, but at boot time I just check the embedded CRC-32s. This also has the benefit of not needing to waste a page storing the bootloader settings.

Reply
  • Yes, I have a CRC that covers the MBR for completeness. It can't hurt anything because the MBR is only written once.

    Yes, I realize that it is a risk to put the CRC at the end of the softdevice, depending on what nordic chooses to do in the future. The benefits of having the CRC there is worth more to me then having to deal with working around it if/when nordic decides to use that location.

    In the bootloader DFU I validate the download with a RSA signed SHA1, but at boot time I just check the embedded CRC-32s. This also has the benefit of not needing to waste a page storing the bootloader settings.

Children
No Data
Related