vscode+EIDE环境下导入keil MDK项目后烧录运行后遇到的hardfault错误
最近遇到一个比较奇怪的问题同一个keil MDK项目在原环境下无论是烧写还是调试都能正常工作但是在vscodeEIDE环境下虽然也能无错误编译但是烧录或者debug调试后当使用串口调试助手的udp网络通信回显测试时会进入hardfault的死循环也就说代码跑飞了。首先我要说明的是代码不是不能运行表现出来的现象是代码部分能运行但是部分一定会跑飞。解决方案首先我查看了一下EIDE从keil MDK环境的魔术棒继承来的信息没发现问题。后来我在EIDE论坛中详细描述了整个过程和问题链接如下同一个keil MDK工程在EIDE插件下Debug调试或者将生成的hex文件下载到单片机后发送指令给单片机遇到HardFault跑飞问题 - Embedded IDE Forum后来我根据进入vscode的debug状态时的警告信息“LiveGDB: warning: Loadable section RW_IRAM1 outside of ELF segments”将IRAM的64KB分成了2部分最初从keil MDK继承来的数据这个是我自己修改分成两段后这样设置好了之后重新“全部编译”并下载使用串口助手的UDP网络通信就不会进入“hardfault”跑飞了。进入vscode的Debug调试界面问题虽然解决了但是我不清楚这样操作是否是正确的。另外就是Debug调试界面进入后停在了main函数的非第一条代码上这个问题还没解决但是不影响代码正常运行也没有解决。我是希望debug进入后和keil MDK一样停在main函数的非第一条代码上。现在论坛博主还没有回复信息再等等希望能得到一个准确的结论。

相关新闻