STM32L431断开jlink后程序无法运行,需要短复位电容才可以

使用STM32CubeMX配置时钟源为MSI,配置系统时钟为80MHz,生成的代码只运行点灯程序和外设初始化时是正常的。加入业务代码后,在连接jlink的情况下可以运行,不然的话就需要短一下复位电容才行。

开始怀疑是复位电容的问题,更换之后还是一样,而且在调试状态下也有可能进入HardFault_Handler,在Call Stark+Locals里面进入HardFault_Handler之前的内容为0x00000000。

在更换时钟源为HSI后,程序正常运行,确定了问题出在系统时钟配置上(还没研究使用MSI为什么会这样)。如果使用MSI的话,可以参考STM32L432的内部MSI晶振使用

另外,使用STM32CubeMX生成的代码默认优化等级3,第一次使用STM32CubeMX,用起来不太顺。

上一篇:多线程-java.util.concurrent-CountDownLatch与CyclicBarrier


下一篇:MySQL 8.0.25 MSI Install 安装过程