各位大虾好:
在实际使用过程中,LPC2378内部自带的32KRAM不够用,所以想用USB或ENET的内存作为通用RAM使用,但是编译出现:
.....lpc2378.axf: Error: L6406W: No space in execution regions with .ANY selector
matching Section .bss (main.o).
......\lpc2378.axf: Error: L6407W: Sections of aggregate size 0x64F8 bytes could not fit into .ANY selector(s).
分散加载文件见下:
;******************************************************************************
;
; SCATTER LOADING DEION
; ARM
; KEIL's uVision3
; (RealView Microprocessor Developer Kit)
;
; Filename : LPC2378_Flash.scat
;******************************************************************************
LR_IROM1 0x00000000 0x00080000
{
ER_IROM1 0x00000000 0x00080000 ;; 起始地址为0x0,大小为0x80000
{
vectors.o (VECT, +First)
init.o (INIT)
* (+RO)
}
RW_IRAM1 0x40000000 0x00007000
{
.ANY(+RW,+ZI)
}
RW_IRAM2 0x7fd00000 0x2000
{
uart0.o(+RW,+ZI)
uart1.o(+RW,+ZI)
uart2.o(+RW,+ZI)
uart3.o(+RW,+ZI)
}
ARM_LIB_HEAP 0x40007200 EMPTY 0x00000100 {}
ARM_LIB_STACK 0x40008000 EMPTY -0x00000C00 {}
}
按照实际的使用空间计算大约为34K左右,LPC2378内部的32K加上USB的8K,应该能够满足要求,所以我怀疑还是分散加载文件配置问题,但做了改动没有编译成功。
请大家不吝赐教,谢谢。 |