STM32CubeIDE在地址处中断;xxx“;没有可用的调试信息,或在程序代码之外

STM32CubeIDE在地址处中断;xxx“;没有可用的调试信息,或在程序代码之外,c,microcontroller,stm32f0,stm32cubeide,C,Microcontroller,Stm32f0,Stm32cubeide,我正忙着用STM32F030C8单片机开发一些新的硬件。我将STM32CubeIDE与gcc一起使用。我对微控制器开发非常陌生,这是我第一个使用ST及其工具的项目 这是一个非常基本的程序,只会触发GPIO。其余的都是生成的代码。由于我在这个领域的经验很少,我希望有人能指出一个我可以看的地方。我怀疑这可能是一个配置问题 以下是代码(我删除了所有生成的注释以使其更加紧凑): 当我单步执行代码时,它将触发“我的代码1”上的GPIO,一旦我单步执行“我的代码2”,它将导致问题。我甚至试过只运行一个完全生

我正忙着用STM32F030C8单片机开发一些新的硬件。我将STM32CubeIDE与gcc一起使用。我对微控制器开发非常陌生,这是我第一个使用ST及其工具的项目

这是一个非常基本的程序,只会触发GPIO。其余的都是生成的代码。由于我在这个领域的经验很少,我希望有人能指出一个我可以看的地方。我怀疑这可能是一个配置问题

以下是代码(我删除了所有生成的注释以使其更加紧凑):

当我单步执行代码时,它将触发“我的代码1”上的GPIO,一旦我单步执行“我的代码2”,它将导致问题。我甚至试过只运行一个完全生成的程序,不做任何修改,但问题仍然存在。这是一个快速测试,看看程序是否真的在mcu上运行。它确实会触发GPIO

调试器控制台输出:

Temporary breakpoint 1, main () at ../Core/Src/main.c:74
74        HAL_Init();

Program received signal SIGTRAP, Trace/breakpoint trap.
0x1fffecec in ?? ()
Waiting for debugger connection...
Debugger connected
      -------------------------------------------------------------------
                        STM32CubeProgrammer v2.4.0                  
      -------------------------------------------------------------------

ST-LINK SN  : 34FF6E065250343816210143
ST-LINK FW  : V2J36S7
Voltage     : 3.22V
SWD freq    : 4000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Device ID   : 0x440
Device name : STM32F05x/F030x8
Flash size  : 64 KBytes
Device type : MCU
Device CPU  : Cortex-M0



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


Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 4]
Download in Progress:


File download complete
Time elapsed during download operation: 00:00:00.627

Verifying ...

Download verified successfully 
Break at address "0x1fffecec" with no debug information available, or outside of program code.
临时断点是程序启动的地方,我可以从那里运行。或者一步一步地进行,结果都是一样的

控制台输出:

Temporary breakpoint 1, main () at ../Core/Src/main.c:74
74        HAL_Init();

Program received signal SIGTRAP, Trace/breakpoint trap.
0x1fffecec in ?? ()
Waiting for debugger connection...
Debugger connected
      -------------------------------------------------------------------
                        STM32CubeProgrammer v2.4.0                  
      -------------------------------------------------------------------

ST-LINK SN  : 34FF6E065250343816210143
ST-LINK FW  : V2J36S7
Voltage     : 3.22V
SWD freq    : 4000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Device ID   : 0x440
Device name : STM32F05x/F030x8
Flash size  : 64 KBytes
Device type : MCU
Device CPU  : Cortex-M0



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


Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 4]
Download in Progress:


File download complete
Time elapsed during download operation: 00:00:00.627

Verifying ...

Download verified successfully 
Break at address "0x1fffecec" with no debug information available, or outside of program code.
完全错误:

Temporary breakpoint 1, main () at ../Core/Src/main.c:74
74        HAL_Init();

Program received signal SIGTRAP, Trace/breakpoint trap.
0x1fffecec in ?? ()
Waiting for debugger connection...
Debugger connected
      -------------------------------------------------------------------
                        STM32CubeProgrammer v2.4.0                  
      -------------------------------------------------------------------

ST-LINK SN  : 34FF6E065250343816210143
ST-LINK FW  : V2J36S7
Voltage     : 3.22V
SWD freq    : 4000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Device ID   : 0x440
Device name : STM32F05x/F030x8
Flash size  : 64 KBytes
Device type : MCU
Device CPU  : Cortex-M0



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


Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 4]
Download in Progress:


File download complete
Time elapsed during download operation: 00:00:00.627

Verifying ...

Download verified successfully 
Break at address "0x1fffecec" with no debug information available, or outside of program code.
这里有两张图片可能会有所帮助。正如我提到的,我对这一点很陌生。因此,任何其他需要的信息,请询问。提前谢谢


代码位于0x08000000。0x1FFECEC处没有用户代码。It系统区域,可能会引导系统引导加载程序。这表明BOOTx引脚连接不正确。

您完全正确。BOOT0处于高位,选择了“系统内存”,我将BOOT0连接到地上,选择了“主闪存”。这解决了问题。如何选择主闪存?我是stm32的新手,我没有找到任何关于它的信息。来这里的时候,STM32CubeIDE和黑色药丸STM32F103C8T6也有同样的问题。。。检查您的后备箱针脚B0和B1。为了解决这个问题,我不得不将B0和B1都调低。谢谢希望它能在工具中提供线索