MCU bootloader protocol
Introduction
All MCU bootloader command APIs follow the command packet format wrapped by the framing packet, as explained in the previous sections. See Table 4-9 for a list of commands supported by the MCU bootloader. For a list of status codes returned by the MCU bootloader, see Appendix A.
Parent topic:MCU bootloader protocol
Parent topic:MCU bootloader command API
Command with no data phase
Note: In these diagrams, the Ack sent in response to a Command or Data packet can arrive at any time before, during, or after the Command/Data packet has processed.
Command with no data phase
The protocol for a command with no data phase contains:
Command packet (from host)
Generic response command packet (to host)
Command with no data phase
Parent topic:MCU bootloader protocol
Command with incoming data phase
The protocol for a command with incoming data phase contains:
Command packet (from host)(kCommandFlag_HasDataPhase set)
Generic response command packet (to host)
Incoming data packets (from host)
Generic response command packet (to host)
Command with incoming data phase
Note:
The host may not send any further packets while it is waiting for the response to a command.
The data phase is aborted if, prior to the start of the data phase, the Generic Response packet does not have a status of kStatus_Success.
Data phases may be aborted by the receiving side by sending the final Generic Response early with a status of kStatus_AbortDataPhase. The host may abort the data phase early by sending a zero-length data packet.
The final Generic Response packet sent after the data phase includes the status for the entire operation.
Parent topic:MCU bootloader protocol
Command with outgoing data phase
The protocol for a command with an outgoing data phase contains:
Command packet (from host)
ReadMemory Response command packet (to host)(kCommandFlag_HasDataPhase set)
Outgoing data packets (to host)
Generic response command packet (to host)
Command with outgoing data phase
Note:
The data phase is considered part of the response command for the outgoing data phase sequence.
The host may not send any further packets while the host is waiting for the response to a command.
The data phase is aborted if, prior to the start of the data phase, the ReadMemory Response command packet does not contain the kCommandFlag_HasDataPhase flag.
Data phases may be aborted by the host sending the final Generic Response early with a status of kStatus_AbortDataPhase. The sending side may abort the data phase early by sending a zero-length data packet.
The final Generic Response packet sent after the data phase includes the status for the entire operation.
Parent topic:MCU bootloader protocol