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

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

[复制链接]
STMCU小助手 发布时间:2023-11-4 14:23
01引言/ G; r8 a/ u# R5 h$ F) }3 t9 r
随着 TouchGFX 不断进行软件版本更新,其提供的功能也越来越丰富,有些新的功能只有更新的版本才有,所以很多时候会面临将旧版本的 TouchGFX 迁移到更新版本的问题。在创建 TouchGFX 应用时,生成的.touchgfx 工程文件版本与用来创建应用的TouchGFX Designer 版本相同,TouchGFX Designer 在设计上是向后兼容的,您可以使用更新版本的软件来开发您的应用。在大多数情况下,仅需一个极简单的流程便可使旧版本应用能够工作在 TouchGFX 新版本上。 5 F% ~# H6 D2 D0 Q% p9 Z1 V
! f5 E8 R1 d1 N0 Q" `
本文档提供了如何从较旧版本的 TouchGFX 升级到较新版本的教程,总结可能发生的常见问题及其各自的解决方案。本文档可能并不详尽,可能在将来进行更新,但旨在解决用户在版本更新时遇到的大多数问题,以确保顺利过渡到最新版本的 TouchGFX,从而享受最新版本的 TouchGFX 功能。
0 U0 W9 o  T; v8 W( F, r# ?
! C. v) r4 R$ J( H# j& W02TouchGFX软件升级安装) Z0 u8 `/ G6 [( g
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 升级安装。
7 q% f7 v- s- J; {! `
! `, b5 L: D8 Q2.1. 安装新版本 TouchGFX Generator
4 ~) w5 o4 M% W3 f+ C$ g打开 STM32CubeMX 软件,点击菜单栏“Help”下的“Manage Embedded Software Package”,或者按键 ALT + U,进入到软件包列表。
2 g0 e5 A+ P0 S" ~- P* M& q5 r7 X2 Y# `: Z, `5 ?4 M
0 `. _; w& U! s
微信图片_20231104141335.png
图1.点击菜单栏“Help”下的“Manage Embedded Software Package”
1 x8 E" Z" C6 ?  `  B9 V. G
进入软件包列表后,单击“Refresh”以获取有效的可更新的软件包列表,此操作需保证电脑网络连接正常。
' V- U- `7 R( _/ \& w5 R9 P. {3 F1 f8 R) d0 n, c! w' f/ T
; |/ s  X- h# d+ Y/ L

" z  u$ k% f8 _# L# n
微信图片_20231104141332.png
图2.STM32CubeMX 中的软件包列表

1 n+ U# p' A* Z$ f然后转到“STMicroelectronics”选项卡, 滚动直至找到“X-CUBE-TOUCHGFX”,然后展开节点,选中最新版本“TouchGFX Generator 4.20”复选框,然后点击“Install ”,此时将下载软件包并显示许可协议。
# B* H4 Z, A* |
# G# a# C5 q3 P! ]

7 Y# }2 N, n0 |) s8 ^0 @3 o+ E
8 U9 L) }6 |! J* E- [
" t- L3 X5 d/ p. {' m
微信图片_20231104141329.png
图3.安装好 TouchGFX Generator 4.20 后的界面

' @2 n( l: O  v! X. H2.2. 安装新版本 TouchGFX Designer; D7 B2 M+ t  G6 C2 O2 v
在类似路径: a8 F! D6 f$ D& P
C:\Users\\STM32Cube\Repository\Packs\STMicroelectronics\X-CUBETOUCHGFX\4.20.0\Utilities\PC_Software\TouchGFXDesigner 找到 TouchGFX.msi 安装程序,双击 TouchGFX.msi 文件可打开安装程序,按照说明完成安装过程。路径根据您的安装路径略有不同。
" W' t7 {9 t3 r% v4 t( ?1 L
: d& C1 d( N* O0 A) U4 K
1 k% p: i+ v3 m0 F$ u7 @9 _" I8 o
微信图片_20231104141326.png
图4.开始安装 TouchGFX Designer 4.20

3 ^. i% G. z8 n  H# g  q

0 p2 W' l9 d! D5 ~; h: F. r: s) ]7 [$ `9 ~# a* e/ s/ g+ q4 l) y
03工程项目由旧版本迁移到新版本TouchGFX' |" Y6 m% D. |
安装好新版本的 TouchGFX 软件后,下面介绍将您的工程代码迁移至新版本TouchGFX 的方法。一个完整的软件工程升级到新版本包括 STM32CubeMX 中TouchGFX Generator 配置升级并生成代码和使用新版本 TouchGFXDesigner 打开文件并生成代码。/ [0 F& S) c; O; U: J
  m# f" P4 I' [* o( q% n8 j
3.1. STM32CubeMX 中 TouchGFX Generator 配置升级
' a7 Y6 i! a1 @  {& _3.1.1. 使用最新版本 STM32CubeMX 打开旧版本的.ioc 文件
7 }, @! F5 X/ T( r! T% O使用最新版本的 STM32CubeMX 打开旧版本的.ioc 文件,CubeMX 会弹出类似如下的窗口。在项目加载时:STM32CubeMX 会检测该项目是否使用该工具的旧版本创建,如果是,则会建议用户迁移,以使用最新的 STM32CubeMX 数据库和 STM32Cube 固件版本,或者继续。点击继续将保持用于创建项目的数据库不变。如果计算机上没有所需的数据库版本,则会自动下载该版本。升级到 STM32CubeMX 新版本时,请确保在加载新项目之前始终备份项目(特别是当项目包含用户代码时)。! Q' T. b! d2 ]+ S3 Y9 b

! U4 L7 b  ]/ p8 z! Q3 f6 Z
+ B) o- {4 l$ Y% A4 k1 V
微信图片_20231104141323.png
图5.STM32CubeMX 加载工程
  e; r# ?& S: |
微信图片_20231104141250.png
图6.点击 Migrate 进行工程迁移
" [1 Q; I) i7 h) W1 ~: p
3.1.2. 在 STM32CubeMX 中更改 TouchGFX Generator 版本
! h$ y7 a; Z% f0 i# ?在 STM32CubeMX 软件中,点击 STMicroelectronics.X-CUBE-TOUCHGFX.4.20.0 进入 TouchGFX Generator 配置界面。在开始升级软件版本时,请首先截图保留以下配置,以方便后面对照更新配置。
* z1 t5 e8 \7 W# q; _4 `! T& s! I  z* c$ q0 k) A
( t9 E$ o" A6 }. t  ~( P. E
微信图片_20231104141247.png
图7.截图保留原 TouchGFX Generator 配置
* H- T# ^, Y7 P0 z3 M. ]; |
点击 Software packs 选择 Select Components ,在部件选择窗口,取消选择旧版本TouchGFX Generator,然后再选择最新版本的 TochGFX 4.20(或者将来更新版本)。当TouchGFX 4.20 被选中后,需要通过选择 TouchGFX Generator 来应用它。
; I. N& _$ P' j. S# T/ G* u
( \2 ~7 E. r$ _0 p  b. ^: p! \
微信图片_20231104141244.png
图8.更改 STM32CubeMX 中 TouchGFX Generator 版本的步骤
1 n9 S: k$ G& Y, F- o
3.1.3. 更新 TouchGFX Generator 配置参数
, \! m3 d8 U  v4 |! p- ?% N' e回到 TouchGFX Generator 配置界面,我们使用以前版本图 7 中的参数配置新的TouchGFX Generator,最后点击生成代码。  |. |+ C; h( e9 k* A8 R" r
. P& C: l1 H' P2 @7 k& p  u1 \$ H

' r( Q  x; z% U4 r" r1 v2 @/ J) J1 I. r( \
微信图片_20231104141240.png
图9. 更新 TouchGFX 配置和生成代码

1 J* \9 q, I: g& M忽略以下 warning, 点击 Yes。7 W/ o, x4 D/ Z9 k' W% i4 u

& x! `$ L" {, T0 f/ e
微信图片_20231104141237.png

5 |: g( V7 S4 x$ `2 m3.2. 使用新版本 TouchGFX Designer 打开 .touchgfx 文件生成代码
2 s: u+ h. l) n9 S2 r右键单击 .touchgfx.part 文件,然后选择最新的 TouchGFX Designer 打开,您将收到一个弹出窗口,要求您确认更新,请点击“是”。
/ F8 m7 u4 F5 C' m7 `8 m  [: z, E; I2 Y/ f+ s3 @7 N
然后,您需要先删除 build 和 generated 文件夹,再重新生成代码。执行此操作后,需要在 STM32CubeMX 中再次生成代码。此时可以使用您的 IDE 来编译项目,并查看是否有任何错误。
9 z  M: |0 o1 ]' N7 B
. k" D1 j2 K+ k7 O' F7 l) e: V
微信图片_20231104141234.png

' [; ?, }8 D- Z4 K
微信图片_20231104141231.png
图11. 选择最新的 TouchGFX Designer 打开.touchgfx 文件
3 o* e: {% M1 }9 B+ c& I# h

& S* X2 @1 W! Y: k! l2 w) O
2 {- d, D  A3 r# C# I04软件升级遇到的常见问题
% ~6 Q) c9 K8 t. W6 y在软件版本升级之前一定要备份自己的软件工程,这是十分重要的。在将旧版本的TouchGFX 工程迁移到新版本的过程中,有以下事项需要检查确认:* M& U) X0 k$ a2 G' j
(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。
4 b/ y+ c* f) ~& w- `9 f1 ]1 G# c( ~$ Z' M5 J

  d! N; D7 N7 W3 t2 {" s+ T(2)检查代码中是否缺少#include 行。使用某些功能时,保证始终在每个文件中包含正确的路径。3 ?1 G$ q' v1 [3 J

  c4 _% ?( i" k* s) O

, C( y% L1 {' }/ i# D/ X(3)检查您使用的函数是否已被弃用,或者是否更改了名称。您可以参考帮助文档中的更新日志页面。
3 ^; ~- q' M' d3 |- ^2 H
' V6 E6 V$ e2 ]' J2 l0 B
# V: {4 y" l$ D
(4)建议使用 STM32CubeMX 单机应用程序,而不要使用 STM32CubeIDE 中的STM32CubeMX。因为在 STM32CubeIDE 使用 STM32CubeMX 进行升级会遇到更多的问题。
$ P& U; |6 H9 v, F. w; L1 q
, R' y- n% q; w
! K$ X9 q) K" F% |, U
(5)升级结束后,在重新编译代码之前,Clean 你的工程和去除之前编译的目标文件。 % h+ n7 E9 O# m3 Q' S

& ?: B) K! \" ?& ~
# U2 N* R# ~7 p  r7 F6 v
(7)在迁移之前,请确保您没有用户代码部分之外的代码,否则您的代码将在代码生成后被删除。
/ W! X9 D% P$ @/ ~6 b- A4 e& S/ o( W8 a- h8 D3 l3 v9 G' J
% r! z2 G; P% i  C4 @3 V
(8)TouchGFX/Target 文件夹将在迁移后被修改,因此您可能需要将以前的代码复制粘贴到新创建的文件中。
' G# x6 @( s$ f' x3 [$ U3 i) s% F- C& F% f4 }

3 n  q3 p5 a6 c9 x& b2 k. Z" ~(9)TouchGFX 设计团队已经列出了 TouchGFX 版本中已知存在的问题,以及可能的解决方法。  v, M+ F( `9 U9 w1 H8 p2 h
; P) Z5 \6 ]0 Y! c7 G9 V

2 G  |, @) w* p- v转载自: STM32单片机 ) J5 K" @" ]- B  a
8 p: X1 Y  ~; d/ S% a9 h( L
如有侵权请联系删除
. n  R1 @% [* U, C
* Y+ p5 P3 v8 t
8 l0 `! [0 d- x/ a" W
赞 收藏 评论0 发布时间:2023-11-4 14:23

举报

0个回答

所属标签

相似技术帖

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