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

How can I create an nrf51422 Bootloader for S120 and S210?

Can the chip be updated from an ANT device to a BT Smart Central. This means it starts its life with an S210 and then gets a serial code update to an S120. Obviously with different application code as well. I'm not sure if it will need to go the other direction as well.

How can this be done? The examples bootloaders I have seen are very connected to one of the SoftDevices so having one that works with these 2 seems problematic. Maybe a bootloader that doesn't work with a SoftDevice? I don't understand how this can work as Region0 can't be written from Region1 and I don't see how I can expand Region0 beyond the SoftDevice so the bootloader can get in that region too. Are the sample bootloaders able to change the size of Region 0? This seems needed as the 2 SoftDevices are very different sizes.

...Gary

Parents
  • Hi Gary,

    I think it's fine.

    You can switch between different softdevice, as long as they have compatible MBR. Currently we only have 2 MBR variant, v1.0.0 and v1.0.1 and they are compatible.

    What you have to do is to update both softdevice and bootloader. So you don't have to worry about incompatible between new softdevice and old bootloader. Our current bootloader support this feature to update them at the same time.

    Regarding your question on Region0 and Region1, we use MBR to overwrite the softdevice and the MBR is located in Region 0, so it's not a problem. Note that you should not set region 0 by setting "Enable Softdevice protection". This will limit the size of the softdevice, that you can extend it by update to a bigger size softdevice.

    The size of the bootloader now not defined by size of region0 (CLENR0) but provided by a register in flash (@ address 0x3000) in the softdevice, the MBR or the application can read this address to find the size of the softdevice.

Reply
  • Hi Gary,

    I think it's fine.

    You can switch between different softdevice, as long as they have compatible MBR. Currently we only have 2 MBR variant, v1.0.0 and v1.0.1 and they are compatible.

    What you have to do is to update both softdevice and bootloader. So you don't have to worry about incompatible between new softdevice and old bootloader. Our current bootloader support this feature to update them at the same time.

    Regarding your question on Region0 and Region1, we use MBR to overwrite the softdevice and the MBR is located in Region 0, so it's not a problem. Note that you should not set region 0 by setting "Enable Softdevice protection". This will limit the size of the softdevice, that you can extend it by update to a bigger size softdevice.

    The size of the bootloader now not defined by size of region0 (CLENR0) but provided by a register in flash (@ address 0x3000) in the softdevice, the MBR or the application can read this address to find the size of the softdevice.

Children
No Data
Related