Bluetooth Bootloader

A custom PCBA based on the nRF52832 microcontroller. I am testing two different versions of firmware:

  • Version 1 (Sample code from SDK v11): examples\ble_peripheral\ble_app_hrs\pca10040\s132_with_dfu

  • Version 2 (Integration): Integrate the version sample code with other function such as LCD, Button, ...

The issue: When I flash Version 1 to a fresh board via standard wires (SWD), it works perfectly and allows to seamlessly trigger and upload code over Bluetooth (DFU) multiple times. However, if flashing Version 2, it only works at the first time. Upon a system reboot or subsequent connection, the board refuses to enter DFU mode a second time. You can still connect to it over Bluetooth, but the smartphone app will not let you select files or execute an update. The main problem is that PCBA bluetooth function cannot work properly when flashing back to Version 1 sample code, look like the nRF52832 got some issue after flashing Version 2 firmware.

Parents
  • Hi Kelvin, 
    Please be aware that nRF5 SDK v11 is very old. It's released 10 years ago I believe. 

    if flashing Version 2, it only works at the first time. Upon a system reboot or subsequent connection, the board refuses to enter DFU mode a second time.

    Please clarify what you meant by "only works at the first time" . You meant you can turn it on, do a DFU and it boot up with new image ? Which new image did you use? 
    Please double check if the new image has the same BLE attribute table as the Version 2. If the new image doesn't have DFU buttonless service or the service is not the same location in the table as the old image, the phone may have trouble to access that. 

    You may want to refresh the phone , for example by turning Bluetooth off and on, remove bonding. 

Reply
  • Hi Kelvin, 
    Please be aware that nRF5 SDK v11 is very old. It's released 10 years ago I believe. 

    if flashing Version 2, it only works at the first time. Upon a system reboot or subsequent connection, the board refuses to enter DFU mode a second time.

    Please clarify what you meant by "only works at the first time" . You meant you can turn it on, do a DFU and it boot up with new image ? Which new image did you use? 
    Please double check if the new image has the same BLE attribute table as the Version 2. If the new image doesn't have DFU buttonless service or the service is not the same location in the table as the old image, the phone may have trouble to access that. 

    You may want to refresh the phone , for example by turning Bluetooth off and on, remove bonding. 

Children
No Data
Related