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

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

[复制链接]
STMCU小助手 发布时间:2023-11-4 14:23
01引言
, L5 Z- N% i7 ~# E1 T5 `: C随着 TouchGFX 不断进行软件版本更新,其提供的功能也越来越丰富,有些新的功能只有更新的版本才有,所以很多时候会面临将旧版本的 TouchGFX 迁移到更新版本的问题。在创建 TouchGFX 应用时,生成的.touchgfx 工程文件版本与用来创建应用的TouchGFX Designer 版本相同,TouchGFX Designer 在设计上是向后兼容的,您可以使用更新版本的软件来开发您的应用。在大多数情况下,仅需一个极简单的流程便可使旧版本应用能够工作在 TouchGFX 新版本上。
  c5 g$ Z% y  j" [& ?( e0 D% X; T  {  m7 f
本文档提供了如何从较旧版本的 TouchGFX 升级到较新版本的教程,总结可能发生的常见问题及其各自的解决方案。本文档可能并不详尽,可能在将来进行更新,但旨在解决用户在版本更新时遇到的大多数问题,以确保顺利过渡到最新版本的 TouchGFX,从而享受最新版本的 TouchGFX 功能。
% @9 ^; b/ K3 G1 B" @1 {7 T8 a3 y( |3 ~
02TouchGFX软件升级安装
: @" G8 g8 P; _8 ?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 升级安装。% [: S% n# W3 E: y! s1 V
: G4 e8 a5 n$ y" x
2.1. 安装新版本 TouchGFX Generator
8 m8 C' B1 |0 Y  C, D打开 STM32CubeMX 软件,点击菜单栏“Help”下的“Manage Embedded Software Package”,或者按键 ALT + U,进入到软件包列表。
- L0 T% P  R' f( c
4 i! \8 K3 N3 ]: F
7 P% v) d3 F& |7 G0 ^0 w& p$ r
微信图片_20231104141335.png
图1.点击菜单栏“Help”下的“Manage Embedded Software Package”

4 }1 n" j5 \  h" O& W1 q( f( d进入软件包列表后,单击“Refresh”以获取有效的可更新的软件包列表,此操作需保证电脑网络连接正常。+ h. `( B+ L5 D' w/ y9 F
1 T$ {) h% z) f2 Z, j

% w8 Q9 d8 v; C) D8 }* m
3 P9 b" E) S6 X, ?; T, [1 a; O6 l7 l
微信图片_20231104141332.png
图2.STM32CubeMX 中的软件包列表

7 r% @- a, D* m; O然后转到“STMicroelectronics”选项卡, 滚动直至找到“X-CUBE-TOUCHGFX”,然后展开节点,选中最新版本“TouchGFX Generator 4.20”复选框,然后点击“Install ”,此时将下载软件包并显示许可协议。4 g2 {0 A2 _/ y. ]' J1 @

4 ?, O* w( r, T, g! s! f

5 g) Z( u& A  h& F% A0 x5 j. u- D* p7 M" X7 H" M: {
6 ]; X/ v; J! Y3 Q" F$ J
微信图片_20231104141329.png
图3.安装好 TouchGFX Generator 4.20 后的界面
: I7 f! [7 ^+ X) U9 i0 d4 v8 K
2.2. 安装新版本 TouchGFX Designer
9 a; A* k% x! ?$ o, D在类似路径" L3 J3 p* T8 G, V2 p: N3 A. V. k$ S7 f
C:\Users\\STM32Cube\Repository\Packs\STMicroelectronics\X-CUBETOUCHGFX\4.20.0\Utilities\PC_Software\TouchGFXDesigner 找到 TouchGFX.msi 安装程序,双击 TouchGFX.msi 文件可打开安装程序,按照说明完成安装过程。路径根据您的安装路径略有不同。
- v, U& o) V& x/ K6 u6 b  ?. B
+ X& L7 N% o1 k- j2 P& V. G- t
* l, A5 K3 }1 b9 W
微信图片_20231104141326.png
图4.开始安装 TouchGFX Designer 4.20

5 P8 s3 {* p  T- B6 T5 l. L' X

" a4 b; y5 g; _6 o- @/ {9 ^
0 B) b' U# n) ?- S3 B- `4 X03工程项目由旧版本迁移到新版本TouchGFX, ^) Z. }0 ~7 Y
安装好新版本的 TouchGFX 软件后,下面介绍将您的工程代码迁移至新版本TouchGFX 的方法。一个完整的软件工程升级到新版本包括 STM32CubeMX 中TouchGFX Generator 配置升级并生成代码和使用新版本 TouchGFXDesigner 打开文件并生成代码。, C' ?6 z' t% p

1 R1 o' S9 s4 p7 A3.1. STM32CubeMX 中 TouchGFX Generator 配置升级2 Q+ l0 b3 w% ]
3.1.1. 使用最新版本 STM32CubeMX 打开旧版本的.ioc 文件6 v8 D6 _5 u0 V5 \
使用最新版本的 STM32CubeMX 打开旧版本的.ioc 文件,CubeMX 会弹出类似如下的窗口。在项目加载时:STM32CubeMX 会检测该项目是否使用该工具的旧版本创建,如果是,则会建议用户迁移,以使用最新的 STM32CubeMX 数据库和 STM32Cube 固件版本,或者继续。点击继续将保持用于创建项目的数据库不变。如果计算机上没有所需的数据库版本,则会自动下载该版本。升级到 STM32CubeMX 新版本时,请确保在加载新项目之前始终备份项目(特别是当项目包含用户代码时)。
  f5 E, h) B$ U( p* g% X
8 l5 \, N% E) M7 H9 Q

7 @4 g) V5 e$ s/ a
微信图片_20231104141323.png
图5.STM32CubeMX 加载工程
0 C8 o' m6 z+ v  C
微信图片_20231104141250.png
图6.点击 Migrate 进行工程迁移

; F7 C$ i. j! s, s2 A( |8 ~3.1.2. 在 STM32CubeMX 中更改 TouchGFX Generator 版本, Y* m! o0 \  T/ k1 D
在 STM32CubeMX 软件中,点击 STMicroelectronics.X-CUBE-TOUCHGFX.4.20.0 进入 TouchGFX Generator 配置界面。在开始升级软件版本时,请首先截图保留以下配置,以方便后面对照更新配置。
" ?+ w. r* M3 {+ t, p9 [; P4 N" V1 n5 O- \0 Q# D! m: d' N/ \
1 m  a3 h( |1 k. M: t+ C
微信图片_20231104141247.png
图7.截图保留原 TouchGFX Generator 配置
' ?$ t) f" m; h8 ?$ ^0 V: z0 B
点击 Software packs 选择 Select Components ,在部件选择窗口,取消选择旧版本TouchGFX Generator,然后再选择最新版本的 TochGFX 4.20(或者将来更新版本)。当TouchGFX 4.20 被选中后,需要通过选择 TouchGFX Generator 来应用它。
4 [! Y6 J% {1 L) E1 k
: K/ E5 Q. k, @; D* m6 i
微信图片_20231104141244.png
图8.更改 STM32CubeMX 中 TouchGFX Generator 版本的步骤

6 J4 _& n6 c; j, N3.1.3. 更新 TouchGFX Generator 配置参数& b, ^' r: ^* B3 x+ r
回到 TouchGFX Generator 配置界面,我们使用以前版本图 7 中的参数配置新的TouchGFX Generator,最后点击生成代码。
- i' Q6 }& I: K# c7 K1 j! S) }- f2 w' N. E
5 E" `3 \' u% J; g" \

4 ^4 t6 J" s$ v" e
微信图片_20231104141240.png
图9. 更新 TouchGFX 配置和生成代码

  E7 }  j" b5 U忽略以下 warning, 点击 Yes。) F& H8 a" a2 Y2 P

3 q" L7 E+ O9 k' j8 C# H
微信图片_20231104141237.png

- E1 _8 }' @5 I; m8 @. _3.2. 使用新版本 TouchGFX Designer 打开 .touchgfx 文件生成代码$ b7 Z1 [! w+ Z8 W. r4 ^
右键单击 .touchgfx.part 文件,然后选择最新的 TouchGFX Designer 打开,您将收到一个弹出窗口,要求您确认更新,请点击“是”。 . a0 d9 x$ L4 t+ e, C

2 X0 e  e, V: Y然后,您需要先删除 build 和 generated 文件夹,再重新生成代码。执行此操作后,需要在 STM32CubeMX 中再次生成代码。此时可以使用您的 IDE 来编译项目,并查看是否有任何错误。
  [+ i0 @% @4 m5 V# \) F5 p
6 y( ^  E! X. t) Q: X
微信图片_20231104141234.png

# L; \; S8 r) F4 D
微信图片_20231104141231.png
图11. 选择最新的 TouchGFX Designer 打开.touchgfx 文件
4 s% G8 k& I5 F: j1 K  f# B
. X+ l) b+ k' t* N4 {. D0 `

9 R" P& A+ d& v0 t* N04软件升级遇到的常见问题& O) l. k/ I: q$ h0 ]4 ^
在软件版本升级之前一定要备份自己的软件工程,这是十分重要的。在将旧版本的TouchGFX 工程迁移到新版本的过程中,有以下事项需要检查确认:
2 H! Q) s# d) B/ Y(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。( S& j# w2 K1 g, J+ h; x
. s+ x* t3 G* |
% U8 y  T  L0 r8 b6 |* Z+ J, }4 O
(2)检查代码中是否缺少#include 行。使用某些功能时,保证始终在每个文件中包含正确的路径。- J- m& V4 o2 }/ F
7 ~9 M& `+ y9 @" z' u; P* U9 ]5 N
2 ~) N: T( N* ~  t  q# c
(3)检查您使用的函数是否已被弃用,或者是否更改了名称。您可以参考帮助文档中的更新日志页面。9 l" ^. C, i% v- S/ T- b) c3 T

; K+ o6 T$ `! H; w
# G& s/ B2 L# R: g
(4)建议使用 STM32CubeMX 单机应用程序,而不要使用 STM32CubeIDE 中的STM32CubeMX。因为在 STM32CubeIDE 使用 STM32CubeMX 进行升级会遇到更多的问题。 2 @9 C+ L6 r# t. V
! ~; h2 L9 h) n' w  s7 ?0 E( u
; Z+ i, \5 T6 O$ ?- p2 r
(5)升级结束后,在重新编译代码之前,Clean 你的工程和去除之前编译的目标文件。
3 d7 T7 u2 S3 A! T7 Y8 |: M" f: ^! \( a6 Z, i4 i5 {

4 X7 z0 l. p3 V- P$ j& O(7)在迁移之前,请确保您没有用户代码部分之外的代码,否则您的代码将在代码生成后被删除。( D! d: R. S: ~
* T. y1 i" r6 t* x

& l' @. k: [: |  C# c* G(8)TouchGFX/Target 文件夹将在迁移后被修改,因此您可能需要将以前的代码复制粘贴到新创建的文件中。
9 V( _# P1 v/ I8 E0 o6 J( F9 v+ V8 E" m
8 b$ g! a9 h+ L) a; T/ e/ d9 c2 C
(9)TouchGFX 设计团队已经列出了 TouchGFX 版本中已知存在的问题,以及可能的解决方法。: ~+ k# m. ~" `7 O  K% _

  n  V) }! {' G  _/ j0 B0 A
& E" v6 q5 ?+ |1 S5 |' O- t5 I$ v; E
转载自: STM32单片机 # B4 |8 X, W7 R- f
5 T$ g5 I9 _0 v
如有侵权请联系删除
% {: U: Q  n7 O. ?9 J6 R  T$ v' _1 ]  u5 D! l  m& k& n0 x3 L& E1 [- q

/ N  ]/ ?1 R3 ]% O
收藏 评论0 发布时间:2023-11-4 14:23

举报

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