TouchGFX在原子STM32F429阿波罗板 开发与移植 简易教程

2019-07-20 02:15发布

本帖最后由 a1211762993 于 2017-4-6 15:20 编辑

由于TouchGFX属于收费图形库,其价格对于普通电子爱好者来说偏高,导致使用TouchGFX的人数较少。

考虑到图形库的推广问题,TouchGFX向大家提供了评估学习版,该版本面用于大众的评估与学习,不收取任何费用(会带有TouchGFX水印)。


TouchGFX在阿波罗板上的展示:http://www.openedv.com/forum.php?mod=redirect&goto=findpost&ptid=98190&pid=553273

TouchGFX为了方便大家的开发,向大家提供了TouchGFX Designer,目前最新版本4.8.0

百度云下载地址:
http://pan.baidu.com/s/1jIkeplO 密码:chsh

TouchGFX的高级调试工作与Emwin模拟器相仿,需要Microsoft Visual Studio的支持。建议大家在使用TouchGFX前自行安装2010以上的版本。

本教程主要面对于原子STM32F429阿波罗板,其他开发板请参考本教程开发与移植。

TouchGFX Designer主界面,设置相关参数:
1.jpg

点击“Create”之后:
2.jpg

首先放一个480*272的Box在“Screen1”里,并设置颜 {MOD}为蓝 {MOD}:
3.jpg

添加一个“Button With Label”组件,并设置按钮文本为“New Button”:
4.jpg

点击“新增屏幕”,并按照之前的方法创建“Screen2”:
5.jpg

为“Screen1”创建逻辑:
6.jpg

编写逻辑:当按钮按下跳转至“Screen2”:
7.jpg

同样的方法为“Screen2”编写逻辑:当按钮按下跳转至“Screen1”:
8.jpg

仿真运行检验效果:
9.jpg


TouchGFX的高级调试需要Visual Studio完成,工程目录:根目录STM32F429AppollosimulatormsvsApplication.sln


高级调试可以给你的界面加上更多的功能,这个需要大家慢慢探索吧。附TouchGFX手册:http://touchgfx.com/documentation/html/index.html

TouchGFX的移植工作主要在于5个方面(阿波罗板):

1、外部SDRAM
2、外部NAND FLASH
3、显示部分
4、TouchGFX的内部GPIO
5、触控部分

其中外部NAND FLASH用作一些图像存储。TouchGFX的内部GPIO用作TouchGFX的调试。这两个不是必须移植项目。因此我们主要移植1、3、5部分即可。

TouchGFX Designer为我们自动生成的工程文件目录在:根目录STM32F429Appollo argetSTSTM324x9I-CUBEKeil里。

需要我们编辑的文件有(最简移植):
BoardConfiguration.cpp(TouchGFX的初始化操作)
stm324x9i_eval_sdram.c(外部SDRAM)
stm324x9i_eval_lcd.c(显示部分)
stm324x9i_eval_ts.c(触控部分)
STM324x9ITouchController.cpp(触控调用部分)

其中在“BoardConfiguration.cpp”里的“hw_init()”需要将“BSP_NOR_Init();”与“GPIO::init();”屏蔽(我们不需要这两个功能)。
void hw_init()
{
    HAL_Init();
    SystemClock_Config();
//    BSP_NOR_Init();
  BSP_SDRAM_Init();
  LTDC_Init();
//   GPIO::init();
}


其余部分按照原子的驱动代码进行移植,由于我们并没有移植外部FLash,TouchGFX中的按钮属于外部图像,需要设置图像来源为内部FLASH,在“Config.hpp”中,将“LOCATION_EXTFLASH_ATTRIBUTE”后面的“__attribute__ ((section ("ExtFlashSection"))) __attribute__ ((aligned(4)))”删除。


编译工程,烧录程序至原子阿波罗板。大功告成!

IMG_20170406_144749.jpg


附工程文件(时间紧迫移植的乱七八糟,各位见谅): STM32F429Appollo.rar (9.87 MB, 下载次数: 28740) 2017-4-6 15:18 上传 点击文件名下载附件
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。