程序下载到STM32单片机后程序不运行
STM32使用keil异常问题处理
使用Keil在线调试STM32时,下载程序后需要点击三次运行才能启动
现象1:程序下载到STM32单片机后,程序不运行。
现象2:debug模式下,下载程序后,需要多次点击运行按钮程序才能开始运行。
原因:在工程中使用到了MicroLIB这个库中的函数,但是并没有勾选这个项目。MicroLIB是KEIL自带的一个为小内存的嵌入式系统设计的C语言库,用于代替标准C语言库,体积约为标准C语言库的三分之一,缺点就是并没有包含所有的标准库函数。
解决办法1:
在我自己的项目中使用到了LWIP,而LWIP库使用到了MicroLIB库,但是在项目中并没有勾选使用MicroLIB库,所以出现了上述问题,在KEIL中勾选使用MicroLIB库即可。
解决办法2:
工程中有多处使用到了MicroLIB中的printf()函数,这个函数默认定向到了串口1,如果在项目中没有选使用MicroLIB库的话, 也会出现这个问题。将所有使用到的MicroLIB库中的函数删除。