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

How to do BLE DFU without flow control(UART) using serialization application on host controller side. do you have any document or link where the procedure is explained ?

How to do BLE DFU without flow control(UART) using serialization application on host controller side. do you have any document or link where the procedure is explained ?

I have a host controller where the serialization application runs and the BLE module is flashed with the connectivity application and the soft device, NO boot loader for now. i can see some posts, when we flash the DFU boot loader on the BLE module it is possible to update the application, soft device without serialization concept (where the actual application runs on the same MCU as soft device ). how to achieve this on serialization concept is there any documentation or link.

unfortunately i dint have any pin connected in the hardware to push the module in to the boot mode. to add to it how will the BLE module indicate when a OTA is finished? please let me know the details.

Parents
  • Hi Harish, 

    Please correct me if I'm wrong. 
    You have two chips. The host chip running serialization application and the BLE connectivity chip running the serial connectivity application. 

    Now you want to update the connectivity chip using BLE? 

    Your questions were how to enter bootloader mode and how to detect if the OTA is finished ? 

    - To enter bootloader mode, you may need to define an extra serial command to send from the host to the connectivity chip. When receive this command, the connectivity chip should write to GPREGRET a flag and then trigger a softreset. When booting up, the bootloader will check for the flag in GPREGRET and then enter DFU mode. Please refer to the ble_app_buttonless_dfu example (function ble_dfu_buttonless_bootloader_start_finalize() ) 

    - After the DFU update is finished, the bootloader will automatically reset the connectivity board. To detect if the OTA process is finished, again you can define extra UART message to send the data out when the application booting up, sending application version for example. 

Reply
  • Hi Harish, 

    Please correct me if I'm wrong. 
    You have two chips. The host chip running serialization application and the BLE connectivity chip running the serial connectivity application. 

    Now you want to update the connectivity chip using BLE? 

    Your questions were how to enter bootloader mode and how to detect if the OTA is finished ? 

    - To enter bootloader mode, you may need to define an extra serial command to send from the host to the connectivity chip. When receive this command, the connectivity chip should write to GPREGRET a flag and then trigger a softreset. When booting up, the bootloader will check for the flag in GPREGRET and then enter DFU mode. Please refer to the ble_app_buttonless_dfu example (function ble_dfu_buttonless_bootloader_start_finalize() ) 

    - After the DFU update is finished, the bootloader will automatically reset the connectivity board. To detect if the OTA process is finished, again you can define extra UART message to send the data out when the application booting up, sending application version for example. 

Children
No Data
Related