为了在程序中实现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.
编译时出现如下错误:
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.