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

nrf52840 simple uart bootloader

I have a project using nrf52840. The nrf52840 communication with a nbiot mcu using uart port. In my project the nbiot download the firmware from server and send the firmware to nrf52840 through uart port for OTA firmware update. The DFU bootloader inside the SDK of nrf52840 implement complex protocol that is not easy to be implemented by nbiot mcu. We want to implement a custom boot loader on nrf52840 that receive firmware from uart port using our self-defined protocol. Are there any document and guides teach us how to develop a custom uart bootloader on nrf52840  

Parents
  • Hi,

    Nordic does not provide documentation or an example of other bootloaders than what you find in the SDK. However, you could refer to selected parts of the SDK example bootloaders and use that together with your minimal bootloader:

    • You can refer to nrf_dfu_app_continue() as an example of how to copy in place the application.
    • If you use a SoftDevice, you will have the MBR. So this can be used to copy in place the SoftDevice or bootloader itself (nrf_dfu_mbr_copy_sd() / nrf_dfu_mbr_copy_bl())
    • You can refer to nrf_bootloader_app_start() and nrf_bootloader_app_start_impl() to see how to branch to the application.
Reply
  • Hi,

    Nordic does not provide documentation or an example of other bootloaders than what you find in the SDK. However, you could refer to selected parts of the SDK example bootloaders and use that together with your minimal bootloader:

    • You can refer to nrf_dfu_app_continue() as an example of how to copy in place the application.
    • If you use a SoftDevice, you will have the MBR. So this can be used to copy in place the SoftDevice or bootloader itself (nrf_dfu_mbr_copy_sd() / nrf_dfu_mbr_copy_bl())
    • You can refer to nrf_bootloader_app_start() and nrf_bootloader_app_start_impl() to see how to branch to the application.
Children
Related