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

how to Switch between over-the-air and uart bootloader mode?

Hi, How to integrate both over-the-air and uart bootloader application for an device? We have a custom board with nrf51822 chipset, and we need to implement the firmware update process, which can support both over-the-air and usb to uart type firmware update. Since we not yet tested the uart bootloader application, we dont have clear idea on it (like, how to make it enter into the bootloader mode). Can anyone suggest us how to handle this?

our requirement as follows, If the device is connected through the usb, and if the user want to update the firmware, the device should enter into dfu_dual_bank_hci (uart) bootloader mode, and do the firmware update.

And if the device is connected through ble, user should make it enter into the dfu_dual_bank_ble (over the air) bootloader mode by writing some value through the special characteristics created for it, and should do the firmware update.

Regards, Balaji

Parents
  • @Balaji: The current bootloader example wasn't made for both BLE and UART be exist at the same time. You can, however, modify the bootloader example to do so. The transport layers need to be modified so that they can compiled in a same project and will be selected in run time.

    To chose which type of bootloader will be selected, you can use a switch on a GPIO pin that automatically switch on when the device is plugged into USB port. Other solution is to start with one bootloader type (BLE or UART) for a period of time before switching to the other one.

    We currently don't have an example of doing so, but I don't see any reason this shouldn't work.

Reply
  • @Balaji: The current bootloader example wasn't made for both BLE and UART be exist at the same time. You can, however, modify the bootloader example to do so. The transport layers need to be modified so that they can compiled in a same project and will be selected in run time.

    To chose which type of bootloader will be selected, you can use a switch on a GPIO pin that automatically switch on when the device is plugged into USB port. Other solution is to start with one bootloader type (BLE or UART) for a period of time before switching to the other one.

    We currently don't have an example of doing so, but I don't see any reason this shouldn't work.

Children
No Data
Related