Keil SDK13 BLE OTA bootloader_secure_ble bootloader

Keil SDK13 BLE OTA upgrade failure causes the device to become unbootable, requiring re-flashing. How can this be resolved? We are using the bootloader_secure_ble bootloader. Does it support dual-bank OTA? Could you provide a reference sample?

  • Keil SDK13 BLE OTA Does SDK13 BLE OTA support dual-bank? How to modify it? Could you provide a sample?

  • 私钥生成命令:nrfutil keys generate priv.pem (priv.pem就是私钥) 公钥生成命令:nrfutil keys display --key pk --format code priv.pem --out_file dfu_public_key.c (dfu_public_key.c就是公钥) .\tools\nrfutil settings generate --family NRF52 --application app.hex --application-version 1 --bootloader-version 1 --bl-settings-version 2 settings.hex .\tools\mergehex --merge bootloader.hex settings.hex --output bl_temp.hex .\tools\mergehex --merge s132_nrf52_4.2.0_softdevice.hex bootloader.hex app.hex --output bl_temp.hex .\tools\mergehex --merge bl_temp.hex app.hex s132_nrf52_4.2.0_softdevice.hex --output whole.hex .\tools\mergehex --merge bl_temp.hex settings.hex --output whole.hex .\tools\nrfutil pkg generate --application app.hex --application-version 3 --hw-version 52 --sd-req 0x101 --key-file Template_key.pem SDK13_app_s132.zip

  • Hello,

    The "bootloader_secure_ble" example will already default to dual bank DFU as long as the size of the update image is not too big to fit inside the bank 1 area (see dual vs single bank updates). However, the failure you describe should not happen even if you are using single bank DFU. If a DFU attempt fails for some reason after the old app has been erased (device moves out of range, battery dies, etc), the device shall always fall back to DFU mode so you can attempt the update again. The fact that you have to re-flash it points to some other issue.

    Does the same app work if you program it through the debug interface?

    Best regards,

    Vidar

  • Rewriting the program,hw can work, but if I don't rewrite it, it won't function and fails to start. I am using this U-Boot ---bootloader_secure_ble, but can you provide me with a reference example for the app? can I adjusted the boot area? Can I set the start address to 0x75000 and the size to 0x9000 in Keil?

  • Yes, you can adjust the bootloader start address. You can use the bootloader_secure_ble/pca10040_debug project configuration as a reference. This project allocates more space to the bootloader to support debug logging over RTT. 

     Adjustment of RAM and Flash memory  

Related