1 自定义包传输协议
- 1、发送固件大小:符号
*来同步,然后发送固件大小,板子收到后,回复0x30表示擦除相应扇区大小成功,回复0x60表示擦除失败。 - 2、发送固件数据:符号
$来同步,然后发送固件数据,每次64字节大小,板子收到后,回复0x30表示数据编程成功,回复0x60表示擦除失败。如此反复,一直到发送完毕。 - 3、发送结束命令:符号
#表示传输结束,目标板可以加载到APP运行了。 - 要更新APP固件的I2C设备地址,我们设置为
0x20,通信速度设置的100KHz。
1.1 IIC协议单字节写
1.2 IIC协议随机读
2 上位机(每写一个字节,从机都要应答)
- IIC初始化
- 启动应答
- 发送固件大小
- 发送固件
- 发送结束命令
3 下位机传输
- IIC板级驱动包初始化
- 发送固件大小
- 发送固件
4 IIC板级驱动
- iic_bus.h
- 相关引脚宏定义
- bsp_InitI2CBus
- bsp_i2cTransfer
- bsp_i2cReceive
- 中断处理