本文主要是介绍[STM32] Keil MDK 新建工程编译不通过(warning: #2803-D和Error: L6218E)解决方法备忘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
按照野火的PDF教程的第4章:[野火®]《RT-Thread 内核实现与应用开发实战—基于STM32》.pdf 新建 Keil MDK 工程,工程设置完成后点击编译按钮,编译不通过:
RTE\Device\ARMCM3\startup_ARMCM3.c(75): warning: #2803-D: unrecognized GCC pragma#pragma GCC diagnostic push RTE\Device\ARMCM3\startup_ARMCM3.c(76): warning: #2803-D: unrecognized GCC pragma#pragma GCC diagnostic ignored "-Wpedantic" RTE\Device\ARMCM3\startup_ARMCM3.c(113): warning: #2803-D: unrecognized GCC pragma#pragma GCC diagnostic pop RTE\Device\ARMCM3\startup_ARMCM3.c: 3 warnings, 0 errors
.\Objects\cedtek_RT-Thread.axf: Error: L6218E: Undefined symbol Image$$ARM_LIB_STACK$$ZI$$Limit (referred from startup_armcm3.o). Not enough information to list load addresses in the image map.
如下图所示:
搜索了一下发现了解决方法,在这里做个备忘
消除警告:warning: #2803-D: unrecognized GCC pragma
搜索引擎搜索到的解决方式 unrecognized pragma warning 如下图所示
应该指的是更换编译器的版本,我按照下面动图所示步骤点击更换编译器
编译器版本更换后再次编译,可以发现没有警告信息了,如下图所示
解决错误:
Error: L6218E: Undefined symbol Image$$ARM_LIB_STACK$$ZI$$Limit
搜索引擎搜索到的解决方式 点击我跳转 如下图所示
对链接器选项卡进行设置,下面的这个动图,展示的是我依葫芦画瓢的过程
再再次编译,终于成了!
参考资料:
unrecognized pragma warning
点击我跳转
这篇关于[STM32] Keil MDK 新建工程编译不通过(warning: #2803-D和Error: L6218E)解决方法备忘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!