Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf52832 custom simple bootloader implementation.

Hi everybody.
I know that it is complete standart question, which has many asks and solutions here.
I'm quite new to bootloader management stuff.
So asking about some targeting recommendations and solutions, some custom examples to start with.

My goal is to implement kind of bootloader (no need of heavy original one with DFU, encryption and a lot of extra bloating stuff)
I only need such functionality:
 - Have some kind of extra program (actually bootloader), starts from different memory address from original app.
 - Ability to boot to this program on some event from main app. and only thing to do is copy new FW from some flash area to main program area.
Inside of a boot program can implement simple progress of copying like LED blink stuff or so
 - After that restart app and boot to main app.

Encryption of FW doesn't needed. Let has it also on a point that FW on flash has already verified and only ready for copying to main program area.

Does it possible to make it based on some simple example, not using Softdevice and a lot of extra original bootloader implementation?
Even more, does this procedure described above actually possible at all?

King regards.
Ivan.
 

Parents
  • Hi,

    there's no need for bootloader in your case. Assuming you're not concerned about troubles while updating (otherwise there should be full-featured bootloader with DFU), just write a short piece of code that can be copied to RAM and started by main firmware after disabling softdevice and interrupts. This code will copy firmware (using NVMC registers) and reboot device.

Reply
  • Hi,

    there's no need for bootloader in your case. Assuming you're not concerned about troubles while updating (otherwise there should be full-featured bootloader with DFU), just write a short piece of code that can be copied to RAM and started by main firmware after disabling softdevice and interrupts. This code will copy firmware (using NVMC registers) and reboot device.

Children
Related