嵌入式GD32F4学习笔记
内容目录
嵌入式主机通过串口 ISP 升级程序
备注:该升级程序方法是单片机给单片机升级程序,因此,在升级程序前必须在主机当中写入待下载的程序。该方法比较方便无需通过电脑下载,适合户外携带维护和批量下载的情况。
由于使用 ISP 上位机升级程序需要借助电脑,在实际生产过程中会带来不便。因此实现了一种嵌入式 ISP 主机用于对目标 MCU 的程序进行升级。嵌入式主机根据 ISP 协议通过串口与 BootLoader 进行通信,从而实现对目标 MCU 程序的升级。
BOOTLOAD引导模式:
BOOT1接地情况下:
硬件连接:
串口初始化
串口初始化:
|
|
控制管脚配置
|
|
升级程序
待下载 bin2 在下载之前存储到嵌入式主机 0x08004000 地址处,格式为 bin2=bin 文件大小(4
字节)+bin1 文件。可根据需要将 bin 文件存储在其他位置,bin 格式也可以自由设置。
升级主程序流程图:
升级步骤
1.将目标MCU Boot0拉高
|
|
2.发送握手命令,当嵌入式主机收到0x79,说明握手成功。
|
|
3.发送页擦除命令
首先根据 GD32F4xx flash 结构以及 bin 文件的大小索引需要擦除的扇区。
|
|
4.执行擦除命令
|
|
4.发生编程指令
根据bin文件大小发送命令
4.1 bin文件大小等于252字节
|
|
4.2 bin文件大252字节
由于 BootLoader 存储空间有限,当 bin 文件大于 252 字节时,需要对 bin 文件进行拆包。
|
|
5.将目标 MCU 的 BOOT0 拉低,并对其进行复位。
将bin文件全部烧入完毕之后,需要将BOOT0拉低,并复位,就可以看到更新之后的功能程序了。
|
|
GD32F4系列ISP 串口下载就完成了。
Author grabbyte
LastMod 2023-02-20