01 前言 某客户在使用 TouchGFX Designer 4.22 创建 TouchGFX GUI 应用时,使用 STM32U599 开发某款 GUI 产品,用 STM32CubeIDE 作为 IDE 发现无法下载成功,每下载到 93% 时就停滞并且报错。然而,如果选择 IAR 作为 IDE 则可以成功下载和仿真。客户表示当前使用的 STM32CubeIDE 已经是最新版本,同时也尝试过使用更老的版本或创建其 他的 demo 应用均是同样的结果。% f; T' V% j1 w1 u) I ; k. k7 L4 {# Z9 P9 h+ ?- { 02 现场调研与问题复现6 }9 v0 t. R( x; a5 \3 ~( j 经现场询问,客户板子外扩了 NorFlash,怀疑可能是 Flash loader 或 NorFlash 硬件存在问题。首先通过 OSPI 裸机程序对 NorFlash 进行读写访问均正常,排除硬件故障。进一步询问客户表示 NorFlash 硬件采用了与 STM32U599J_DK 一样的接法。因此,采用 STM32U599J_DK 板子的 Flash loader 肯定是可以的,现场使用 STM32Cubeprogrammer 选择 STM32U599J_DK 板的 flashloader,对客户板子外部 NorFlash 进行读写操作均能操 作成功,说明 NorFlash 确实与 STM32U599J_DK 接法一样。 STM32CubeIDE 下载错误提示如下图所示:6 X1 {* {& n! m1 y7 A7 R" b 问题分析与解决 既然使用 STM32Cubeprogrammer 都能够正常下载,那么 STM32CubeIDE 按道理肯定也是可以的。经过跟踪编译过程发现,STM32CubeIDE 与 STM32Cubeprogrammer 使用的下载文件是各自独立的。也就是说 CubeIDE 并没有使用 STM32Cubeprogrammer 安装路径下的 bin 目录下的 STM32_Programmer_CLI 和相关资源文件。CubeIDE 下载使用的 bin 路径为:STM32CubeIDE_1.14.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.1.100.202311100844\tools\bin\STM32_Programmer_C LI.exe# S" j* h. ~" r# m9 R) w 5 Z3 M% t2 c$ @9 y, e, K# T 找到 CubeIDE 安装路径下的 Flash loader 目录:* A% U( p7 O* a% |, J, J6 D 再次比对核实用户所创建的 CubeIDE 工程所用的 Flashloader: 04% n( X, K9 M2 h; t6 y 总结 由于在 MCU 上运行的应用程序越来越复杂,因此,对于在片外 Flash 运行代码的需求越来越多,特别是针对 Flashless 形态的 MCU 都需要用户自己开发 Flashloader,建议用户使用与开发板一样的硬件接法。这样,就不必自己去重新开发 Flashloader 了。' k8 T0 ~5 [4 B$ B ▼▼▼ 点击按钮下载《基于 STM32CubeIDE 下载 TouchGFX GUI 应用的出错分析》原文档。 |
实验经验 | LTDC RGB 接口 LCD TouchGFX 工程的移植步骤
实战经验 | 如何修改STM32Cube固件包的存储位置
《如何使用TouchGFX》视频课程上线啦:助力你的GUI设计
兔哥的杂谈【002】——如何性价比更高地去编译STM32
TouchGFX 4.23:支持矢量字体,节省Flash,更丰富的UI!
IDE删除编译中间文件
【STM32H7S78-DK】汽车仪表系统
STM32CubeIDE 快速入门指南
【NUCLEO-WB09KE评测】BLE创建服务和写特征控制LED
【STM32H7S78-DK评测】TouchGFX (QR Code)二维码生成器