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

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

[复制链接]
STMCU小助手 发布时间:2023-11-4 14:23
01引言0 U! W" k5 q* g; L
随着 TouchGFX 不断进行软件版本更新,其提供的功能也越来越丰富,有些新的功能只有更新的版本才有,所以很多时候会面临将旧版本的 TouchGFX 迁移到更新版本的问题。在创建 TouchGFX 应用时,生成的.touchgfx 工程文件版本与用来创建应用的TouchGFX Designer 版本相同,TouchGFX Designer 在设计上是向后兼容的,您可以使用更新版本的软件来开发您的应用。在大多数情况下,仅需一个极简单的流程便可使旧版本应用能够工作在 TouchGFX 新版本上。 , F9 h2 S$ a( p
' T6 @# \' u4 y1 E
本文档提供了如何从较旧版本的 TouchGFX 升级到较新版本的教程,总结可能发生的常见问题及其各自的解决方案。本文档可能并不详尽,可能在将来进行更新,但旨在解决用户在版本更新时遇到的大多数问题,以确保顺利过渡到最新版本的 TouchGFX,从而享受最新版本的 TouchGFX 功能。5 r+ G. W' z" r% O- ?, D. v' M. G
$ n, M1 D( I9 T% k! y0 i
02TouchGFX软件升级安装/ P6 ~. ~! S8 I
X-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 升级安装。
4 Q( j. p8 h1 [2 d3 X" w: A& t) N7 p" t+ N: n0 x" D# @6 s
2.1. 安装新版本 TouchGFX Generator
" [* V( T8 |8 y8 q$ |, Y打开 STM32CubeMX 软件,点击菜单栏“Help”下的“Manage Embedded Software Package”,或者按键 ALT + U,进入到软件包列表。
, D( l8 C2 \$ K+ v8 P9 {( N% F8 T: D, r; G: C- i2 w1 O! j
% e6 w6 |0 v2 g
微信图片_20231104141335.png
图1.点击菜单栏“Help”下的“Manage Embedded Software Package”

* c( o# _* S# ~* S) I进入软件包列表后,单击“Refresh”以获取有效的可更新的软件包列表,此操作需保证电脑网络连接正常。. {* ~* {4 o& C7 c9 W4 W# c/ [! E
# h, u: Y3 p7 C# t: I8 H
, r( @0 c$ _0 V0 g, t3 R- j

3 o1 b! Q. q' \( W
微信图片_20231104141332.png
图2.STM32CubeMX 中的软件包列表
: [9 _! Z$ D* i
然后转到“STMicroelectronics”选项卡, 滚动直至找到“X-CUBE-TOUCHGFX”,然后展开节点,选中最新版本“TouchGFX Generator 4.20”复选框,然后点击“Install ”,此时将下载软件包并显示许可协议。1 |0 |+ ~$ F. R& n$ J
' D9 T7 G+ a+ V" C- W

4 b! n" H! O1 I/ M4 `. }; ^
+ Q7 ^6 L: z- F# l  Q
" p/ A( C; ?+ ^4 T1 [6 c$ h& N
微信图片_20231104141329.png
图3.安装好 TouchGFX Generator 4.20 后的界面

* n) L; \* C) v2.2. 安装新版本 TouchGFX Designer
# W' v* l" F/ p' ?, `& P! b2 [9 c1 g在类似路径8 F1 i1 y3 l% y* u6 Q
C:\Users\\STM32Cube\Repository\Packs\STMicroelectronics\X-CUBETOUCHGFX\4.20.0\Utilities\PC_Software\TouchGFXDesigner 找到 TouchGFX.msi 安装程序,双击 TouchGFX.msi 文件可打开安装程序,按照说明完成安装过程。路径根据您的安装路径略有不同。 9 v8 l  }& K/ k7 q
' z+ ^, `! P1 x" }
! L7 n) b- w5 R
微信图片_20231104141326.png
图4.开始安装 TouchGFX Designer 4.20

& v3 D' r& z, x3 w3 |
! _3 ]$ m: ^! l9 r
) F' q1 A9 X  O+ i6 r
03工程项目由旧版本迁移到新版本TouchGFX
- X$ a0 _1 M  U3 _安装好新版本的 TouchGFX 软件后,下面介绍将您的工程代码迁移至新版本TouchGFX 的方法。一个完整的软件工程升级到新版本包括 STM32CubeMX 中TouchGFX Generator 配置升级并生成代码和使用新版本 TouchGFXDesigner 打开文件并生成代码。
0 I" t  R/ e/ o
0 M' U7 W  s+ y4 p0 g' f6 O3.1. STM32CubeMX 中 TouchGFX Generator 配置升级* F* I/ t- A: B, n+ s% e5 k
3.1.1. 使用最新版本 STM32CubeMX 打开旧版本的.ioc 文件
; `/ O* l- \. e) r3 P5 t使用最新版本的 STM32CubeMX 打开旧版本的.ioc 文件,CubeMX 会弹出类似如下的窗口。在项目加载时:STM32CubeMX 会检测该项目是否使用该工具的旧版本创建,如果是,则会建议用户迁移,以使用最新的 STM32CubeMX 数据库和 STM32Cube 固件版本,或者继续。点击继续将保持用于创建项目的数据库不变。如果计算机上没有所需的数据库版本,则会自动下载该版本。升级到 STM32CubeMX 新版本时,请确保在加载新项目之前始终备份项目(特别是当项目包含用户代码时)。
* o  K6 @+ [( @0 t0 j. t
9 ~- z" Y# m7 ]( x1 D  j

7 r0 X9 h  h; d4 \) R% x5 l
微信图片_20231104141323.png
图5.STM32CubeMX 加载工程
, L+ V  h2 {* B2 i' h& a
微信图片_20231104141250.png
图6.点击 Migrate 进行工程迁移

) _; T- [/ M- [3.1.2. 在 STM32CubeMX 中更改 TouchGFX Generator 版本
: ]4 y' G+ E) J* Z" `$ e在 STM32CubeMX 软件中,点击 STMicroelectronics.X-CUBE-TOUCHGFX.4.20.0 进入 TouchGFX Generator 配置界面。在开始升级软件版本时,请首先截图保留以下配置,以方便后面对照更新配置。+ q1 [( r- F3 m9 {  t8 |. N

! |* U7 q1 ?- M3 n! K7 i

+ n2 ^) v) u. U0 y
微信图片_20231104141247.png
图7.截图保留原 TouchGFX Generator 配置

. T3 h" c' b% `7 S- T点击 Software packs 选择 Select Components ,在部件选择窗口,取消选择旧版本TouchGFX Generator,然后再选择最新版本的 TochGFX 4.20(或者将来更新版本)。当TouchGFX 4.20 被选中后,需要通过选择 TouchGFX Generator 来应用它。
1 W) F2 ?/ C. [8 B! s4 d
; L9 Q/ P) ^  u
微信图片_20231104141244.png
图8.更改 STM32CubeMX 中 TouchGFX Generator 版本的步骤
" O: P% l1 |( U4 B3 Y2 k1 R
3.1.3. 更新 TouchGFX Generator 配置参数
2 a2 F9 w1 G( G6 r: k" {% y' P回到 TouchGFX Generator 配置界面,我们使用以前版本图 7 中的参数配置新的TouchGFX Generator,最后点击生成代码。3 o4 H2 u  d( p; e) j3 R

: P5 f( I; c/ s8 W; A

6 Y' n$ z7 u. |4 P( M+ z3 R$ z3 M+ ]6 f! y* M: Q( u
微信图片_20231104141240.png
图9. 更新 TouchGFX 配置和生成代码
5 {8 Q- x+ W5 ?' j4 P+ a
忽略以下 warning, 点击 Yes。1 ^8 r* f* Y- [2 @7 _6 }. P
/ c& ~8 g" i2 t/ i  b
微信图片_20231104141237.png

! r- p4 @. S. K( M' z4 [3.2. 使用新版本 TouchGFX Designer 打开 .touchgfx 文件生成代码. c) U% q4 w1 {, l) Z5 y& u6 M
右键单击 .touchgfx.part 文件,然后选择最新的 TouchGFX Designer 打开,您将收到一个弹出窗口,要求您确认更新,请点击“是”。 4 J* y0 m) r9 U. i6 k5 L

+ A+ B( d$ P. G0 |( z2 A2 l2 m) y然后,您需要先删除 build 和 generated 文件夹,再重新生成代码。执行此操作后,需要在 STM32CubeMX 中再次生成代码。此时可以使用您的 IDE 来编译项目,并查看是否有任何错误。, }. F  W8 Q+ i8 B, W, G# v0 Z% D

# f: a5 I1 ^+ ~) @$ g7 ?
微信图片_20231104141234.png
) s) t6 {8 ~  s3 q
微信图片_20231104141231.png
图11. 选择最新的 TouchGFX Designer 打开.touchgfx 文件
7 Y( f8 A- e9 t

9 j' g2 T4 a+ Z
% ]+ P3 U" N9 L& R04软件升级遇到的常见问题
6 ]8 G" O) j* g9 S2 Y% `在软件版本升级之前一定要备份自己的软件工程,这是十分重要的。在将旧版本的TouchGFX 工程迁移到新版本的过程中,有以下事项需要检查确认:( m$ _) h5 r: n, |# p3 c" f6 T
(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。
$ p7 n9 L3 w  R+ g1 P& D9 [( t( c0 W6 N$ U+ b! x
! u/ @7 K2 w  M8 Z- K
(2)检查代码中是否缺少#include 行。使用某些功能时,保证始终在每个文件中包含正确的路径。1 C1 K1 h0 q" G, p  b* }. Y2 P. Z. X0 y

0 M! |( W# n' |( t1 \: j
! h" J# u; F4 [. O/ v* ~
(3)检查您使用的函数是否已被弃用,或者是否更改了名称。您可以参考帮助文档中的更新日志页面。0 s+ |4 L8 q) N
  i, T- ?8 Y( ?, S0 d/ `

4 x: S- E# X) \! D5 |; T(4)建议使用 STM32CubeMX 单机应用程序,而不要使用 STM32CubeIDE 中的STM32CubeMX。因为在 STM32CubeIDE 使用 STM32CubeMX 进行升级会遇到更多的问题。
! N  t% h! g8 m. d5 I# {! n2 R$ e5 Z
% Z# y; w$ O6 O" j) ~
(5)升级结束后,在重新编译代码之前,Clean 你的工程和去除之前编译的目标文件。 , B4 S7 }% ^( Z# M' y9 E- z

) Z% |. Q, v/ O
; G( Y: Y: L4 {  O6 O$ c
(7)在迁移之前,请确保您没有用户代码部分之外的代码,否则您的代码将在代码生成后被删除。. u6 d7 [+ P: Z

0 b1 V( [0 J! C$ {  Z

) f1 _6 W$ m* E9 z7 Y% `(8)TouchGFX/Target 文件夹将在迁移后被修改,因此您可能需要将以前的代码复制粘贴到新创建的文件中。
+ k2 _4 J+ v* ~* T1 b3 w& O
& s$ W! [9 G- G+ s" R% R* I

, {" }0 C, ^5 |: N$ y! p(9)TouchGFX 设计团队已经列出了 TouchGFX 版本中已知存在的问题,以及可能的解决方法。5 z( _1 I; t# o( f5 @# K
7 t8 {6 c: j" a- v: V: ]

7 ]1 h2 Z) u% i/ v( u转载自: STM32单片机 # {% V' n% J) d" g! v

' o- O8 i2 O6 x如有侵权请联系删除# z# R& k; Y, j) z" h. e( p

) Y; Q' b, O. \: D- u
. d5 T! A% ]* r- N9 ^# ^  W
收藏 评论0 发布时间:2023-11-4 14:23

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版