ucosii01 发表于 2024-7-19 09:03

GigaDevice MCU 自己写bootloader烧录程序怎么写?

GigaDevice MCU 想自己写bootloader烧录程序,不知道怎么写。请教各路大神。

地瓜patch 发表于 2024-7-20 21:44

用什么接口,用什么终端烧录

小小蚂蚁举千斤 发表于 2024-7-31 23:21

还是参考相关的文档进行开发

ucosii01 发表于 2024-8-3 16:44

地瓜patch 发表于 2024-7-20 21:44
用什么接口,用什么终端烧录

用串口,自己写上位机。

ucosii01 发表于 2024-8-3 16:46

小小蚂蚁举千斤 发表于 2024-7-31 23:21
还是参考相关的文档进行开发

没有找到详细的资料,我是搞上位机开发的,对于MCU,芯片相关的知识不是很了解。

王派oo 发表于 2024-9-30 13:38

GigaDevice MCU 想自己写bootloader

tpgf 发表于 2024-10-9 12:49

需要了解你的GigaDevice MCU型号和其对应的启动模式

八层楼 发表于 2024-10-9 15:49

如果需要烧录新固件,将新固件从外部存储器(如SD卡、USB等)加载到内部存储器(如Flash)

heimaojingzhang 发表于 2024-10-9 19:40

确保可以正确地引导MCU进入正确的启动模式,并且可以正确地烧录新固件。

guanjiaer 发表于 2024-10-9 20:49

将编译好的bootloader程序烧录到MCU的Flash中。这可以通过JTAG、SWD或者其他调试接口来实现

观海 发表于 2024-10-9 21:59

使用适当的工具链编译bootloader程序。这通常需要一个针对GigaDevice MCU的交叉编译器。

keaibukelian 发表于 2024-10-9 22:33

#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;
}


gra22ce 发表于 2024-10-14 11:52

都一样的,网上的BootLoader你随便找一个参考一下就行了

tiakon 发表于 2024-10-14 11:58

在写入新数据前,擦除目标Flash区域

ewyu 发表于 2024-10-14 13:02

这个简单啊,你就参考官方的ISP操作呗

hhdhy 发表于 2024-10-14 13:10

一般来说逻辑就是写个BootLoader,定时的去查看有没有新的更新包,有的话就进到中断,将新包更新到flash之中,然后重启就好了

wamed 发表于 2024-10-14 15:14

这个主要是注意地址跳转

pe66ak 发表于 2024-10-14 17:01

确保在擦除和写入Flash时,不会破坏bootloader本身

nuan11nuan 发表于 2024-10-14 18:16

定义好与上位机的通信协议,确保数据传输的可靠性

hight1light 发表于 2024-10-14 19:30

在每个步骤中加入错误处理机制,确保bootloader的健壮性
页: [1] 2
查看完整版本: GigaDevice MCU 自己写bootloader烧录程序怎么写?