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

基于STM32的TouchGFX从旧版本更新到新版本的方法

[复制链接]
STMCU小助手 发布时间:2023-11-4 14:23
01引言
$ q2 l# R# F) B随着 TouchGFX 不断进行软件版本更新,其提供的功能也越来越丰富,有些新的功能只有更新的版本才有,所以很多时候会面临将旧版本的 TouchGFX 迁移到更新版本的问题。在创建 TouchGFX 应用时,生成的.touchgfx 工程文件版本与用来创建应用的TouchGFX Designer 版本相同,TouchGFX Designer 在设计上是向后兼容的,您可以使用更新版本的软件来开发您的应用。在大多数情况下,仅需一个极简单的流程便可使旧版本应用能够工作在 TouchGFX 新版本上。 + a9 h) K5 A) {, k* Z1 w
2 C# o7 h/ [6 g6 \5 e$ V- w
本文档提供了如何从较旧版本的 TouchGFX 升级到较新版本的教程,总结可能发生的常见问题及其各自的解决方案。本文档可能并不详尽,可能在将来进行更新,但旨在解决用户在版本更新时遇到的大多数问题,以确保顺利过渡到最新版本的 TouchGFX,从而享受最新版本的 TouchGFX 功能。$ e# ?5 L) G" g/ A0 _1 N. {2 P

! D  \9 A+ U- b- s' q02TouchGFX软件升级安装
; J$ `. D/ `! c& ^( X' AX-CUBE-TOUCHGFX 是 STM32Cube 生态系统的一个软件包,它包含以下组件:TouchGFX Designer,TouchGFX Generator 和 TouchGFX Engine,其中 TouchGFX Designer 是用来构建 UI 的 GUI 构建工具,TouchGFX Generator 是通过 STM32CubeMX来生成用户 TouchGFX HAL 的工具,TouchGFX Engine 是驱动 UI 应用程序的TouchGFX C++框架。软件升级所涉及到的主要是 STM32CubeMX 中 TouchGFX Generator 插件升级安装和 TouchGFX Designer 升级安装。
! f7 D- Y- E3 G2 R. ]$ A, s, h. O8 H" A5 q( W# x0 D* f
2.1. 安装新版本 TouchGFX Generator7 T2 {3 d/ H( l, L
打开 STM32CubeMX 软件,点击菜单栏“Help”下的“Manage Embedded Software Package”,或者按键 ALT + U,进入到软件包列表。
* e4 [/ m. w6 r4 |' g0 z8 N" w# ?6 h" J
/ |& ], j: K- i, g
微信图片_20231104141335.png
图1.点击菜单栏“Help”下的“Manage Embedded Software Package”
, h# q5 B: M3 R# g% U  c$ @1 U
进入软件包列表后,单击“Refresh”以获取有效的可更新的软件包列表,此操作需保证电脑网络连接正常。
. ]8 T9 N0 P1 b) b8 u1 w
( S2 P( D" j2 J* B0 D

, l8 x, R: r/ [% `0 A
4 _% M8 b' z+ g8 X
微信图片_20231104141332.png
图2.STM32CubeMX 中的软件包列表

1 o7 J. D' C9 h4 S: V7 k然后转到“STMicroelectronics”选项卡, 滚动直至找到“X-CUBE-TOUCHGFX”,然后展开节点,选中最新版本“TouchGFX Generator 4.20”复选框,然后点击“Install ”,此时将下载软件包并显示许可协议。
3 P3 o/ d2 e) Q
* m! V8 g5 R: A1 K# X

% }: h4 f0 \' W! A" p& ^) @8 ~: j* t' X. S

3 ~2 v1 y) V, z1 F- M& m1 G
微信图片_20231104141329.png
图3.安装好 TouchGFX Generator 4.20 后的界面

; [5 r1 }+ D; Z) s* E* R2 O: ~2.2. 安装新版本 TouchGFX Designer
) d$ W( }  Z5 D5 ~( g/ u5 b0 {& I; A在类似路径
* _+ j+ v& `6 M0 d- y7 l4 {C:\Users\\STM32Cube\Repository\Packs\STMicroelectronics\X-CUBETOUCHGFX\4.20.0\Utilities\PC_Software\TouchGFXDesigner 找到 TouchGFX.msi 安装程序,双击 TouchGFX.msi 文件可打开安装程序,按照说明完成安装过程。路径根据您的安装路径略有不同。 ! d4 [: N. T  k8 E7 l

+ W0 \. E5 |7 j5 T1 g5 F9 g! N

  s4 Q  m: u  A9 ~( @$ A' L
微信图片_20231104141326.png
图4.开始安装 TouchGFX Designer 4.20
5 F" J; `# \% c' E

4 d) b, i% q$ R$ F, O0 C- L+ A6 N+ b6 E
03工程项目由旧版本迁移到新版本TouchGFX$ R8 o6 o" D- m
安装好新版本的 TouchGFX 软件后,下面介绍将您的工程代码迁移至新版本TouchGFX 的方法。一个完整的软件工程升级到新版本包括 STM32CubeMX 中TouchGFX Generator 配置升级并生成代码和使用新版本 TouchGFXDesigner 打开文件并生成代码。
2 J3 T7 g" ^6 a$ Q1 I% P7 Y
2 l# C% H  x. Z" N3.1. STM32CubeMX 中 TouchGFX Generator 配置升级& c. P" Q' q: \3 i! e
3.1.1. 使用最新版本 STM32CubeMX 打开旧版本的.ioc 文件
( _* ]: h, z( w: k, w使用最新版本的 STM32CubeMX 打开旧版本的.ioc 文件,CubeMX 会弹出类似如下的窗口。在项目加载时:STM32CubeMX 会检测该项目是否使用该工具的旧版本创建,如果是,则会建议用户迁移,以使用最新的 STM32CubeMX 数据库和 STM32Cube 固件版本,或者继续。点击继续将保持用于创建项目的数据库不变。如果计算机上没有所需的数据库版本,则会自动下载该版本。升级到 STM32CubeMX 新版本时,请确保在加载新项目之前始终备份项目(特别是当项目包含用户代码时)。
/ k0 }( b% a' q! @  N3 G$ W8 V% U& `$ [" t& k* _
4 O& {& P2 i4 L/ w- c
微信图片_20231104141323.png
图5.STM32CubeMX 加载工程
8 d1 g$ ~) w7 g$ k' O2 Z
微信图片_20231104141250.png
图6.点击 Migrate 进行工程迁移
: k) E3 c) {3 o# c
3.1.2. 在 STM32CubeMX 中更改 TouchGFX Generator 版本
" H# I( X5 v+ Y+ S; d在 STM32CubeMX 软件中,点击 STMicroelectronics.X-CUBE-TOUCHGFX.4.20.0 进入 TouchGFX Generator 配置界面。在开始升级软件版本时,请首先截图保留以下配置,以方便后面对照更新配置。
6 |: D7 q/ |, |
5 G4 y. c& |6 s

; [+ M4 D# I/ Y+ L- M' L* f
微信图片_20231104141247.png
图7.截图保留原 TouchGFX Generator 配置

* e9 v3 e! ^" F: ?7 d1 `点击 Software packs 选择 Select Components ,在部件选择窗口,取消选择旧版本TouchGFX Generator,然后再选择最新版本的 TochGFX 4.20(或者将来更新版本)。当TouchGFX 4.20 被选中后,需要通过选择 TouchGFX Generator 来应用它。
0 R. D/ N3 z: k7 W3 ~, l# ~7 m6 K$ c4 _% P& U" W
微信图片_20231104141244.png
图8.更改 STM32CubeMX 中 TouchGFX Generator 版本的步骤
- s5 i, s- {. e+ d1 B( s
3.1.3. 更新 TouchGFX Generator 配置参数5 c& Y5 T) u" z- G- {( ^$ T; _7 ^
回到 TouchGFX Generator 配置界面,我们使用以前版本图 7 中的参数配置新的TouchGFX Generator,最后点击生成代码。
; f; f8 w" J0 O
' W" P) b% z" j; {5 o* c

# o/ K1 ]% l1 _& |& B- ^. y# R5 p' E6 Q9 K" u7 Y1 c5 t* k( O
微信图片_20231104141240.png
图9. 更新 TouchGFX 配置和生成代码
6 b! T9 R- ^( B  T
忽略以下 warning, 点击 Yes。
4 P/ g) C: ]' g% {  [, y. Y" i
5 ]9 d0 k4 G- S8 [4 B
微信图片_20231104141237.png
$ a" E( w* X' e# O; ?6 B
3.2. 使用新版本 TouchGFX Designer 打开 .touchgfx 文件生成代码
% z9 W' a* `- c# ~% d右键单击 .touchgfx.part 文件,然后选择最新的 TouchGFX Designer 打开,您将收到一个弹出窗口,要求您确认更新,请点击“是”。 / E$ O: I! u$ `) ~5 E+ t8 |
1 X7 w1 F& ?1 E- K* i9 [0 H
然后,您需要先删除 build 和 generated 文件夹,再重新生成代码。执行此操作后,需要在 STM32CubeMX 中再次生成代码。此时可以使用您的 IDE 来编译项目,并查看是否有任何错误。6 r/ e  Y) U8 }( I& L" [% I- W
1 S, o' U2 H1 {- X! T  Q
微信图片_20231104141234.png
" d( U/ t8 \6 }+ t7 F
微信图片_20231104141231.png
图11. 选择最新的 TouchGFX Designer 打开.touchgfx 文件

3 m; i, {: B% R% S/ s
! c0 O: z; }% o- F9 {
) _8 ^; x3 e; ]" h+ ~( u
04软件升级遇到的常见问题$ t) R6 B1 q$ u: r6 K" |# w: O
在软件版本升级之前一定要备份自己的软件工程,这是十分重要的。在将旧版本的TouchGFX 工程迁移到新版本的过程中,有以下事项需要检查确认:
4 ]6 @+ z5 h# C, C(1)使用新版本 TouchGFX Designer 生成代码之前,是否在 STM32CubeMX 中使用相同版本的 TouchGFX Generator 并生成代码?如果您使用 TouchGFX 4.20,则需要在STM32CubeMX 中使用 TouchGFX Generator 4.20 和 TouchGFX Designer 4.20, 版本要保持一致。STM32CubeMX 的版本要选择支持 TouchGFX Generator 最新版本的版本,例如,要使用 TouchGFX Generator 4.20,那么 STM32CubeMX 的版本要最低为 6.5。; T) g; q- g1 p: [1 F+ l9 v

% e4 d# Z9 J4 n4 J4 ^: p
2 c7 o9 z9 K# t0 t3 Y0 o% }- q* g
(2)检查代码中是否缺少#include 行。使用某些功能时,保证始终在每个文件中包含正确的路径。
, L- L8 F2 G& e7 Z: h+ p# v2 V6 R" m5 m% e0 c9 G: ?. b1 [* l

5 [7 G/ i: w- ~5 g: B(3)检查您使用的函数是否已被弃用,或者是否更改了名称。您可以参考帮助文档中的更新日志页面。# x) {9 \, h) j& e/ H

0 y& U+ x0 q% [0 M, O) F
* g8 l* v% A) G! M5 Z6 F
(4)建议使用 STM32CubeMX 单机应用程序,而不要使用 STM32CubeIDE 中的STM32CubeMX。因为在 STM32CubeIDE 使用 STM32CubeMX 进行升级会遇到更多的问题。
" Z8 \1 ]9 c# S' z. y; b+ G, O  a6 K& o. F

5 ]* w7 ?7 p' q" N% Z) E1 }(5)升级结束后,在重新编译代码之前,Clean 你的工程和去除之前编译的目标文件。 ! Z+ C+ c* m: Z
/ s, p* f$ J3 P: Q& N) e' x

/ k* b+ d+ O$ {7 a7 @(7)在迁移之前,请确保您没有用户代码部分之外的代码,否则您的代码将在代码生成后被删除。
$ v+ m1 m# U8 e3 D+ v& k$ R) r
+ J" q) o4 G! _+ r; |

; X$ Z  v) k. g& }(8)TouchGFX/Target 文件夹将在迁移后被修改,因此您可能需要将以前的代码复制粘贴到新创建的文件中。
2 k9 z" s4 K1 Q1 A2 ~0 M+ B0 b; V1 [% O* s

. r% n4 }6 A6 h9 b1 I(9)TouchGFX 设计团队已经列出了 TouchGFX 版本中已知存在的问题,以及可能的解决方法。
! d1 I3 j% @. l5 f
9 e0 @" I6 G+ v) P  E1 i3 ^
4 O" z1 o" Y! b3 @( N1 H
转载自: STM32单片机
! |" I# U( N* V- X; X$ w* y. T  e' a6 l2 L
如有侵权请联系删除
( l. n- G7 Z6 A: }8 a- M: |
8 P3 n5 G/ D3 j3 ]
; Z6 N6 L2 R0 X! o( h
收藏 评论0 发布时间:2023-11-4 14:23

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版