STM32_TEST.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_md.o).
2017-07-24 16:37
477 查看
转自:http://blog.sina.com.cn/s/blog_542bad910101g1h5.html
此问题错误提示已经十分清楚的告诉你错在哪里了,Undefined symbol SystemInit ,翻译过来就是:SystemInit
这个符号没有定义,随后的小括号告诉你了,是在startup_stm32f10x_md.o这个文件里面被提及的,这个.o文件在工程里面并没有,它是一个在编译的时候根据.c/.s文件生成的。所以我们只需要找到工程里面的.s或者.c即可,这里对应这个名字的就是startup_stm32f10x_md.s了。
在此文件里面可以找到SystemInit的所在:
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT __main
IMPORT SystemInit
LDR R0, =SystemInit
BLX R0
LDR R0, =__main
BX R0
ENDP
原来在复位中断服务函数里面,调用了SystemInit这个函数,而这个函数在.s文件里面没有定义。
所以解决的办法有两个。
1,在外部(其他任何.c文件里面)定义SystemInit这个函数,哪怕是个空函数也可以。
2,把
LDR R0, =SystemInit
BLX R0
这两句话去掉。
此问题错误提示已经十分清楚的告诉你错在哪里了,Undefined symbol SystemInit ,翻译过来就是:SystemInit
这个符号没有定义,随后的小括号告诉你了,是在startup_stm32f10x_md.o这个文件里面被提及的,这个.o文件在工程里面并没有,它是一个在编译的时候根据.c/.s文件生成的。所以我们只需要找到工程里面的.s或者.c即可,这里对应这个名字的就是startup_stm32f10x_md.s了。
在此文件里面可以找到SystemInit的所在:
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT __main
IMPORT SystemInit
LDR R0, =SystemInit
BLX R0
LDR R0, =__main
BX R0
ENDP
原来在复位中断服务函数里面,调用了SystemInit这个函数,而这个函数在.s文件里面没有定义。
所以解决的办法有两个。
1,在外部(其他任何.c文件里面)定义SystemInit这个函数,哪怕是个空函数也可以。
2,把
LDR R0, =SystemInit
BLX R0
这两句话去掉。
相关文章推荐
- STM32关于编译不通过,错误提示 Error: Undefined symbol SystemInit (referred from startup_stm32f10x_md.o
- Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_hd.o)
- MDK错误 Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_hd.o). 解决方法
- Undefined symbol SystemInit (referred from startup_stm32f10x_md.o).
- STM32_TEST.axf: Error: L6218E: Undefined symbol SystemInit
- XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxxx.o).
- .\output\ucosII.axf: Error: L6218E: Undefined symbol OS_StrLen (referred from os_task.o).
- freertos.axf: Error: L6218E: Undefined symbol xTaskGetSchedulerState (referred from delay.o).
- .\output\ucosII.axf: Error: L6218E: Undefined symbol OS_StrLen (referred from os_task.o).
- .\output\stm32f103.axf: Error: L6218E: Undefined symbol __aeabi_assert (referred from mqtt.o).
- XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxxx.o).
- 编译错误:XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxxx.o).
- XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxxx.o).
- ..\OBJ\ucgui_ucos.axf: Error: L6218E: Undefined symbol ff_convert (referred from ff.o). ..\OBJ\ucgui
- 解决Error: L6218E: Undefined symbol xxxx (referred from xxx.o)
- Error: L6218E: Undefined symbol m_tmr (referred from rt_task.o) 的解决
- Error: L6218E: Undefined symbol GUI_TOUCH_X_ActivateX (referred from gui_touch_driveranalog.o)
- Error: L6218E: Undefined symbol (referred from main.o)
- STM32不用固件库容易产生的一个问题:Undefined symbol SystemInit
- .\Obj\uCOSDemo.axf: Error: L6218E: Undefined symbol LCD_Fast_DrawPoint (refe