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 booting sequence

I wonder nrf52832 booting sequence detail.

I knew the booting sequence is MBR -> softdevice->bootloader->application.(is it right?)

but i am not sure how to work MBR and softdevice.

1. is that right booting seqeuce?

2. Where is the first of all at booting(I wonder location is source in SDK)?

3. Can I modify MBR? If yes, can I get source?

4. What is the way of check softdevice is stored or not and bootloader?

thanks!

  • Hi,

    That is not the correct booting sequence.

    It goes MBR -> bootloader -> application. The SoftDevice is not part of the booting sequence. Rather it provides an API that you can use from the application (or from the bootloader). Interrupts, on the other hand, will go first to SoftDevice, then to application, when you have enabled the use of a SoftDevice.

    The above sequence is for when you have an MBR (usually as part of a SoftDevice) and a bootloader. You will also see MBR -> application, and directly starting the application, if bootloader or both MBR and bootloader are missing. For instance our peripheral examples comes in a "blank" version, which means it is only the application running (i.e. no MBR, no SoftDevice, no bootloader).

    2. Booting starts from beginning of flash. For an application not using MBR, it starts from the application main(). For an application using MBR (usually including SoftDevice), execution starts in the MBR then goes to application main(). For MBR (+ SoftDevice) + bootloader + application, it goes from MBR to bootloader main() to application main().

    3. You can not modify the MBR. It is only delivered as hex file, usually as part of the SoftDevice. If you do want to implement your own MBR or bootloader you may of course do that if you have to - you are free to populate the flash with whatever firmware you would like to. But do note that this would only be needed in extremely rare cases.

    4. The quickest way is probably to use nRFgo Studio, although it may not have been updated with the ability to detect the newest SoftDevices and we are currently working on a replacement tool for that use case in nRF Connect. In any case, you would know if you just recently programmed the SoftDevice onto the board.

    In general I recommend the Getting Started guide on Infocenter, and the tutorials here on Devzone.

    Regards,
    Terje

Related