4 years, 10 months ago.

[NRF52] [BOOTLOADER] [DFU] support

Hello,

I'm considering converting my project to Arm MBed-OS, I only have a couple of questions regarding DFU and Bootloader. My project currently are running on NRF52840.

1- How is the bootloader for the NRF52840 board? 2- How is the dfu for the NRF52840 board?

I've already seen the following links:

https://os.mbed.com/docs/mbed-os/v5.11/reference/firmware-update-in-mbed-os.html#the-mbed-os-bootloader Which is not very specific about the bootloader targets. Then it send's me to the following link, on porting to a custom hardware:

https://os.mbed.com/docs/mbed-os/v5.11/porting/bootloader.html But there are no sample project or step by step on porting the application, only an explanation on how bootloader should work.

https://github.com/ARMmbed/mbed-bootloader Then we have this simple bootloader which doesn't implement security, which is not usable in a commercial application.

The we have this tutorial which implements a bootloader from nrf sdk: https://os.mbed.com/users/kord123/notebook/fota-mbed-app-to-nrf52_dk-with-nordic-dfu-boot-loa/

But besides the fact that is not mbed native it requires a button pressed to start DFU mode. Which is not possible in my application.

I've also seing this: https://os.mbed.com/blog/entry/firmware-updates-mbed-5-flashiap/ but I haven't found flashIAP support for NRF52840, it may be a faulty search of mine.

Regarding the Firmware OTA I have currently two implementations BLE FOTA and Custom sub-ghz FOTA. The second would be resolved with flashIAP and a bootloader with security. The BLE solution I currently use an implementation on the application, not on the bootloader, which allows me to update without having to reboot and interact fisicaly with the board.

I seen that you have support for BLE fota on NRF51822: https://os.mbed.com/platforms/Nordic-nRF51822-FOTA/ I would like if there's any plans on porting to NRF52 devices or how hard would be to implement it.

I've seen that the current mbed-os branch have on TARGET_SDK_11->libraries a dfu_bootloader folder, which was, or will be, removed on TARGET_SDK_14_2. I would like to know what are those files for, and why they where removed from latest target sdk.

Best regards,

Be the first to answer this question.