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

bootloader for nrf51822 QFACA1part on a custom board

Hi All,

We are trying find a way to upgrade nrf51822 in the field post initial release. I read the following posts (devzone.nordicsemi.com/.../) (developer.nordicsemi.com/.../a00069.html)

If I to I am trying to understand the following please bare me for asking very basic questions

  1. Do we must need to have a bootloader?

  2. Is there any existing bootloader that I can use as it is on nrf51822 QFACA1 part? or I must customize something? if yes, what all needs to be done? I don't think we can accommodate dual bank architecture. If that is the case, what I need to worry about?

  3. How do I program bootloader for the first time ? (Most likely a programmer, but I would still like to have an answer to confirm)

  4. Do I need to flash bootloader at specific address?

  5. How do I park device to bootloader mode for future firmware upgrade? I don't have any button on my PCB (how does other people do it for their devices) .

  6. When upgrading softdevice does it also erase the bootloader? or it can be prevented? May be I was informed that to upgrade softdevice you must erase entire flash, which doesn't sound right to me.

  7. How do you upgrade softdevice only? or softdevice + application or application only?

I know I asked so many questions but I would like to understand all this in a same thread.

Parents
  • Hi Harry,

    1. Yes, you need a bootloader if you want to do DFU. It's possible to make an application that can also handle the bootloader task but it will make the process more complicated and less safe.

    2. The bootloader is available in the SDK. Please let me know which SDK you based your application on and the softdevice version on the chip.

    3. Yes, you use normal programmer and flash the bootloader as a normal application.

    4. Yes, but the programmer will handle that for you. Please have a look here for more information about the bootloader.

    5. You can add the DFU service into your application, and can switch to bootloader mode by a command from the central device. Look here.

    6. If the old bootloader is compatible with the new softdevice, you don't need to update the bootloader. Updating the softdevice will erase the application part only.

    7. To update just softdevice, you can specify that you want to update softdevice or simply let the DFU master (app) on the phone take care of it, base on the information you provided in the .zip image. The application can be updated after that. Or you can combine them together and let the DFU master takes case of it.

    You can find more information in this FAQ.

  • Hi Bui, Thanks for all the answers.I truly appreciate it. The softdevice version is 8.0.3, this is the softdevice.hex file, which has not changed since 8.0.0, but the package we reference is 8.0.3. Also, there will not be an app on the phone (DFU master application) to upgrade the nRF51822 SW. This is seen as a major security flaw. Instead, nRF51822 software will be sent OTA to the LPC1124 processor's external flash which will use SPI interface to program nRF51822. Now, the question is how do I park nRF51822 to bootloader mode? In crux, the architecture has two different ARM processors (LPC1124 and nRF51822) which can communicate over SPI or over swd. I would appreciate your comments.

Reply
  • Hi Bui, Thanks for all the answers.I truly appreciate it. The softdevice version is 8.0.3, this is the softdevice.hex file, which has not changed since 8.0.0, but the package we reference is 8.0.3. Also, there will not be an app on the phone (DFU master application) to upgrade the nRF51822 SW. This is seen as a major security flaw. Instead, nRF51822 software will be sent OTA to the LPC1124 processor's external flash which will use SPI interface to program nRF51822. Now, the question is how do I park nRF51822 to bootloader mode? In crux, the architecture has two different ARM processors (LPC1124 and nRF51822) which can communicate over SPI or over swd. I would appreciate your comments.

Children
No Data
Related