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

touchgfx的图形界面设计完毕后,最终都要生成可烧写的目标文件、下载到目标板上来验证。一般来说,有4种烧写目标文件的方法:gcc、Keil、IAR、ST-LINK。gcc实际上是在Makefile中调用了ST-LINK,所以去掉gcc、可以认为有3种烧写途径,我们先从ST-LINK讲起。首先,需要先安装好ST-LINK的工具包,桌面图标如下:


touchgfx工程项目因为有图形界面,图片占的存储空间比较大,一般目标板上都有外扩的flash,touchgfx生成的图片等“资源文件”多数情况下需要放到这个外部flash中,如何将目标文件(事实上是其中一部分)烧写到外部flash,是需要特殊处理的。以官方板子 STM32F769I-DISCO 为例,从板子原理图可以看到,板子是有外扩QSPI接口的 nor flash 的:


TouchGFX工程中hex目标文件的烧写方法(一)使用ST-LINK_第1张图片
图一

板子做了冗余设计,是可以支持MICRON和MACRONIX两家器件供应商的IC的,具体是哪一个,让我们来看看板子上的器件吧:


图二

小心地去掉LCD的4个固定螺丝、摘除LCD后,可以看到PCB板子上的那颗IC是MX25L512G,是MACRONIX的。下面要做的就是在ST-LINK中配置支持这个flash芯片烧写的算法文件:在 ST-LINK Utility 中,点击 External Loader 菜单:


TouchGFX工程中hex目标文件的烧写方法(一)使用ST-LINK_第2张图片
图三

所谓 External Loader ,就是外部flash的烧写算法文件。弹出一个窗口,在窗口中选择 STM32F769I-DISCO 板子对应的器件:


TouchGFX工程中hex目标文件的烧写方法(一)使用ST-LINK_第3张图片
图四

点击窗口下方的 Validate 按钮,ST-LINK 中, External Loader 菜单下多出一个项目:


TouchGFX工程中hex目标文件的烧写方法(一)使用ST-LINK_第4张图片
图五

表明外部flash算法文件已经正确加载了。选择一个touchgfx工程生成的目标文件(通过gcc的方法生成的是target.hex)来试着烧写一下:将target.hex文件拖动到ST-LINK窗口中:


TouchGFX工程中hex目标文件的烧写方法(一)使用ST-LINK_第5张图片
图六


TouchGFX工程中hex目标文件的烧写方法(一)使用ST-LINK_第6张图片
图七

可以看到,hex文件中不仅有MCU片内flash代码部分(即0x0800 0000开始的地址),还有从地址0x9000 0000开始的代码,而这部分代码正是要放到片外flash中的。如果之前没有加载外部flash算法文件,烧写时就会出错。

好了,现在从ST-LINK中点击“连接目标板”,然后Ctrl+P,就可以烧写了。


但是,使用ST-LINK毕竟不如在KEIL和IAR中烧写hex来的简单、直接,下一篇将介绍如何在KEIL中配置烧写外部flash。

你可能感兴趣的:(TouchGFX工程中hex目标文件的烧写方法(一)使用ST-LINK)