打印
[应用相关]

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

[复制链接]
534|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
上一篇**介绍了如何在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工程,编译是没有问题的:

上图第七行可以看到,0 Error,生成了hex,没有问题。

使用特权

评论回复
板凳
features|  楼主 | 2020-6-23 14:38 | 只看该作者
但,按下 F8 烧写快捷键,提示出错:0x9000 0000 地址开始的代码段没有找到相应的烧写算法。这是什么意思呢?让我们来简单说说MCU烧写flash的细节:

使用特权

评论回复
地板
features|  楼主 | 2020-6-23 14:39 | 只看该作者
不同的MCU,其配置的flash物理特性可能是有区别的,读写flash需要一些跟这个flash有关的参数,比如读写周期、等待间隔、读写总线的定义等等,这些参数就是烧写falsh的“算法”。实际进行烧写操作时是分为2个步骤的:首先需要把这些算法加载(download)到MCU内部的RAM中,然后在MCU内部运行代码来具体执行这些算法、读写flash。这样,就容易理解图一提示的错误了:烧写地址 0x0800 0000 (内部flash) 的那些代码没问题,但对于地址 0x9000 0000 (外部flash),因为没有加载对应算法,不知道该怎么读写flash、无法进行烧写。

使用特权

评论回复
5
features|  楼主 | 2020-6-23 14:40 | 只看该作者
让我们来看看当前的配置中烧写算法加载的情况:

使用特权

评论回复
6
features|  楼主 | 2020-6-23 14:40 | 只看该作者
上图显示:默认只加载了F7片内2个地址段的flash算法,需要手动添加片外flash算法:点击 Add 按钮,在弹出的窗口中找到本文使用的F769I-DISCO板子对应的算法、并添加进来:

使用特权

评论回复
7
features|  楼主 | 2020-6-23 14:41 | 只看该作者
试着按下 F8 再烧写一次,又出现了错误:

提示:无法加载烧写算法!

使用特权

评论回复
8
features|  楼主 | 2020-6-23 14:41 | 只看该作者
这是因为download算法文件是需要占用MCU片内RAM空间的,而这个空间大小是由KEIL默认分配好的,一般是0x1000 。现在需要扩大这个空间到0x2000:

使用特权

评论回复
9
features|  楼主 | 2020-6-23 14:42 | 只看该作者
再次烧写,出现烧写的进度条,直到烧写完毕:

使用特权

评论回复
10
features|  楼主 | 2020-6-23 14:42 | 只看该作者
如果多次遇到能正常开始烧写、但中途报错、中断烧写的情况,可以改为在KEIL中使用ST-LINK烧写(至少可以烧写的更快!)。

下一节将介绍:如何在IAR中烧写目标文件。

使用特权

评论回复
11
features|  楼主 | 2020-6-23 14:43 | 只看该作者

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

使用特权

评论回复
12
观海| | 2020-7-10 14:07 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
13
guanjiaer| | 2020-7-10 14:08 | 只看该作者
这是最新版本吗

使用特权

评论回复
14
heimaojingzhang| | 2020-7-10 14:08 | 只看该作者
老版本有这种bug吗

使用特权

评论回复
15
keaibukelian| | 2020-7-10 14:09 | 只看该作者
确实期待后续更新

使用特权

评论回复
16
labasi| | 2020-7-10 14:09 | 只看该作者
楼主辛苦了

使用特权

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

本版积分规则

41

主题

463

帖子

1

粉丝