你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【2025·STM32峰会】GUI解决方案实训分享2-编译运行TouchGFX咖啡机例程(含桌面仿真)

[复制链接]
donatello1996 发布时间:2025-5-19 11:38
       GUI解决方案的实训后半部分为编译运行TouchGFX咖啡机例程,这个部分更为耗时,从ST官方人员讲解,到动手实操,再到修改首页界面的咖啡加热圆形进度圈,用时3个半小时,从下午3点开始紧凑进行到下午6点半,中间遇到的问题也都要一一解决。
/ w2 x- A' i/ X2 ]要运行TouchGFX咖啡机例程,必须先在TouchGFX4.25目录下添加正点原子H7R7开发板的TPA文件,即对该开发板的底层硬件初始化配置,包括液晶屏驱动库,触摸屏驱动库,系统定时器,中断等等,该目录为TouchGFX安装目录的\app\packages目录下,还有对TouchGFX界面的初始化DEMO,也是TPA文件(TGUI-CoffeeMachine-WS7-P30-1.0.0.tpa TGUI-CoffeeMachine-WS7-P31-1.0.0.tpa TGUI-CoffeeMachine-WS7-P32-1.0.0.tpa):
" U" H) b+ f$ I5 u
13.JPG
2 W$ F$ L$ O( i这样,在打开TouchGFX的时候才可以正确选择开发板型号及DEMO选项:5 g! v- c/ ^$ _* K: t/ A
14.JPG
, C. _" ?& ]3 s6 ]: K4 G1 @. u" D
创建例程之后,简单浏览一下各个界面的组成控件,如Screen,一个Screen代表一个界面,创建多个Screen就可以在多个界面之间来回切换,功能类似于LVGL和QT的TableWidget;box为背景色控件,添加交互控件之前必须先添加box作为基础;button为按键控件,TouchGFX的按键是可以添加Label icon和image的,也就是文字按键、图标按键和图像按键;tileImage为实现界面水波纹的控件;circleProgress就是圆形进度圈了;还有Interaction(交互),用于实现按钮切换屏幕,tick定时器定时触发事件等等。
2 t( w- f" C; W 15.JPG 16.JPG
# t) Y# f5 \* ?; c- [+ c1 D/ W4 }1 \# s6 C7 H! q2 H0 m
右下角三个按钮分别为代码生成 桌面模拟器 编译并烧录:8 a, [% S/ g# Q& A* ]2 X6 b
17.JPG
1 m( e+ R+ T4 T/ z: L( r# n! \/ P/ G! \. ]+ y$ ^2 U
如果想要在Windows桌面端模拟这个TouchGFX工程的运行结果,那就需要先生成代码,然后点击桌面模拟器,运行环境为MSVC:% C5 s; U; n$ L/ c7 u( O; ~' E  e& ~( I
18.JPG gif1.gif
: r1 _7 ~+ r7 \; V; N& x9 Q/ K
" L0 o7 w, X) i: {7 x
如果只需要生成烧录到开发板上面的固件,那就在代码生成后运行最右边的按钮即可。这里需要提一点,由于STM32H7R7的开发板RAM资源有限,因此必须限制RGB图像格式为压缩格式,这样会大大增加编译时间,但是必须选择这点,不然是无法编译成功的:# D; p8 T4 X) s8 W: ?) ^& J
19.JPG 4 W/ @# [& B6 B3 }/ e

3 l: _. D0 d' k' K
然后就是依次烧录TouchGFX工程的Boot固件和APP固件,具体烧录方式参考上帖,但是这里需要注意的是,烧录APP固件所用的外部FLASH算法也跟上一帖不同,为EML_MX25UM51245G_STM32H7S7L8H6.stldr:
. x$ ^. h( m* ?4 B* p$ u$ n0 C 20.JPG 21.JPG 22.JPG : h/ b. g- Z1 E# Q! j7 z
8 S# A) @0 E$ v, F) N2 Q; `& ]( Y
烧录成功后,上机实测的演示效果:- \: i$ d% T7 G& K% R+ u  @. S# f

$ p& }: C5 ~: d: [, M  M

9 Y* z8 x* N. q/ v# s4 P) b8 g" x
6 z7 X# x" Y3 a" U
赞 收藏 评论1 发布时间:2025-5-19 11:38

举报

1个回答
donatello1996 回答时间:2025-5-20 11:46:19
gif2.gif
" d+ b  }" C, G7 k如图,可以看出,实训提供的TPA文件,可能对DMA2D初始化那块还需要修改一下刷屏代码,不然花屏现象非常严重。' h- O: t) ]  N. v
% L/ i" K" _+ m! }; }
( w1 o8 w: e% ]& \

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版