这两天正在移植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全擦掉,才能烧写程序。
两个烧写方案都有瑕疵,怎么解决呢
|