1 自定义包传输协议
- 1、发送固件大小:符号
*来同步,然后发送固件大小,板子收到后,回复0x30表示擦除相应扇区大小成功,回复0x60表示擦除失败。 - 2、发送固件数据:符号
$来同步,然后发送固件数据,每次64字节大小,板子收到后,回复0x30表示数据编程成功,回复0x60表示擦除失败。如此反复,一直到发送完毕。 - 3、发送结束命令:符号
#表示传输结束,目标板可以加载到APP运行了。 - 4、我们这里SPI时钟设置为12.5MHz,空闲时SCK为0,上升沿采集数据。
2 上位机数据传输
- 发送固件大小,固定长度为69, 剩余补A,符号
*来同步,*+发送大小(4个字节)+A...... - 发送固件,固件数据每次发送64个字节,符号
$来同步,$+发送大小+发送固件(62) - 发送结束命令,符号
#表示传输结束
3 下位机数据传输
- buf[1024]用来存固件数据