
01 前言% n# t# P( t: A6 Z p- \, c2 ^5 Q 某客户在使用 TouchGFX Designer 4.22 创建 TouchGFX GUI 应用时,使用 STM32U599 开发某款 GUI 产品,用 STM32CubeIDE 作为 IDE 发现无法下载成功,每下载到 93% 时就停滞并且报错。然而,如果选择 IAR 作为 IDE 则可以成功下载和仿真。客户表示当前使用的 STM32CubeIDE 已经是最新版本,同时也尝试过使用更老的版本或创建其 他的 demo 应用均是同样的结果。 % `( _$ E- z8 x7 h$ J, d8 Y- b7 X# Q 02* H% ?" o5 E% W" | 现场调研与问题复现, p3 p' N4 t/ l: H9 q# B 经现场询问,客户板子外扩了 NorFlash,怀疑可能是 Flash loader 或 NorFlash 硬件存在问题。首先通过 OSPI 裸机程序对 NorFlash 进行读写访问均正常,排除硬件故障。进一步询问客户表示 NorFlash 硬件采用了与 STM32U599J_DK 一样的接法。因此,采用 STM32U599J_DK 板子的 Flash loader 肯定是可以的,现场使用 STM32Cubeprogrammer 选择 STM32U599J_DK 板的 flashloader,对客户板子外部 NorFlash 进行读写操作均能操 作成功,说明 NorFlash 确实与 STM32U599J_DK 接法一样。& A6 ]$ M( h0 ]1 j6 N7 G. x% y U STM32CubeIDE 下载错误提示如下图所示: ![]() ![]() 问题分析与解决: a( @5 z7 u g$ I+ N 既然使用 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" D- E( [- U0 z/ E : y9 c O9 {- q" J9 w' ~* k( e 找到 CubeIDE 安装路径下的 Flash loader 目录:. X' p1 n2 K/ p ![]() $ S' ?) ~& Y' L' p: e 再次比对核实用户所创建的 CubeIDE 工程所用的 Flashloader: ![]() ![]() 04" k( ~7 V0 V5 ]5 ^" E% U2 _ 总结 由于在 MCU 上运行的应用程序越来越复杂,因此,对于在片外 Flash 运行代码的需求越来越多,特别是针对 Flashless 形态的 MCU 都需要用户自己开发 Flashloader,建议用户使用与开发板一样的硬件接法。这样,就不必自己去重新开发 Flashloader 了。 ▼▼▼ 点击按钮下载《基于 STM32CubeIDE 下载 TouchGFX GUI 应用的出错分析》原文档。 |
【STM32N6570-DK评测】摄像头video encoder
【STM32N6570-DK评测】开发环境及LED debug
实验经验 | LTDC RGB 接口 LCD TouchGFX 工程的移植步骤
实战经验 | 如何修改STM32Cube固件包的存储位置
《如何使用TouchGFX》视频课程上线啦:助力你的GUI设计
兔哥的杂谈【002】——如何性价比更高地去编译STM32
TouchGFX 4.23:支持矢量字体,节省Flash,更丰富的UI!
IDE删除编译中间文件
【STM32H7S78-DK】汽车仪表系统
STM32CubeIDE 快速入门指南