打印

求教GD32F103的烧写问题

[复制链接]
5231|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ICEFROGFACE|  楼主 | 2021-7-13 20:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这两天正在移植STMF103到GDF103程序,程序移植完了,测试OK。但是发现有烧写的问题解决不了,求解!
测试环境:
芯片:GD32F103RGT6
烧写软件:GD-Link Programmer4.5.1.0871
烧写工具:GD-Link
芯片安装包:GigaDevice.GD32F10x_DFP.2.0.1.pack
编译环境:Keil5

问题1:
烧写两份程序:
1)         boot loader程序;
boot loader程序的起始地址是0x0800 0000。Hex文件在GD-Link Programmer中加载起始地址没有问题。
2)应用主程序;
但是,应用主程序起始地址为0x0801 9000。将程序在烧写软件中加载后,软件显示起始地址是0x0801 0000,而且从地址0x0801 0000到0x0801 9000的值都是0xFF,烧写程序后会导致boot loader程序后半段被其覆盖。经测试,其他起始地址的程序在烧写软件中加载后,显示的起始地址也不对。

问题2:
使用J-link的J-Flash烧写无法兼容GD32F103RGT6。当芯片中有程序时,选择半擦烧写覆盖,会出现烧写失败,且每次必现。必须将Flash全擦掉,才能烧写程序。

两个烧写方案都有瑕疵,怎么解决呢


使用特权

评论回复
沙发
lidi911| | 2021-7-14 08:35 | 只看该作者
你是不是没勾选每次烧写前自动擦出flash

使用特权

评论回复
板凳
ICEFROGFACE|  楼主 | 2021-7-14 08:43 | 只看该作者
lidi911 发表于 2021-7-14 08:35
你是不是没勾选每次烧写前自动擦出flash

你说j我第二个link的烧写吗?我选的烧写应用是 selected setors。就是上面说的半擦。flash中有应用数据,不能全擦除的。

使用特权

评论回复
地板
ICEFROGFACE|  楼主 | 2021-7-14 08:44 | 只看该作者
这个GD芯片不是都成熟应用了吗?大家烧写怎么弄得呀。我现在没找到一个没有问题得烧写方案啊,谁知道,给我指导一下啊

使用特权

评论回复
5
liaojihua2010| | 2021-7-14 13:29 | 只看该作者
跟GD还是ST无关,首先,Flash里有数据,需要设定标志,是否写入初始化数据。这样即使全擦除也没关系。其次,boot程序开始和结束地址区间与IAP地址起始地址要划分好,如果要用jlink一次写入,需要使用具jlink的程序合并功能。

使用特权

评论回复
6
勇敢的大白菜| | 2021-7-14 16:05 | 只看该作者
在烧录之前,需要对芯片进行擦除的,不然无法烧录的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

5

帖子

0

粉丝