4.2 General Format of HCI-ISDAP Flash Commands (Host MCU to BM70/71 Module)
The following table provides details about the general message format of the HCI-ISDAP Flash. This command protocol is based on the HCI Asynchronous Connection Less (ACL) data packet. For more details, refer to the Bluetooth Core Specification (4.2). The HCI ACL data packet exchanges raw data between the host MCU and controller. The data within the HCI ACL data packet is destined for, or coming from, a peer device. However, in the case of the BM70/71 module programming, reuse the raw data in the HCI ACL data packet into the HCI-ISDAP Flash commands for memory programming.
The HCI-ISDAP command protocol is divided into the following:
- Information for memory programming commands
- Values to be programmed into memory
- Status of memory programming tasks
ISDAP OPCODE | ISDAP Data Length | ISDAP Data | ||||
---|---|---|---|---|---|---|
Start | Handle | Length | Data | |||
Byte Number | 0 | 1-2 | 3-4 | 5-6 | 7-8 | 9-XX |
Size (bytes) | 1 | 2 | 2 | 2 | 2 | 0 |
Value | 0x02 | 0xYYYY | 0xNNNN | 0xMMMM | 0xZZZZ | Memory data |
— | Packet indicator | — | — | Length – 0xNNNN bytes | ||
— | — | — | — | — | — | Length – 0xZZZZ bytes |
Note: The handle field for the HCI ACL packet is formatted as Little Endian (LE), for example, the handle (0x0FFF) is split: byte[1] is 0xFF, byte[2] is 0x0F.