7 years, 5 months ago.

yotta + secured bootloader from SDK12

I'm trying to transition to a secured bootloader that was recently implemented in SDK12. My development board is nrfDK51. I am having a problem where my program (which previously compiled and ran without any problem using the default s130 softdevice and bootloaders that come with yotta_targets/nordic-nrf51822-gcc), doesn't run anymore after I switch to the secured bootloader.

I followed the instructions and was able to 1. Create a private key 2. Generate a public key from the private key 3. Modify dfu_public_key.c with the public key 4. Installed micro Ecc 5. Finally, compiled the bootloader to a hex file. 6. Modified the CMake/toolchain.cmake to use the new bootloader and also the new soft device (s130_nrf51_2.0.1_softdevice.hex). 7. Compiled the project and got a nice merged hex that includes everything (app+softdevice+bootloader). However, it doesn't run after I upload it to the board.

Trying to change only bootloader and keep s130_nrf51_1.0.0_softdevice.hex didn't work. Reverting back to the default non secured bootloader and only changing softdevice to s130_nrf51_2.0.1_softdevice.hex also didn't work, which leads me to believe this is the cause of the problem.

I'm using v1.5.0 of mbed-drivers and version 2.7.0 of ble modules.

am I missing something that needs also to be changed in the memory layout? if so, where?

1 Answer

7 years, 5 months ago.

BLE implementation of mbed is based on Nordic SDK v11 and softdevice V2. Work is ongoing to bring back DFU to NRF51DK and NRF52DK for this SDK.

Once the Nordic SDK used will be updated to V12, I believe secure bootloader will be available as well.

Any updates on these efforts?

posted by Kiril Zyapkov 21 Mar 2018