解决 Error L6915E 问题

出现以下错误:
Error: L6915E: Library reports error: The semihosting __user_initial_stackheap cannot reliably set up a usable heap region if scatter loading is in use
 
__user_initial_stackheap应该是一个初始化堆栈的函数,这个函数被__user_setup_stackheap取代,我们需要自己重新定义这个函数来解决这个问题,或者在scatter file中定义一个ARM_LIB_HEAP或ARM_LIB_STACK域。
然后打开test.scf,在里面加上一个段:
ARM_LIB_STACKHEAP 0x0 EMPTY 0 {}
例如:

; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_ROM1 0x20008000 0x02000000 ;load region size_region
{
ER_ROM1 0x20008000 0x00FF8000 ;load address = execution address
{
*.o (RESET, +First)
.ANY (+RO +RW +ZI)
}
RW_RAM1 0x21000000 0x01000000
{
.ANY( +ZI)
}
ARM_LIB_STACKHEAP 0x0 EMPTY 0 {}
}

转载于:https://www.cnblogs.com/svchao/p/4585060.html

你可能感兴趣的:(解决 Error L6915E 问题)