错误情况
用keil MDK建立CM3空工程后,报错,错误信息如下:
.\Objects\ARM_CM3.axf: Error: L6218E: Undefined symbol Image
A
R
M
L
I
B
S
T
A
C
K
ARM_LIB_STACK
ARMLIBSTACKZI$$Limit (referred from startup_armcm3.o).
Not enough information to list image symbols.
工程配置及报错信息截图如下:
解决方法
在网上找了资料,发现是选择一个sct文件就可以解决,但是照着操作的时候一直没搞懂,原来网上的资料把那个sct文件名打码了,后来自己胡乱点的时候发现工程中不止一个sct文件,原来是要点下拉箭头,选择后面那个sct文件才行。
具体操作:Option for Target > Linker > 取消勾选Use Memory Layout from Target Dialog > 自己选择Scatter File > 下拉选择ARMCM3_ac5_sct。
我是用AC5编译器,所以这里选ac5的sct。
重新编译,没有报错。
参考
https://blog.csdn.net/qq_24269643/article/details/108506259?ops_request_misc=&request_id=&biz_id=102&utm_term=Undefined%20symbol%20Image$$ARM_LI&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-108506259.142v10control,157v12control&spm=1018.2226.3001.4187。