
stm32 调试时卡在 LDR R0, =SystemInit不能进入main
分别尝试了,大神们提供的微库法,重写pfunc法,关闭systemtick中断法。只有keil4中的cross-module optimization 有点用。改到keil5中的这个选项又不起作用,而且还让编译过程很慢长。有时候会进入void HardFault_Handler(void)有时候会进入void MemManage_Handler(void)。但更多的时候跑不通,尤其是全速模式很难跑
·
已经有十年没认真用stm32了。那时候还用2.0.3库。不跑题。哈哈。这次需要用一个F407做事。但是开发板自带例程有时候能跑通,有时候跑不通。现象就是如题所述。
有时候会进入void HardFault_Handler(void)有时候会进入void MemManage_Handler(void)。但更多的时候跑不通,尤其是全速模式很难跑通。
分别尝试了,大神们提供的微库法,重写pfunc法,关闭systemtick中断法。都无效。只有keil4中的cross-module optimization 有点用。改到keil5中的这个选项又不起作用,而且还让编译过程很慢长。
emmm,不啰嗦啦。最后改了时钟配置的锁相环参数。思路就是分母不能太小定律。
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M 50//25
#define PLL_N 672//336
他们我开始真的以为就是一般的乘除法,也没多看手册。赶紧赶工
实际上是写了这个寄存器。希望能帮到遇到同样问题的人。
/* Configure the main PLL */
RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) |
(RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24);
更多推荐
所有评论(0)