MDK中编译报错 Error: L6218E: Undefined symbol SystemInit (referred from startup_cmsdk_cm0.o).
情况一 缺失main与SystemInit定义程序
在MDK中编译从ARM官网下载下来的Cortex-M0的启动文件startup_CMDK_cm0.s出现以下报错
.\code.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_cmsdk_cm0.o).
.\code.axf: Error: L6218E: Undefined symbol main (referred from __rtentry2.o).
这里大概意思是由于在启动文件中调用了SystemInit子程序和main程序,但是没有定义这两个函数,所以无法编译通过。
这里我们需要写个C程序,定义一下这两个函数,通过File->New建立空白文件,Ctrl+S保存为main.c的C程序。在里面写入以下程序,定义main和SystemInit即可。
int main(void)
{}
void SystemInit(void)
{}
完了一定要把自己写的这段程序main.c加入当前工程中,如下图,否者编译还会出现之前的报错信息。
重新编译,编译通过。
情况二 缺失SystemInit定义
方法1
还有很多人写了主函数main的定义,但是没有定义函数SystemInit,然后编译后会出现下面这种报错。
其实,换汤不换药,参照前面的操作在main.c中加入SystemInit的定义即可,或者重新写个SystemInit.c定义一下SystemInit即可。
重新编译通过。
方法2
对于缺失SystemInit的定义而导致的报错,还有这种方法:既然你因为调用这个SystemInit函数而报错,那么我不调用不就行了。
如果学过汇编的话,可以查看启动汇编代码startup_CMDK_cm0.s中复位中断部分程序Reset_Handler,在这里引用了SystemInit子程序(IMPORT SystemInit
),并且执行伪指令LDR R0, =SystemInit
将SysteInit的入口地址赋给寄存器R0,然后通过跳转指令BLX R0
跳转至寄存器R0存储地址所对应的子程序,执行该子程序。
这样的话只需要将这三行注释掉(注释符号为;
),重新编译,编译通过。
注:以上仅为个人学习过程解决问题的过程,如果能解决您的问题,可以点个赞,如果无法解决您的问题,可以评论区友善交流学习哦。
MDK中编译报错 Error: L6218E: Undefined symbol SystemInit (referred from startup_cmsdk_cm0.o).相关推荐
- STM32编译报错 Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_hd.o).——解决办法
入门STM32写第一个程序时,引入启动文件startup_stm32f10x_hd.s后编译报错 [注]启动文件自行下载后加入工程中 一.原因 引入的启动文件startup_stm32f10x_hd. ...
- (已解决)STM32报错Error: L6218E: Undefined symbol assert_param (referred from misc.o).
今天在学习搭建固件库时遇到了一个问题,32在编译的时候会报Error: L6218E: Undefined symbol assert_param (referred from misc.o).的错误 ...
- IAR编译报错---Error[e46]: Undefined external ?V1 referred in AF
IAR 和Z-Stack的高低版本是互不兼容的,按照TI社区的方法就可以解决这个问题 https://e2echina.ti.com/question_answer/wireless_connecti ...
- HAL库 编译错误:XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxxx.o)的可能原因之一及解决方法
我在学习STM32 HAL库版本时遇到了这种编译问题 由于是刚开始学习STM32代码跟例程是一样的,所以代码不可能出错.我去网上寻找答案看到了 (7条消息) (已解决)STM32报错Error: L6 ...
- MDK编译出现*.axf: Error: L6218E: Undefined symbol 问题解决方法
本文参考此贴写成,原帖链接 http://blog.csdn.net/yx_l128125/article/details/9231385 在使用MDK编译工程时出现了如下错误,test.axf: E ...
- keil 5 报错记录:..\OBJ\templiate.axf: Error: L6218E: Undefined symbol PcdHalt (referred from rc522.o).
keil 5 报错记录:-\OBJ\templiate.axf: Error: L6218E: Undefined symbol PcdHalt (referred from rc522.o). 先来 ...
- 【致敬嵌入式攻城狮第2期活动预热征文】解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: ‘board_cfg.h‘ file not found
解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: 'board_cfg.h' file not found 继上上周在RA2E1开发板上跑通了RT-Thread最新版本的代码 ...
- 编译错误:XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxxx.o).
#XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxxx.o). MDK 报错: linking- stm32f103.axf ...
- IAR编译时报错Error[e46]: Undefined external _delay_cycles referred in main
IAR编译时报错Error[e46]: Undefined external "_delay_cycles" referred in main 学习MSP430过程中遇到有如下一个 ...
- [STM32问题解决(1)]一类问题的解决办法——编译错误:XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxxx.o).
目录 1 问题说明 1.1 问题回顾 1.2 寻找解答所犯的错误 2 解决办法(试用于一系列问题) 2.1 重审问题 2.1.1 Undefined symbol xxx.c 2.1.2 referr ...
最新文章
- (ql)30W单片精密开关电源 电路图加分析
- Python之pyecharts:利用pyecharts绘制2020年11月16日微博话题热度排行榜实时变化
- FreeRTOS系列第2篇---FreeRTOS入门指南
- boost::coroutine模块实现非对称协程的测试程序
- centos php mcrypt_面试经常问你什么是PHP垃圾回收机制?
- pom.xml中出现错误提示Failure to transfer org.jboss.weld.jar ... maven2 was cached in the local repository.
- php serialize error at offset,unserialize(): Error at offset出现的原因分析以及解决方法
- Excel函数实战技巧精粹(六)如何在条件格式中使用函数
- ueditor java_编辑器ueditor1.4.3 JAVA环境使用
- 云课堂智慧职教网页版登录入口_智慧职教云课堂登录
- 【算法】03 SCE-UA算法C++实现
- [BZOJ4134][JZOJ4401]ljw和lzr的hack比赛
- 米发,免费域名转发 301重定向 URL跳转服务
- 机器学习中的Encoder和Decoder到底是什么
- 机器人操作系统ROS 1.0 和 2.0 发展规划2018-2025(Open Robotics)译
- 5G到底什么时候来,以及,它究竟能给我们带来什么?
- 防关联浏览器有哪些浏览器(浏览器防关联软件分析)
- MQ 消息丢失、重复、积压问题,如何解决?
- 使用VirtualBox搭建分布式集群环境记录
- C/C++数据结构舞伴问题
热门文章
- 初学者必看的JavaScript 七大点!
- 《Cocos Creator游戏实战》实现微信小游戏的截图,预览和相册保存功能
- png转bmp,png批量转成bmp
- docker容器获取宿主ip地址
- window的dos命令学习笔记 二
- android 正三角,倒三角的实现代码
- 上学前夕-心里有种说不出的感觉-眼里酸酸的
- 搜索广告的整体架构-子模块划分
- IDLE Help | 汉化
- [id: * L:/* ! R:/*] onUncaughtException(SimpleConnection{channel=[id: *