Hi all,

Just wondering if anyone has insights they could share on how I might be able 
to implement an upgrade procedure for a BLE Device running HCI mode firmware?

The following is basically what I have to work with:

*         The Device programmed during manufacturing with a JTAG programmer.

*         The nRF52832 based Device I'm using will be running the HCI mode 
firmware and connected to an embedded Alpine Linux Host over a UART connection 
with full hardware RTS/CTS handshaking support.

*         Once the Device is out in the field I need to be able to reprogram 
from the Host side via the same UART the HCI mode protocol is using.

Also there a few caveats that I have to adhere to:

*         Obviously the JTAG on the Device is not available out in the field.

*         Here is no HOST hardware GPIO signal available to signal to the 
Device that it should wait for new firmware.

*         OTA upgrades to the Device are not permitted.


I believe that this only leaves a few UART options open to the Host to initiate 
the Device firmware upgrade:

1.       Host issues a custom HCI command to write a 'magic' number to a 
special Nordic chip register, then does a software reset of the Device.

2.       Host does a software reset of the Device and sends a trigger string 
over the UART during the Bootloader startup.

3.       There is no Device Bootloader used and the HCI mode firmware has the 
firmware upgrade support built-in.

4.       ...

Any help on this problem would be much appreciated.

Thanks,
ALan


Reply via email to