|
01% b7 ~4 E5 C \. }! N 前言 某客户在使用 TouchGFX Designer 4.22 创建 TouchGFX GUI 应用时,使用 STM32U599 开发某款 GUI 产品,用 STM32CubeIDE 作为 IDE 发现无法下载成功,每下载到 93% 时就停滞并且报错。然而,如果选择 IAR 作为 IDE 则可以成功下载和仿真。客户表示当前使用的 STM32CubeIDE 已经是最新版本,同时也尝试过使用更老的版本或创建其 他的 demo 应用均是同样的结果。' `6 h# A! P& e9 @) q: y& u7 ~1 H $ U8 s; o2 C! a7 h 02& e3 B ]4 C2 W% t0 I& Z 现场调研与问题复现 经现场询问,客户板子外扩了 NorFlash,怀疑可能是 Flash loader 或 NorFlash 硬件存在问题。首先通过 OSPI 裸机程序对 NorFlash 进行读写访问均正常,排除硬件故障。进一步询问客户表示 NorFlash 硬件采用了与 STM32U599J_DK 一样的接法。因此,采用 STM32U599J_DK 板子的 Flash loader 肯定是可以的,现场使用 STM32Cubeprogrammer 选择 STM32U599J_DK 板的 flashloader,对客户板子外部 NorFlash 进行读写操作均能操 作成功,说明 NorFlash 确实与 STM32U599J_DK 接法一样。 ) Q! S* ~% @0 f3 K, I# t$ q+ T9 f6 Q STM32CubeIDE 下载错误提示如下图所示:/ P* f$ R L* Q
问题分析与解决 既然使用 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 L! A4 m9 _7 d 找到 CubeIDE 安装路径下的 Flash loader 目录:# J2 w8 E9 | n0 a0 ~$ V: R+ d
* j/ E1 q6 u) [) n' L0 e. q9 a 再次比对核实用户所创建的 CubeIDE 工程所用的 Flashloader:0 I7 K. g# t% b1 d" R b
+ y+ X' J2 y3 Z" c f) D; o 04( U3 G4 T" y1 n* @5 \4 K) y# N o$ I 总结9 n1 x% T3 m" J+ z# _) m 由于在 MCU 上运行的应用程序越来越复杂,因此,对于在片外 Flash 运行代码的需求越来越多,特别是针对 Flashless 形态的 MCU 都需要用户自己开发 Flashloader,建议用户使用与开发板一样的硬件接法。这样,就不必自己去重新开发 Flashloader 了。 ]6 Y: W' m' ^ # X6 H/ ]" Q. z, v: ^! q2 l ! E/ c2 l! w( S( m% | ▼▼▼ 点击按钮下载《基于 STM32CubeIDE 下载 TouchGFX GUI 应用的出错分析》原文档。 |
【下载问题解决】关于ST官网下载软件问题解决
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
《MCUBoot课程》学习笔记+从信任链原理到量产实践
STM32CubeIDE 2.2.0新版本发布
4-开发生态篇:TouchGFX+STM32Cube 一站式 GUI 落地流程
CubeMX生成CubeIDE工程代码乱码
STM32CubeIDE实时时钟(RTC)经验分享
实战经验 | ClassB功能安全认证代码与应用代码分区的实现要点
【STM32U3 评测】人体行为识别
微信公众号
手机版