• 【海东青电子-简书】touchgfx 之 《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 的:

     

     
    图一

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

     

     
    图二

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

     

     
    图三

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

     

     
    图四

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

     

     
    图五

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

     

     
    图六

     

     
    图七

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

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

     
     
    来源
  • 相关阅读:
    LeetCode数学系列(3)——快速幂算法(50题)
    LeetCode树系列(3)——200题岛屿数量
    Arrays.sort()详解
    图表示学习系列(1)——GCN学习笔记:第一部分,详细讲解GCN
    LeetCode动态规划系列(3)——编辑距离问题求解
    深度学习系列(9)——node2vec算法中的alias采样介绍
    LeetCode数学系列(2)——解决约瑟夫问题
    Java数据结构系列(4)——队列常用方法
    LeetCode树系列(1)——广度搜索应用,图的BFS
    LeetCode树系列(2)——深度搜索运用:LeetCode695题详解
  • 原文地址:https://www.cnblogs.com/skullboyer/p/12266749.html
Copyright © 2020-2023  润新知