5.7.4 Host OTA DFU through RNBD

Host OTA DFU is used for host MCU FW upgrading.

When the OTA service receives the Host OTA DFU request from the OTA client profile (for example, 1. OTA client on mobile App; 2. OTA client on RNBD451), the RNBD451 enters the DFU mode immediately. A status event %OTA_REQ% (the detail parameter is not described here) is sent to MCU and waits for the DFU decision. Different from OTA DFU, MCU DFU conveys two more parameters for the MCU used, and they are image checksum and image CRC16 value.

Only the OTAA command is acceptable for the MCU to decide if the OTA DFU request is accepted or not. Different from OTA DFU, the MCU could append the parameter of the maximum buffer size used in the DFU procedure. If the MCU does not append the MCU maximum buffer size, RNBD451 defaults the maximum buffer size to 256 byes.

For the following procedure, there are several status events followed from RNBD451 to indicate the procedure step and DFU's progressing status.

There is another new status event in the DFU proceedings %OTA_DATA,<sequence_num/hex8>,<length/hex16>,<payload>%. The host image payload in fragmented hex value is conveyed via this event. When the host receives this event, the OTAA command with parameter 2 for continue, 3 for error can be issued to RNBD451 for notifying RNBD451 to continue to transmit more images or to terminate the DFU procedure.

After all host images are transmitted, the %OTA_COMPLETE% status event will be sent to the host MCU and waits for the following action from the host MCU. In a normal procedure, the host MCU uses the OTAV command to notify validation start, then the validation status (success or fail).

The DFU mode transition between the Data mode and the Command mode for the OTA DFU procedure and the MSC example flow are illustrated in the following figures.
Figure 5-29. Host OTA through RNBD451 Transition Diagram
Figure 5-30. Host OTA through RNBD451 Scenario