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

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

[复制链接]
STMCU小助手 发布时间:2023-11-4 14:23
01引言
4 N: R8 j* n6 {; o! B; y$ t( B随着 TouchGFX 不断进行软件版本更新,其提供的功能也越来越丰富,有些新的功能只有更新的版本才有,所以很多时候会面临将旧版本的 TouchGFX 迁移到更新版本的问题。在创建 TouchGFX 应用时,生成的.touchgfx 工程文件版本与用来创建应用的TouchGFX Designer 版本相同,TouchGFX Designer 在设计上是向后兼容的,您可以使用更新版本的软件来开发您的应用。在大多数情况下,仅需一个极简单的流程便可使旧版本应用能够工作在 TouchGFX 新版本上。
- a' V, M; _4 g' b% E
' J/ [5 m$ l: M* J; L本文档提供了如何从较旧版本的 TouchGFX 升级到较新版本的教程,总结可能发生的常见问题及其各自的解决方案。本文档可能并不详尽,可能在将来进行更新,但旨在解决用户在版本更新时遇到的大多数问题,以确保顺利过渡到最新版本的 TouchGFX,从而享受最新版本的 TouchGFX 功能。
" g# d6 S* Y% c1 C% n; r4 B4 K8 j$ A: `/ f+ r
02TouchGFX软件升级安装
2 K4 P7 Q  I) Y* h) B5 y4 CX-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 F/ S! E& e% A$ f/ \: R) Z. x
' @2 p8 Q- t' N' x, u& I
2.1. 安装新版本 TouchGFX Generator7 Z7 l' L" W2 B! y8 b0 |
打开 STM32CubeMX 软件,点击菜单栏“Help”下的“Manage Embedded Software Package”,或者按键 ALT + U,进入到软件包列表。
5 ~. i0 g6 G) h7 X3 [& v, H5 `( N6 z7 J& p3 j; ]3 f2 [
* |8 a) d  I) \9 d1 c0 z* J' v( t
微信图片_20231104141335.png
图1.点击菜单栏“Help”下的“Manage Embedded Software Package”
7 K; f/ {: X% [( R+ {
进入软件包列表后,单击“Refresh”以获取有效的可更新的软件包列表,此操作需保证电脑网络连接正常。# R  K0 a' U7 {" V4 q# N) M

6 u2 G* }8 c& o% |0 I- G

" _! o- {/ O/ q) @6 N3 X$ |, R: I8 n8 L) h
微信图片_20231104141332.png
图2.STM32CubeMX 中的软件包列表

8 K3 j# V  k- F然后转到“STMicroelectronics”选项卡, 滚动直至找到“X-CUBE-TOUCHGFX”,然后展开节点,选中最新版本“TouchGFX Generator 4.20”复选框,然后点击“Install ”,此时将下载软件包并显示许可协议。9 v  F. c" u1 @7 G. @, d
: d' ?5 a: u! ^, y9 {2 u8 l. L
1 O  J1 _5 q' ?& h

6 y. t- D4 U4 G" P2 ]$ i

$ U* m! l) u0 o0 z
微信图片_20231104141329.png
图3.安装好 TouchGFX Generator 4.20 后的界面

8 f& L- ~  G, ~/ ^  @2.2. 安装新版本 TouchGFX Designer7 D1 ], b) z& H0 B
在类似路径
* o2 Z9 g* e3 lC:\Users\\STM32Cube\Repository\Packs\STMicroelectronics\X-CUBETOUCHGFX\4.20.0\Utilities\PC_Software\TouchGFXDesigner 找到 TouchGFX.msi 安装程序,双击 TouchGFX.msi 文件可打开安装程序,按照说明完成安装过程。路径根据您的安装路径略有不同。   [3 y7 W7 n. Z  S7 @6 c

2 Z/ k0 i+ l# R; o6 T& E, C
; B9 g% l; C$ P7 @* E+ D  i! |: h
微信图片_20231104141326.png
图4.开始安装 TouchGFX Designer 4.20
) Y" @" W, x  i& g4 f2 g: X
, j) M: R5 D! x& N' h4 Y/ {, r9 r

& @. m- r1 M, p. }6 t03工程项目由旧版本迁移到新版本TouchGFX" u( F$ [1 b2 \$ f, C( }- ]! v. {0 [. O. s
安装好新版本的 TouchGFX 软件后,下面介绍将您的工程代码迁移至新版本TouchGFX 的方法。一个完整的软件工程升级到新版本包括 STM32CubeMX 中TouchGFX Generator 配置升级并生成代码和使用新版本 TouchGFXDesigner 打开文件并生成代码。, @% h! `  P9 W: |+ D7 K+ q5 j

5 r2 ?) J! n/ v: G+ R3.1. STM32CubeMX 中 TouchGFX Generator 配置升级  n- x  t; Q+ q
3.1.1. 使用最新版本 STM32CubeMX 打开旧版本的.ioc 文件8 o7 Z+ ~8 S$ J- s( [2 N4 f3 e0 Y1 b
使用最新版本的 STM32CubeMX 打开旧版本的.ioc 文件,CubeMX 会弹出类似如下的窗口。在项目加载时:STM32CubeMX 会检测该项目是否使用该工具的旧版本创建,如果是,则会建议用户迁移,以使用最新的 STM32CubeMX 数据库和 STM32Cube 固件版本,或者继续。点击继续将保持用于创建项目的数据库不变。如果计算机上没有所需的数据库版本,则会自动下载该版本。升级到 STM32CubeMX 新版本时,请确保在加载新项目之前始终备份项目(特别是当项目包含用户代码时)。: {+ o; @7 s, S' ?

8 d! ?3 Z" g4 n

* Y7 u( Q( w- f7 b' }) L
微信图片_20231104141323.png
图5.STM32CubeMX 加载工程
7 @- U* l% N, S! Y6 d; `
微信图片_20231104141250.png
图6.点击 Migrate 进行工程迁移
/ y, @/ G. H2 h: i+ o
3.1.2. 在 STM32CubeMX 中更改 TouchGFX Generator 版本
2 I  u% u" Y6 V  M在 STM32CubeMX 软件中,点击 STMicroelectronics.X-CUBE-TOUCHGFX.4.20.0 进入 TouchGFX Generator 配置界面。在开始升级软件版本时,请首先截图保留以下配置,以方便后面对照更新配置。
/ {- q3 J% o- o; K. l5 l) m$ q3 Z# h* ]9 R& r& w& j

. U2 d6 |7 }. C8 H/ Z0 h3 U
微信图片_20231104141247.png
图7.截图保留原 TouchGFX Generator 配置

' |2 f: S, A' t* @" [$ M# h点击 Software packs 选择 Select Components ,在部件选择窗口,取消选择旧版本TouchGFX Generator,然后再选择最新版本的 TochGFX 4.20(或者将来更新版本)。当TouchGFX 4.20 被选中后,需要通过选择 TouchGFX Generator 来应用它。+ R: J/ D7 U  V5 q# x# C

) c/ G& c1 G6 [  O0 W- f2 R
微信图片_20231104141244.png
图8.更改 STM32CubeMX 中 TouchGFX Generator 版本的步骤

8 Z) Z" y' u5 B) O) G& O9 ^3.1.3. 更新 TouchGFX Generator 配置参数& }/ @# T& l/ G! [8 j+ @8 T
回到 TouchGFX Generator 配置界面,我们使用以前版本图 7 中的参数配置新的TouchGFX Generator,最后点击生成代码。
! }0 s/ {. W( \' J. p: a- U1 q9 i' q* k+ [, g+ F6 Z! S

) g4 G! y9 c  i1 K
  Z" ?; B& h9 K2 d
微信图片_20231104141240.png
图9. 更新 TouchGFX 配置和生成代码

; t5 P9 ^% _% @' j忽略以下 warning, 点击 Yes。
# t8 Y' A/ S6 {! B( d4 w+ c! X) L6 y) }. a
微信图片_20231104141237.png
1 ~; n. c6 _. H) D& Y8 B
3.2. 使用新版本 TouchGFX Designer 打开 .touchgfx 文件生成代码
: _+ s- d+ W! r右键单击 .touchgfx.part 文件,然后选择最新的 TouchGFX Designer 打开,您将收到一个弹出窗口,要求您确认更新,请点击“是”。
+ g# g" n0 V9 q% C$ r5 m8 f/ M+ S' b: ]9 d3 R
然后,您需要先删除 build 和 generated 文件夹,再重新生成代码。执行此操作后,需要在 STM32CubeMX 中再次生成代码。此时可以使用您的 IDE 来编译项目,并查看是否有任何错误。% R9 P9 |9 W- V! |- _8 }; Y; }
- {# n( R) i1 G
微信图片_20231104141234.png

+ T( n+ R' l9 I7 x
微信图片_20231104141231.png
图11. 选择最新的 TouchGFX Designer 打开.touchgfx 文件
" A7 W1 b0 C/ i/ p

# o0 r8 v! C  d0 d% H$ E
8 }- X5 ^! r9 u1 o% n' ]$ P04软件升级遇到的常见问题6 `- Z3 }" W4 E+ ^* G" a# ?
在软件版本升级之前一定要备份自己的软件工程,这是十分重要的。在将旧版本的TouchGFX 工程迁移到新版本的过程中,有以下事项需要检查确认:
% }9 g9 f1 r/ U/ J  p3 O9 ]0 P(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。" R, k, f3 ?/ a4 h8 ~: J. \8 x
  O" w8 g4 w7 ^) O
. N% B: |! t0 r; c  ?  P) r
(2)检查代码中是否缺少#include 行。使用某些功能时,保证始终在每个文件中包含正确的路径。
, _: _. o% d, ^
6 V7 R/ J" f3 E5 d
4 F* Y( K( B9 F6 \3 K3 P$ {5 O
(3)检查您使用的函数是否已被弃用,或者是否更改了名称。您可以参考帮助文档中的更新日志页面。4 _# l- r4 s% h* T# H
5 A# ~: p& i& R' T% d
( {  M( s/ c! P; s( {7 s
(4)建议使用 STM32CubeMX 单机应用程序,而不要使用 STM32CubeIDE 中的STM32CubeMX。因为在 STM32CubeIDE 使用 STM32CubeMX 进行升级会遇到更多的问题。 , I& l3 ^$ g7 B; m) {

) ]5 V7 N6 Z% O+ y( i* O1 n

" j+ \9 q+ Z# ]% w9 V0 l& A(5)升级结束后,在重新编译代码之前,Clean 你的工程和去除之前编译的目标文件。
" a, z: I  F7 R* T6 I# ^3 r1 o" R% m/ G2 I

* z. P" K3 U$ ]; C4 u* s7 i(7)在迁移之前,请确保您没有用户代码部分之外的代码,否则您的代码将在代码生成后被删除。' v2 t. a$ }" S' N/ q+ F
, h, n- e% k) f! W; T+ f

4 t+ i5 F! D  C; u, `6 I: B( `3 y( M" i(8)TouchGFX/Target 文件夹将在迁移后被修改,因此您可能需要将以前的代码复制粘贴到新创建的文件中。- k1 F# r/ q+ }( y

' T4 k0 P( J# i6 \, u5 O, v! e
- H+ |  W* W6 v4 _; x
(9)TouchGFX 设计团队已经列出了 TouchGFX 版本中已知存在的问题,以及可能的解决方法。2 ?8 D: M/ s5 j& E' x$ E
/ Q+ [1 Q# P3 r/ N! b% n) f

9 E* w9 K* v8 U' x0 }转载自: STM32单片机
  J* M: N; f! Z" I' W
; _! u) M2 e# Q+ A0 g如有侵权请联系删除( `2 G, S* R3 M) [+ b8 K, |
8 {7 W: g6 j' M4 ~
4 N& e) b1 @: B4 f) g
收藏 评论0 发布时间:2023-11-4 14:23

举报

0个回答

所属标签

相似技术帖

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