Hello community,
I am using BL5340PA BLE controller board from Liard connectivity which is based on the nRF5340 SoC. The BL5340 module allows all of the base functionality in the nrf5340 module, but also adds an external FEM in increase the TX power. I am using the BL5340 as a bluetooth controller / bluetooth adapter for one of my project and I want to implement DFU for the same.
To implement a firmware update I want to use the serial recovery method. I have gone through the examples mentioned by Sigurd Hellesvik in his github repo here: https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/serial_recovery
I am fairly new to this so It is a bit difficult for me to understand how exactly to use this feature.
What my project demands is that the BL5340 board to act as a Bluetooth controller which will run either the Bluetooth HCI_USB or the Bluetooth HCI_UART program to scan advertising BLE devices, pair with them and then get data from them.
The firmware update the the BL5340 board could cocur at runtime, the sequence of operation could be as follows :
1. The BL5340 run the HCI_UART of the HCI_USB program while in operation
2. A firmware update to the board is triggered
3. Some sort of custom HCI command would be needed that resets the BL5340 board and makes it go into serial recovery mode (A reset of the board to be done using some command because I would not have physical access to any buttons )
4.Once in the serial recovery mode, the firmware update is done using mcumgr command and the new image would be confirmed.
5. Once the new image is confirmed, the board , upon reset will start running the new firmware.
Can any one help me in understanding how to implement serial recovery from scratch? I had gone through the serial recovery examples by Sigurd but was not able to understand them completely. Any help on this would greatly help! Thanks