外部闪存加载器在 STM32CubeIDE 上出现 "failed to download Segment[0]" 错误

External Flash Loader gets "failed to download Segment[0]" error on STM32CubeIDE

我已经为我的基于 STM32 的开发板创建了一个自定义的外部闪存加载器 (.stldr) 文件,这个文件与 ST 配合使用效果很好 Link 实用程序(读、写和擦除)工作正常,我可以编程董事会正确。但是,当我尝试使用 STM32CubeIDE 创建的 .stldr 文件时,擦除过程做得很好,但是当下载过程开始时,“无法下载段[0]” 错误出现。

谁能帮我解决这个问题?

STMicroelectronics ST-LINK GDB server. Version 6.0.0
Copyright (c) 2021, STMicroelectronics. All rights reserved.

Starting server with the following options:
        Persistent Mode            : Disabled
        Logging Level              : 1
        Listen Port Number         : 61234
        Status Refresh Delay       : 15s
        Verbose Mode               : Disabled
        SWD Debug                  : Enabled
        InitWhile                  : Enabled

Waiting for debugger connection...
Debugger connected
Waiting for debugger connection...
Debugger connected
Waiting for debugger connection...
      -------------------------------------------------------------------
                       STM32CubeProgrammer v2.9.0-RC01                  
      -------------------------------------------------------------------

ST-LINK SN  : 48FF6D068366565223471581
ST-LINK FW  : V2J39S7
Board       : --
Voltage     : 3.24V
SWD freq    : 4000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Device ID   : 0x450
Revision ID : Rev V
Device name : STM32H7xx
Flash size  : 2 MBytes
Device type : MCU
Device CPU  : Cortex-M7
BL Version  : 0x90



Memory Programming ...
Opening and parsing file: ST-LINK_GDB_server_a23188.srec
  File          : ST-LINK_GDB_server_a23188.srec
  Size          : 389352 Bytes
  Address       : 0x08000000 


Erasing memory corresponding to segment 0:
Erasing internal memory sector 0
Erasing memory corresponding to segment 1:
Erasing external memory sectors [0 3]
Download in Progress:


Error: failed to download Segment[0]
Error: failed to download the File
Shutting down...
Exit.

单片机=STM32H743iit6

QSPI 闪存 = W25Q256

问题出在STM32CubeIDE 1.8版本

我降级到STM32CubeIDE1.7,问题解决

已编辑: 我发现了问题。根据这些图片(第一个用于 STM32CubeIDE 1.8,第二个用于 STM32CubeIDE 1.7)

  • STM32CubeIDE 1.8 使用 STM32CubeProgrammer 2.9,这会产生问题,但 STM32CubeIDE 1.7 使用 STM32CubeProgrammer 2.8,它使一切正常。

解决方案2:

除了将 stm32CubeIDE 从 1.8 版本降级到 1.7 版本,您只能复制并替换 STM32CubeIDE 1.7 的以下目录内容:

C:\ST\STM32CubeIDE_1.7.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.0.0.202105311346\tools\bin

到目录:

C:\ST\STM32CubeIDE_1.8.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.0.100.202110141430\tools\bin

STM32CubeIDE 1.8 和所有东西都可以正常工作。