很多人在基于STM32单片机项目开发过程中,会遇到STM32程序无法进入main的现象,在这篇文将分享STM32程序无法进入main函数的解决方法,希望对用户有所帮助。
1.printf等函数采用了半主机模式
解决方法:关掉半主机模式,将输入输出端重定向到ARM器件上,重写fputc和fgetc函数。
2.系统滴答systick中断导致无法进入main函数
解决方法有两种:
1)在bootloader程序跳转到app层时就关闭系统滴答中断:SysTick-》CTRL &= ~SysTick_CTRL_ENABLE_Msk;
2)在SystemInit函数关闭系统滴答中断:SysTick-》CTRL &= ~SysTick_CTRL_ENABLE_Msk;
3.选择运行程序方式的问题
解决方法:把芯片上的boot0引脚拉低即可
附:
BOOT1=x BOOT0=0 从用户闪存启动
BOOT1=0 BOOT0=1 从系统存储器启动
BOOT1=1 BOOT0=1 从内置SRAM 启动
以上是STM32程序无法进入main函数的解决方法。
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。