记一次用jlink调试正常,不进入调试就不能运行的情况

一、概述

我开机会闪烁所有指示灯,但是重新上电时,指示灯并没有闪烁,就像"卡死"了一样。
使用jlink的swd接口进行调试,需要多点几次运行才能跳转到main函数里面。
调试模式第一次点击运行,暂停查看函数堆栈情况,能看到调用了__sys_open,feopen,_initio等。如下图
记一次用jlink调试正常,不进入调试就不能运行的情况_第1张图片

二、解决方法

勾选设置里的Use MicroLIB
记一次用jlink调试正常,不进入调试就不能运行的情况_第2张图片

三、总结

这是在第一版基础上增加了spiflash,然后我移植了littleFS,可能因为里面用到了很多C语言标准库相关的接口。
具体原因没去分析,但是以后涉及到使用C语言标准库如果出问题,第一个应该会联想到这个操作。不禁让我想起rtt-thread为什么会有一套自己的接口文件,应该也是和C语言标准库在嵌入式上的应用相关。

你可能感兴趣的:(调试记录,stm32,单片机,经验分享)