我正高兴地为我的
STM32f205 开发一些 ADC+DMA 例程,突然我的 MCU 开始冻结。
我能够通过 ST-link 使用 stm32CubeProgrammer 连接、擦除和闪存二进制文件。
在用 stlink 和 STM32cubeprogrammer 多次擦除我的 STM32F205 之后,我使用一个简单的闪烁程序作为调试代码,它是用 cubeMX 自动生成的:
内部时钟
软件调试
和我的led pin。
该程序也无法执行。(它在我的 nucleo-f207 板上执行没有问题)

启动调试会话时,我意识到 HAL_Delay() 函数将代码引导到一个奇怪的闪存,未映射到 .elf 内存位置。
______________________________________________________________________________
hal_delay() 之前的 sys
tick:

系统在 werid 跳转到内存后,调试器失去对代码运行位置的跟踪
nvic_iser4 显示当一切都向南时的价值..
如果我注释掉 hal_delay 函数,闪烁会起作用....