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

Simple Bootloader

Hi,

SDK14.0 nRF52832

I am using the dfu\bootloader_secure_ble example as my starting point. My goal is to create a very simple bootloader (with none of the dfu stuff, no SD functionality). Just a simple bootloader that the MBR jumps to when the board is powered on. This bootloader in turn starts another application and that's it!

This is what I am doing:

  1. completely erase the board using nrfjprog
  2. flash the softdevice
  3. flash the bootloader

---up until this point the bootloader is able to run, now I want to flash an app so the bootloader can give control to this app---

4.flash a BLE app (ble_blinky)

result: I look at the terminal and I get a "Fatal" error message. This comes up during the call to nrf_sdh_enable_request.

It seems to me that the Bootloader is able to start the app, but the app gives an error.

Can someone point me to the right direction on what I am missing here? This app works fine if I just flash the SD and the APP. But when I flash the SD, then the Bootloader and then the app, I get this "Fatal" error.

Parents
  • Hi Martin. My application works as I wanted. I will let you know that separating the MBR and using it as a standalone does work! I flash the MBR, then the BL and the BL runs correctly. I, then install SD only (no MBR) and then my app. My BL inits the SD, sets the vector table to app and then jumps to the app! Everything works! But I was just curious about those two functions. Whether they have any dependence on the SD?

    Also, can I start the application from my BL and use these two functions at the start of my application instead of the BL to correctly set the SD vector table address? Thanks!

Reply
  • Hi Martin. My application works as I wanted. I will let you know that separating the MBR and using it as a standalone does work! I flash the MBR, then the BL and the BL runs correctly. I, then install SD only (no MBR) and then my app. My BL inits the SD, sets the vector table to app and then jumps to the app! Everything works! But I was just curious about those two functions. Whether they have any dependence on the SD?

    Also, can I start the application from my BL and use these two functions at the start of my application instead of the BL to correctly set the SD vector table address? Thanks!

Children
No Data
Related