[应用相关] TouchGFX工程中hex目标文件的烧写方法(二)使用KEIL-2

[复制链接]
810|15
 楼主| features 发表于 2020-6-23 14:37 | 显示全部楼层 |阅读模式
上一篇**介绍了如何在KEIL中配置ST-LINK实现一键烧写hex文件,可是,我就是想只用自动生成的KEIL文件和工程选项配置来烧写、调试,如何进行呢?
这难道不是一个多余的问题吗?难道自动生成的KEIL工程不能运行的吗?还真的不能运行(烧写失败!),详情见下:
(这也许是TouchGFX当前版本V4.10.0的小bug,期待将来升级后的版本不再有这个问题。)



作者:海东青电子
链接:https://www.jianshu.com/p/2d1faa062c10
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 楼主| features 发表于 2020-6-23 14:38 | 显示全部楼层
TouchGFX自动生成的KEIL工程,编译是没有问题的:
309565ef1a330b92b9.png
上图第七行可以看到,0 Error,生成了hex,没有问题。
 楼主| features 发表于 2020-6-23 14:38 | 显示全部楼层
但,按下 F8 烧写快捷键,提示出错:0x9000 0000 地址开始的代码段没有找到相应的烧写算法。这是什么意思呢?让我们来简单说说MCU烧写flash的细节:
911005ef1a35f56e71.png
 楼主| features 发表于 2020-6-23 14:39 | 显示全部楼层
不同的MCU,其配置的flash物理特性可能是有区别的,读写flash需要一些跟这个flash有关的参数,比如读写周期、等待间隔、读写总线的定义等等,这些参数就是烧写falsh的“算法”。实际进行烧写操作时是分为2个步骤的:首先需要把这些算法加载(download)到MCU内部的RAM中,然后在MCU内部运行代码来具体执行这些算法、读写flash。这样,就容易理解图一提示的错误了:烧写地址 0x0800 0000 (内部flash) 的那些代码没问题,但对于地址 0x9000 0000 (外部flash),因为没有加载对应算法,不知道该怎么读写flash、无法进行烧写。
 楼主| features 发表于 2020-6-23 14:40 | 显示全部楼层
让我们来看看当前的配置中烧写算法加载的情况:
626055ef1a3b4ba23f.png
249255ef1a3c109c9b.png
 楼主| features 发表于 2020-6-23 14:40 | 显示全部楼层
上图显示:默认只加载了F7片内2个地址段的flash算法,需要手动添加片外flash算法:点击 Add 按钮,在弹出的窗口中找到本文使用的F769I-DISCO板子对应的算法、并添加进来:
529545ef1a3eada41d.png
 楼主| features 发表于 2020-6-23 14:41 | 显示全部楼层
试着按下 F8 再烧写一次,又出现了错误:
470905ef1a40348b23.png
提示:无法加载烧写算法!
 楼主| features 发表于 2020-6-23 14:41 | 显示全部楼层
这是因为download算法文件是需要占用MCU片内RAM空间的,而这个空间大小是由KEIL默认分配好的,一般是0x1000 。现在需要扩大这个空间到0x2000:
717415ef1a4245c61e.png
 楼主| features 发表于 2020-6-23 14:42 | 显示全部楼层
再次烧写,出现烧写的进度条,直到烧写完毕:
606465ef1a444360a5.png
 楼主| features 发表于 2020-6-23 14:42 | 显示全部楼层
如果多次遇到能正常开始烧写、但中途报错、中断烧写的情况,可以改为在KEIL中使用ST-LINK烧写(至少可以烧写的更快!)。

下一节将介绍:如何在IAR中烧写目标文件。
 楼主| features 发表于 2020-6-23 14:43 | 显示全部楼层

作者:海东青电子
链接:https://www.jianshu.com/p/2d1faa062c10
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
观海 发表于 2020-7-10 14:07 | 显示全部楼层
非常感谢楼主分享
guanjiaer 发表于 2020-7-10 14:08 | 显示全部楼层
这是最新版本吗
heimaojingzhang 发表于 2020-7-10 14:08 | 显示全部楼层
老版本有这种bug吗
keaibukelian 发表于 2020-7-10 14:09 | 显示全部楼层
确实期待后续更新
labasi 发表于 2020-7-10 14:09 | 显示全部楼层
楼主辛苦了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

41

主题

463

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部