Keil5报错:Error: L6218E: Undefined symbol Image$$ARM_LIB_STACK$$ZI$$Limit

发布时间:2024年01月15日
  • Keil5在创建STM32工程文件后编译报错:

Error: L6218E: Undefined symbol Image$$ARM_LIB_STACK$$ZI$$Limit (referred from startup_armcm4.o).

  • 此处考虑到是链接问题,首先点击“魔术棒” → 在“Target”标签下 → 勾选“Use MicroLIB” → 点击”OK“,重新编译。

  • 此时工程报错:

Error: L6218E: Undefined symbol __initial_sp (referred from entry2.o).

即未定义初始化栈顶指针;

  • 此处其实是startup文件链接出现问题,即ARMCM4_ac6.sct文件没有链接到工程中;

  • 点击“魔术棒” → 在“Linker”标签下的“Linker control string”栏出可以看到,链接的sct文件并非"ARMCM4_ac6.sct",需要进行修改;

  • 取消勾选“Use Memory Layout from Target Dialog” → 在“Scatter File”文件栏下拉选择"ARMCM4_ac6.sct"文件,若没有,则点击“..."按钮,按照路径“.\RTE\Device\ARMCM4\ARMCM4_ac6.sct”找到文件即可;

  • 保存并编译文件即可通过:

文章来源:https://blog.csdn.net/m0_63116406/article/details/135585040
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。