查看: 5271|回复: 0

[STM32F469试用体验]创建并调试TouchGFX工程

[复制链接]
  • TA的每日心情
    开心
    2016-12-15 12:17
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2016-5-23 11:21:25 | 显示全部楼层 |阅读模式
    分享到:
    1.  关于TouchGFX
    TouchGFX是一个用C++语言编写的GUI框架,使用TouchGFX可以在资源有限的嵌入式系统中创建现代GUI界面。什么是现代GUI界面?其实主要就是区分于“古代”GUI界面,即以emWin GUI为代表的GUI界面。“古代”GUI界面类似于Windows XP系统,现代GUI界面类似于Windows 7但又有些嵌入式操作界面的特性。TouchGFX的界面如下图所示。

    emWin GUI的界面如下图所示。

    通过对比,TouchGFX看起来很酷,而emWin看起来生硬。或许TouchGFX可以用于民用场景,而emWin感觉工业级视觉明显。TouchGFX和emWin都是收费软件,而且都比较贵!不过我们可以使用ST提供的STemWin GUI,STemWin GUI就是emWin GUI的二进制版本,不提供源代码,只要用于ST的芯片,都是免费的。
    尽管TouchGFX看起来好像挺耗费资源,其实不然。TouchGFX需要一个RTOS支持,官方使用的是FreeRTOS,不用RTOS也行,只是复杂一些罢了。炫酷的界面其实就是图形,字体也是代码表示的,这一点和emWin类似。TouchGFX和emWin的区别在于实现框架不同。TouchGFX实现了基于MVP架构的框架,而emWin的实现类似于Windows编程方式。TouchGFX的框架需要11~35KB的RAM,21~40KB的ROM,还需要1~8MB的flash存储图形、字体、文本等数据。小一点的MCU是无法满足TouchGFX的运行了。但STM32F469I-DISCOVERY就可以,它就是专门满足图形需求的,STM32F469I-DISCOVERY还配备一个4英寸800*480的屏幕,分辨率相当高了。在STM32F469I-DISCOVERY上面也能最大的发挥TouchGFX的特性。
    TouchGFX可以使用Visual Studio再加上GCC开发满足不同MCU平台。也可以使用Visual Studio再加上MDK-ARM(或IAR)来开发。也可以直接试用MDK-ARM(或IAR)开发。使用Visual Studio主要是能够快速的编写基本的代码,然后再试用GCC或者MDK-ARM(或IAR)编译到目标版。通过参考资料[1]下载一个开发包,当前TouchGFX最新版本是v4.5.1,其中,app文件夹包括了所有的示例程序和模板,doc文件夹是全部TouchGFX的文档,touchgfx文件夹是TouchGFX的库和第三方软件包。我们使用:
    “app->demo->touchgfx_demo2015_800x480\target\ST\STM32469I-DISCO\Keil”工程来调试开发TouchGFX。如下图所示。

    2.  调试TouchGFX
    注意:如果没有安装或配置MDK-ARM,请先参考[3]:MDK-ARM开发环境的搭建及调试程序流程
    在“app->demo->touchgfx_demo2015_800x480\target\ST\STM32469I-DISCO\Keil”路径中,直接双击“application.uvprojx”可以试用MDK-ARM打开该工程,如果该工程是由uVision v4创建的,那么还需要进行一个简单的转换,如下图所示,直接点击选择“Migrate to Device Pack”按钮即可完成转换到uVision v5版本。

    打开该工程后,需要参考我的上一篇文章《MDK-ARM开发环境的搭建及调试程序流程》中的第5步设置下编译环境。然后选择“Project->Rebuild all target files”菜单重新编译生成,此过程较慢,需要大约2分半,如下图所示。

    上图中显示一个关于FreeRTOS的警告,此处先忽略它,我们先开始调试。编译无误后,选择“Debug->Start/Stop Debug Session”菜单,开始调试。开始调试前MDK-ARM会先把程序映像下载到开发板中,并加载库文件,这需要大约2分钟左右。典型的调试窗口如下图所示。

    然后,选择“Debug->Run”菜单,程序开始执行,此时开发板屏幕显示内容。如下图示。

    上图是示例程序的一个子功能展示,叫做“Graph Demo”。图中红框有个水印,TouchGFX是一个收费软件,还比较贵,如果没有授权那么会隔一段时间显示约1秒的水印。图中下方图形不自然,这可能是由于工程图形编译时的问题,或者是外部Flash存放图形时的问题。后续可以在Visual Studio中编译下看看效果。
    3.  总结
    本文展示了TouchGFX及如何试用MDK-ARM编译、调试示例工程。TouchGFX具有非常现代的GUI界面,相对于emWin来说改善了呆板和嵌入式操作界面的可操作性。TouchGFX是收费软件,且学习起来也不简单,而且通过调试发现TouchGFX资料、更新和技术支持较弱,用的人还比较少。对于免费的STemWin来说,资料多、免费且易于学习,但是GUI界面不好看。对于该使用何种GUI界面,可以根据具体客户需求,来提供不同的评估方案。
    4.  参考资料
    [1] TouchGFX: https://touchgfx.com/
    [2] emWin: https://www.segger.com/emwin.html
    [3] 《MDK-ARM开发环境的搭建及调试程序流程》: https://jingyan.eeboard.com/article/75106
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-5-18 17:01 , Processed in 0.128674 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.