关于keil 自定义链接脚本 编译错误

来源:互联网 发布:淘宝充值平台关闭 编辑:程序博客网 时间:2024/05/22 04:33
为了在程序中实现printf 打印, 于是在keil Target 中勾选了 use MicroLib 选项,
编译时出现如下错误:
L6218E: Undefined symbol __initial_sp (referred from entry2.o).

解决方法:
在链接脚本中(scat 文件,分散加载文件),指定堆栈指针的位置:
ARM_LIB_HEAP  0x20004700 EMPTY  0x00000200   {}
ARM_LIB_STACK 0x20004B00 EMPTY -0x00000200   {}
在中断向量表中添加如下:
....
       IMPORT  ResetHndlr
            IMPORT  ||Image$$ARM_LIB_STACK$$ZI$$Limit||     ; Import stack limit from scatter-loading file              ;


Vectors
        DCD     ||Image$$ARM_LIB_STACK$$ZI$$Limit||         ;  0, SP start value.                                         
        DCD     ResetHndlr                                  ;  1, PC start value.  
0 0
原创粉丝点击