Program Flash命令
主机端使用此命令将数据写入设备端Flash(内部或外部Flash)的有效地址。在收到此命令后,设备端解析待写入数据的起始地址、长度和内容。如果该起始地址有效,设备端将从该地址开始写入数据(数据格式如表 6所示)并返回ACK,否则将返回NACK。
主机端发送数据
字节序号 | 描述 | 有效值 | 说明 | |
---|---|---|---|---|
0 - 1 |
帧头 |
0x4744 |
以字符‘G’和‘D’的ASCII码值0x47和0x44表示 |
|
2 - 3 |
帧类型 |
0x0024 |
Program Flash命令 |
|
4 - 5 |
数据长度 |
0x0007 - 0x0800 |
数据域内容的长度 |
|
6 |
数据 |
Program类型 |
0x00/0x01/0x02/ 0x10/0x11/0x12 |
|
7 - 10 |
起始地址 |
每字节的取值范围为0x00 - 0xFF |
设备端Flash有效地址 |
|
11 - 12 |
Flash写入数据长度 |
0x0000 - 0x00FF |
Flash写入数据长度最大值为1024个字节 |
|
13 - N |
Flash写入数据 |
每字节的取值范围为0x00 - 0xFF |
写入Flash的数据内容 |
|
N+1 - N+2 |
校验和 |
0x0000 - 0xFFFF |
帧类型、数据长度和数据域的校验和(16 bits) |
说明:
表 6中的N表示数据域的长度可变,N取值为:14 ~ 1036。
设备端回应数据
字节序号 | 描述 | 有效值 | 说明 |
---|---|---|---|
0 - 1 |
帧头 |
0x4744 |
以字符‘G’和‘D’的ASCII码值0x47和0x44表示 |
2 - 3 |
帧类型 |
0x0024 |
Program Flash命令 |
4 - 5 |
数据长度 |
0x0001 |
应答1字节 |
6 |
应答 |
0x01/0x02 |
|
7 - 8 |
校验和 |
0x0000 - 0xFFFF |
帧类型、数据长度和应答域的校验和(16 bits) |