外部闪存加载器在 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 和所有东西都可以正常工作。
我已经为我的基于 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 和所有东西都可以正常工作。