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