10.3.1 Command Format – Host MCU to BM70/71 Module

Table 10-7. Write Memory Command Format
ISDAP OpcodeISDAP Data LengthISDAP Data
StartHandleLengthData
Byte Number01-23-45-67-89-n
Size (bytes)1222211-n
Value0x020x0FFF0xXXXX0x01120xXXXXSee the following table
Table 10-8. ISDAP Data Field Parameters
Byte NumberValueParameter DescriptionLength
7-80xXXXX

HCI-ISDAP data length field.

Bit[15]

1 – Start write continue operation

0 – Normal write operation

Bit[14:0]

0x0001:0x7FFF – Packet data length

2 bytes

Reuse the MSb for the Continue flag. The maximum value for any HCI-ISDAP write operation technically can be 32767 bytes in length, but sending the data in each packet is limited by what the BM70/71 module can receive.

90x03

Memory type

For the BM70/71 module, this value is fixed to three, indicating Flash memory
1 byte
100x00

Sub-memory type

For the BM70/71 module, this value is fixed to zero, indicating eFlash memory
1 byte
11-140xXXXX_XXXX

Starting address of memory within the specified bank where write operations will begin.

The MSb, 16 bits of the address value represents the bank number. The LSb, 16 bits represents the address within the specified bank.
4 bytes

For example, for an address of 0x0000_0800, first send the value to the BM70/71 module LSb, 0x00 0x08 0x00 0x00

15-180xXXXX_XXXX

HCI-ISDAP data length Bit[15]

0 – This field represents the number of bytes to write to memory from only this packet.

1 – This field represents the total number of bytes to write to memory in all subsequent write packets.
4 bytes

For example, for a size of 0x0000_0800, first send the value to the BM70/71 module LSb, 0x00 0x08 0x00 0x00

19-n0xXXAny data that is going to be written to memory.1-n bytes

The length of this field depends on how much data the programmer is writing

Figure 10-3. Message Sequence for Write Memory Command