touchgfx程序_TouchGFX在原子STM32F429阿波罗板 开发与移植 简易教程
本帖最后由 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 (98.6 KB, 下载次数: 16)
2017-4-6 13:49 上传
点击“Create”之后:
2.jpg (169.21 KB, 下载次数: 12)
2017-4-6 13:50 上传
首先放一个480*272的Box在“Screen1”里,并设置颜色为蓝色:
3.jpg (117.94 KB, 下载次数: 6)
2017-4-6 13:56 上传
添加一个“Button With Label”组件,并设置按钮文本为“New Button”:
4.jpg (117.87 KB, 下载次数: 3)
2017-4-6 13:56 上传
点击“新增屏幕”,并按照之前的方法创建“Screen2”:
5.jpg (119.71 KB, 下载次数: 5)
2017-4-6 13:56 上传
为“Screen1”创建逻辑:
6.jpg (108.51 KB, 下载次数: 11)
2017-4-6 14:02 上传
编写逻辑:当按钮按下跳转至“Screen2”:
7.jpg (124.38 KB, 下载次数: 4)
2017-4-6 14:02 上传
同样的方法为“Screen2”编写逻辑:当按钮按下跳转至“Screen1”:
8.jpg (135.95 KB, 下载次数: 6)
2017-4-6 14:02 上传
仿真运行检验效果:
9.jpg (134.96 KB, 下载次数: 5)
2017-4-6 14:03 上传
TouchGFX的高级调试需要Visual Studio完成,工程目录:根目录\STM32F429Appollo\simulator\msvs\Application.sln
TouchGFX的移植工作主要在于5个方面(阿波罗板):
1、外部SDRAM
2、外部NAND FLASH
3、显示部分
4、TouchGFX的内部GPIO
5、触控部分
其中外部NAND FLASH用作一些图像存储。TouchGFX的内部GPIO用作TouchGFX的调试。这两个不是必须移植项目。因此我们主要移植1、3、5部分即可。
TouchGFX Designer为我们自动生成的工程文件目录在:根目录\STM32F429Appollo\target\ST\STM324x9I-CUBE\Keil\里。
需要我们编辑的文件有(最简移植):
\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 (127.55 KB, 下载次数: 5)
2017-4-6 14:49 上传
附工程文件(时间紧迫移植的乱七八糟,各位见谅):
STM32F429Appollo.rar
(9.87 MB, 下载次数: 37554)
2017-4-6 15:18 上传
点击文件名下载附件
touchgfx程序_TouchGFX在原子STM32F429阿波罗板 开发与移植 简易教程相关推荐
- touchgfx程序_TouchGFX使用教程
TouchGFX使用教程(一) 前言 TouchGFX背景 TouchGFX工程的结构 后记 前言 大家好,本人最近在做项目开发,项目中使用TouchGFX工具进行开发界面,同时使用stm32系列的芯 ...
- 正点原子STM32F429核心板的插座型号
摘要:正点原子STM32F429核心板应用广泛,可以将其插在功能底板上设计开发.因此开发者可以关注核心功能实现,不必关心高速电路部分的稳定性等.那么这个核心板的对外接口型号是什么?核心板的引脚分布是什 ...
- stm32f767中文手册_ALIENTEK 阿波罗 STM32F767 开发板资料连载第五章 SYSTEM 文件夹
1)实验平台:alientek 阿波罗 STM32F767 开发板2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第五章 SYSTEM 文 ...
- cc2530定时器和捕获比较_ALIENTEK 阿波罗 STM32F767 开发板资料连载十四章 输入捕获实验...
1)实验平台:alientek 阿波罗 STM32F767 开发板2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 http://weixi ...
- fastreport masterdata每页都显示_ALIENTEK 阿波罗 STM32F767 开发板资料连载十六章 OLED 显示实验...
1)实验平台:alientek 阿波罗 STM32F767 开发板2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 http://weixi ...
- c语言头文件格式图片_阿波罗 STM32F767 开发板资料连载第四十九章 图片显示实验...
1)实验平台:alientek 阿波罗 STM32F767 开发板2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第四十九章 图片显示实验 ...
- gd32f303 设计中断优先级_ALIENTEK 阿波罗 STM32F767 开发板资料连载第九章 外部中断实验...
1)实验平台:alientek 阿波罗 STM32F767 开发板2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第九章 外部中断实验 这 ...
- stm32f767串口下载软件_ALIENTEK 阿波罗 STM32F767 开发板资料连载十四章 输入捕获实验...
1)实验平台:alientek 阿波罗 STM32F767 开发板2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第十四章 输入捕获实验 ...
- application.properties 不识别_阿波罗 STM32F767 开发板资料连载第五十八章 手写识别实验
1)实验平台:alientek 阿波罗 STM32F767 开发板2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第五十八章 手写识别实验 ...
最新文章
- IExtensibleObjectExtensibleHttpApplication的性能问题
- 安卓惯性传感器(二)
- linux的vim显示E172,Linux命令:vim
- Java黑皮书课后题第3章:*3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果
- html5media使用
- 12岁上大学,23岁获博士学位,这位天才科学家正式加盟清华
- Web开发之一:Web UI技术综述
- common-jdbc:一个基于SpringJdbcTemplate的高性能数据库操作工具类库
- 我的Qt作品(11)使用Qt+OpenCV实现一个带旋转角度的NCC灰度模板匹配演示软件
- 项目1 :家庭记账系统
- 刷排名优优软件_QQ群排名技术原理
- 计算机找不到硬盘分区,电脑硬盘分区不见了怎么办
- 计算机用户名,账户名更改
- 反复踩坑的ceres安装-----ubuntu18.04
- 如何批量删除电脑上的空文件夹?
- CCNP路由实验之十七 广域网技术之一
- python 抢票_Python3.x:抢票
- web开发前台,懒人建站资源库
- 如何对APP进行重新签名(使用命令签名)
- PM2.5传感器通过树莓派推送到ThingsPanel