打印
[GUI]

实战经验 | 基于STM32CubeIDE下载TouchGFX GUI应用的出错分析

[复制链接]
991|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 STM新闻官 于 2024-8-21 09:46 编辑

01前言
某客户在使用 TouchGFX Designer 4.22 创建 TouchGFX GUI 应用时,使用 STM32U599 开发某款 GUI 产品,用 STM32CubeIDE 作为 IDE 发现无法下载成功,每下载到 93% 时就停滞并且报错。然而,如果选择 IAR 作为 IDE 则可以成功下载和仿真。客户表示当前使用的 STM32CubeIDE 已经是最新版本,同时也尝试过使用更老的版本或创建其 他的 demo 应用均是同样的结果。

02现场调研与问题复现
经现场询问,客户板子外扩了 NorFlash,怀疑可能是 Flash loader 或 NorFlash 硬件存在问题。首先通过 OSPI 裸机程序对 NorFlash 进行读写访问均正常,排除硬件故障。进一步询问客户表示 NorFlash 硬件采用了与 STM32U599J_DK 一样的接法。因此,采用 STM32U599J_DK 板子的 Flash loader 肯定是可以的,现场使用 STM32Cubeprogrammer 选择 STM32U599J_DK 板的 flashloader,对客户板子外部 NorFlash 进行读写操作均能操 作成功,说明 NorFlash 确实与 STM32U599J_DK 接法一样。

STM32CubeIDE 下载错误提示如下图所示:

03问题分析与解决
既然使用 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

找到 CubeIDE 安装路径下的 Flash loader 目录:

在 ExternalLoader 目录下只发现了一个 STM32U599J_DK 相关的 Flashloader, STM32U599J_DK 应该就是使用的这个 Flashloader 文件。
再次比对核实用户所创建的 CubeIDE 工程所用的 Flashloader:
原来 TouchGFX designer 所创建的 project 所使用的 Flashloader 名称为 MX25LM51245G_STM32U599J-DK.stldr,而在 CubeIDE 安装路径下 ExternalLoader 里面的名称则为 MX25UM51245G_STM32U5x9J-DK.stldr,二者名称不一致,使 CubeIDE 无法成功加载 FlashLoader,导致下载出错。问题原因已经找到,通过修改 CubeIDE 中 FlashLoader 的配置即可解决此问题,具体修改方式如下:
修改后,测试下载与仿真均正常。

04总结
由于在 MCU 上运行的应用程序越来越复杂,因此,对于在片外 Flash 运行代码的需求越来越多,特别是针对 Flashless 形态的 MCU 都需要用户自己开发 Flashloader,建议用户使用与开发板一样的硬件接法。这样,就不必自己去重新开发 Flashloader 了。



使用特权

评论回复
沙发
STM新闻官|  楼主 | 2024-8-21 09:47 | 只看该作者

使用特权

评论回复
板凳
tpgf| | 2024-9-5 13:49 | 只看该作者
根据错误日志中的信息,检查你的代码以确定是否存在语法错误、逻辑错误或其他可能导致问题的地方

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:意法半导体(中国)投资有限公司
简介:您的嵌入式应用将得益于意法半导体领先的产品架构、技术、多源产地和全方位支持。意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器。

558

主题

740

帖子

18

粉丝