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

[复制链接]
996|17
 楼主| features 发表于 2020-6-23 14:13 | 显示全部楼层 |阅读模式
touchgfx的图形界面设计完毕后,最终都要生成可烧写的目标文件、下载到目标板上来验证。一般来说,有4种烧写目标文件的方法:gcc、Keil、IAR、ST-LINK。gcc实际上是在Makefile中调用了ST-LINK,所以去掉gcc、可以认为有3种烧写途径,我们先从ST-LINK讲起。首先,需要先安装好ST-LINK的工具包,桌面图标如下:
671745ef19da2a5a67.png

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

 楼主| features 发表于 2020-6-23 14:14 | 显示全部楼层
touchgfx工程项目因为有图形界面,图片占的存储空间比较大,一般目标板上都有外扩的flash,touchgfx生成的图片等“资源文件”多数情况下需要放到这个外部flash中,如何将目标文件(事实上是其中一部分)烧写到外部flash,是需要特殊处理的。

 楼主| features 发表于 2020-6-23 14:15 | 显示全部楼层
以官方板子 STM32F769I-DISCO 为例,从板子原理图可以看到,板子是有外扩QSPI接口的 nor flash 的:
610645ef19de75c0e1.png
 楼主| features 发表于 2020-6-23 14:15 | 显示全部楼层
板子做了冗余设计,是可以支持MICRON和MACRONIX两家器件供应商的IC的,具体是哪一个,让我们来看看板子上的器件吧:
49465ef19e0fdbd6e.png
 楼主| features 发表于 2020-6-23 14:16 | 显示全部楼层
小心地去掉LCD的4个固定螺丝、摘除LCD后,可以看到PCB板子上的那颗IC是MX25L512G,是MACRONIX的。下面要做的就是在ST-LINK中配置支持这个flash芯片烧写的算法文件:在 ST-LINK Utility 中,点击 External Loader 菜单:

395985ef19e359c4fa.png
 楼主| features 发表于 2020-6-23 14:17 | 显示全部楼层
所谓 External Loader ,就是外部flash的烧写算法文件。弹出一个窗口,在窗口中选择 STM32F769I-DISCO 板子对应的器件:
525915ef19e60734cc.png
 楼主| features 发表于 2020-6-23 14:17 | 显示全部楼层
点击窗口下方的 Validate 按钮,ST-LINK 中, External Loader 菜单下多出一个项目:
829625ef19e770fa5d.png
表明外部flash算法文件已经正确加载了。
 楼主| features 发表于 2020-6-23 14:18 | 显示全部楼层
选择一个touchgfx工程生成的目标文件(通过gcc的方法生成的是target.hex)来试着烧写一下:将target.hex文件拖动到ST-LINK窗口中:
669605ef19e9ad4087.png
331755ef19ea3dfe9d.png
 楼主| features 发表于 2020-6-23 14:18 | 显示全部楼层
可以看到,hex文件中不仅有MCU片内flash代码部分(即0x0800 0000开始的地址),还有从地址0x9000 0000开始的代码,而这部分代码正是要放到片外flash中的。如果之前没有加载外部flash算法文件,烧写时就会出错。

好了,现在从ST-LINK中点击“连接目标板”,然后Ctrl+P,就可以烧写了。
 楼主| features 发表于 2020-6-23 14:19 | 显示全部楼层
但是,使用ST-LINK毕竟不如在KEIL和IAR中烧写hex来的简单、直接,下一篇将介绍如何在KEIL中配置烧写外部flash。
 楼主| features 发表于 2020-6-23 14:20 | 显示全部楼层

作者:海东青电子
链接:https://www.jianshu.com/p/cba816c10124
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
東南博士 发表于 2020-6-23 17:08 | 显示全部楼层
学习学习!虽然是旧知识了 但是每次都会有新的发现!
八层楼 发表于 2020-7-10 14:01 | 显示全部楼层
非常感谢楼主分享资料
观海 发表于 2020-7-10 14:02 | 显示全部楼层
介绍的非常详细
guanjiaer 发表于 2020-7-10 14:02 | 显示全部楼层
这个工具很不错
heimaojingzhang 发表于 2020-7-10 14:03 | 显示全部楼层
哪种最简单方便啊
keaibukelian 发表于 2020-7-10 14:03 | 显示全部楼层
楼主辛苦了
jimmhu 发表于 2020-7-10 22:45 | 显示全部楼层
这个图形界面占用多大内存呢?   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

41

主题

463

帖子

1

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