GigaDevice MCU 自己写bootloader烧录程序怎么写?
GigaDevice MCU 想自己写bootloader烧录程序,不知道怎么写。请教各路大神。 用什么接口,用什么终端烧录 还是参考相关的文档进行开发 地瓜patch 发表于 2024-7-20 21:44用什么接口,用什么终端烧录
用串口,自己写上位机。 小小蚂蚁举千斤 发表于 2024-7-31 23:21
还是参考相关的文档进行开发
没有找到详细的资料,我是搞上位机开发的,对于MCU,芯片相关的知识不是很了解。 GigaDevice MCU 想自己写bootloader 需要了解你的GigaDevice MCU型号和其对应的启动模式 如果需要烧录新固件,将新固件从外部存储器(如SD卡、USB等)加载到内部存储器(如Flash) 确保可以正确地引导MCU进入正确的启动模式,并且可以正确地烧录新固件。
将编译好的bootloader程序烧录到MCU的Flash中。这可以通过JTAG、SWD或者其他调试接口来实现
使用适当的工具链编译bootloader程序。这通常需要一个针对GigaDevice MCU的交叉编译器。
#include "gd32f10x.h"
void delay(uint32_t count)
{
while (count--)
;
}
int main(void)
{
// 初始化硬件
rcu_init();
gpio_init();
// 检查是否需要烧录新固件
if (check_new_firmware())
{
// 烧录新固件
burn_new_firmware();
}
// 引导到新固件的起始地址并执行
jump_to_new_firmware();
return 0;
}
都一样的,网上的BootLoader你随便找一个参考一下就行了 在写入新数据前,擦除目标Flash区域 这个简单啊,你就参考官方的ISP操作呗 一般来说逻辑就是写个BootLoader,定时的去查看有没有新的更新包,有的话就进到中断,将新包更新到flash之中,然后重启就好了 这个主要是注意地址跳转 确保在擦除和写入Flash时,不会破坏bootloader本身 定义好与上位机的通信协议,确保数据传输的可靠性 在每个步骤中加入错误处理机制,确保bootloader的健壮性
页:
[1]
2