请教各位,我在build一个工程的时候,报出了错误。如下
<Linking>
"./configPkg/linker.cmd", line 170: error #10099-D: run placement fails for
object ".fardata", size 0x5868 (page 0). Available ranges:
L2SRAM size: 0x26000 unused: 0x1e max hole: 0xc
"./configPkg/linker.cmd", line 168: error #10099-D: placement fails for object
".const", size 0x4f6c (page 0). Available ranges:
>> Compilation failure
L2SRAM size: 0x26000 unused: 0x1e max hole: 0xc
"./configPkg/linker.cmd", line 171: error #10099-D: placement fails for object
".switch", size 0x67 (page 0). Available ranges:
L2SRAM size: 0x26000 unused: 0x1e max hole: 0xc
"./configPkg/linker.cmd", line 158: error #10099-D: run placement fails for
object ".stack", size 0x1000 (page 0). Available ranges:
L2SRAM size: 0x26000 unused: 0x1e max hole: 0xc
"./configPkg/linker.cmd", line 175: error #10099-D: run placement fails for
object ".cio", size 0x123 (page 0). Available ranges:
L2SRAM size: 0x26000 unused: 0x1e max hole: 0xc
"./configPkg/linker.cmd", line 159: error #10099-D: run placement fails for
object "GROUP_1", size 0x3c (page 0). Available ranges:
L2SRAM size: 0x26000 unused: 0x1e max hole: 0xc
"./configPkg/linker.cmd", line 165: error #10099-D: placement fails for object
".cinit", size 0x2160 (page 0). Available ranges:
L2SRAM size: 0x26000 unused: 0x1e max hole: 0xc
好像是L2SRAM不够用了,还是什么。我查卡了一下RTSC的platform设置,设置的存储区是够用的。然后查看了一下.map文件,说
SEGMENT ALLOCATION MAP
run origin load origin length init length attrs members
---------- ----------- ---------- ----------- ----- -------
00000000 00000000 00001000 00000000 rw-
00000000 00000000 00001000 00000000 rw- .stack
00000000 00000000 0000000c 00000000 rw-
00000000 00000000 0000000c 00000000 rw- .bss
00000000 00000000 0000219c 0000219c r--
00000000 00000000 0000219c 0000219c r-- .cinit
00000000 00000000 000048b6 000048b6 r--
00000000 00000000 000048b6 000048b6 r-- .const
00000000 00000000 00001178 00001178 rw-
00000000 00000000 00001178 00001178 rw- .fardata.1
00000000 00000000 00000058 00000058 r--
00000000 00000000 00000058 00000058 r-- .switch
00000000 00000000 00000120 00000000 rw-
00000000 00000000 00000120 00000000 rw- .cio
0000000c 0000000c 0000002a 0000002a rw-
0000000c 0000000c 0000002a 0000002a rw- .neardata
00000038 00000038 00000008 00000008 r--
00000038 00000038 00000008 00000008 r-- .rodata
00001180 00001180 000004a8 000004a8 rw-
00001180 00001180 000004a8 000004a8 rw- .fardata.2
00001630 00001630 00000078 00000078 rw-
00001630 00001630 00000078 00000078 rw- .fardata.3
000016b0 000016b0 00000408 00000408 rw-
000016b0 000016b0 00000408 00000408 rw- .fardata.4
00001ac0 00001ac0 000000b8 000000b8 rw-
00001ac0 00001ac0 000000b8 000000b8 rw- .fardata.5
00001b80 00001b80 00000014 00000014 rw-
00001b80 00001b80 00000014 00000014 rw- .fardata.6
00001ba0 00001ba0 00000014 00000014 rw-
00001ba0 00001ba0 00000014 00000014 rw- .fardata.7
00001bc0 00001bc0 00000014 00000014 rw-
00001bc0 00001bc0 00000014 00000014 rw- .fardata.8
00001be0 00001be0 00000068 00000068 rw-
00001be0 00001be0 00000068 00000068 rw- .fardata.9
00001c50 00001c50 00000008 00000008 rw-
00001c50 00001c50 00000008 00000008 rw- .fardata.10
00001c60 00001c60 00000004 00000004 rw-
00001c60 00001c60 00000004 00000004 rw- .fardata.11
00001c70 00001c70 00000004 00000004 rw-
00001c70 00001c70 00000004 00000004 rw- .fardata.12
00001c80 00001c80 00000004 00000004 rw-
00001c80 00001c80 00000004 00000004 rw- .fardata.13
00001c90 00001c90 00000004 00000004 rw-
00001c90 00001c90 00000004 00000004 rw- .fardata.14
00001ca0 00001ca0 00000004 00000004 rw-
00001ca0 00001ca0 00000004 00000004 rw- .fardata.15
00001cb0 00001cb0 00000004 00000004 rw-
00001cb0 00001cb0 00000004 00000004 rw- .fardata.16
00001cc0 00001cc0 00000004 00000004 rw-
00001cc0 00001cc0 00000004 00000004 rw- .fardata.17
00001cd0 00001cd0 00000004 00000004 rw-
00001cd0 00001cd0 00000004 00000004 rw- .fardata.18
00001ce0 00001ce0 00000004 00000004 rw-
00001ce0 00001ce0 00000004 00000004 rw- .fardata.19
00001cf0 00001cf0 00000004 00000004 rw-
00001cf0 00001cf0 00000004 00000004 rw- .fardata.20
00001d00 00001d00 00000004 00000004 rw-
00001d00 00001d00 00000004 00000004 rw- .fardata.21
00800000 00800000 00015f64 00000000 rw-
00800000 00800000 00015f64 00000000 rw- .far.1
00815f70 00815f70 0000c758 00000000 rw-
00815f70 00815f70 0000c758 00000000 rw- .far.2
008226d0 008226d0 00000096 00000000 rw-
008226d0 008226d0 00000096 00000000 rw- .far.3
00822770 00822770 0005d890 00003890 rw-
00822770 00822770 00003890 00003890 rw- .fardata.22
00826000 00826000 0005a000 00000000 rw- .internalMEM
0c200000 0c200000 00038640 00038640 r-x
0c200000 0c200000 00038640 00038640 r-x .text
0c238800 0c238800 00000200 00000200 r-x
0c238800 0c238800 00000200 00000200 r-x .vecs
80200000 80200000 02000000 00000000 rw-
80200000 80200000 02000000 00000000 rw- .externalMEM
SECTION ALLOCATION MAP
output attributes/
section page origin length input sections
-------- ---- ---------- ---------- ----------------
.stack 0 00000000 00001000 FAILED TO ALLOCATE
.bss 0 00000000 0000000c FAILED TO ALLOCATE
.cinit 0 00000000 0000219c FAILED TO ALLOCATE
.init_array
* 0 00800000 00000000 UNINITIALIZED
.const 0 00000000 000048b6 FAILED TO ALLOCATE
.fardata.1
* 0 00000000 00001178 FAILED TO ALLOCATE
.switch 0 00000000 00000058 FAILED TO ALLOCATE
.cio 0 00000000 00000120 FAILED TO ALLOCATE
.neardata
* 0 0000000c 0000002a FAILED TO ALLOCATE
.rodata 0 00000038 00000008 FAILED TO ALLOCATE
.fardata.2
* 0 00001180 000004a8 FAILED TO ALLOCATE
.fardata.3
* 0 00001630 00000078 FAILED TO ALLOCATE
.fardata.4
* 0 000016b0 00000408 FAILED TO ALLOCATE
.fardata.5
* 0 00001ac0 000000b8 FAILED TO ALLOCATE
.fardata.6
* 0 00001b80 00000014 FAILED TO ALLOCATE
.fardata.7
* 0 00001ba0 00000014 FAILED TO ALLOCATE
.fardata.8
* 0 00001bc0 00000014 FAILED TO ALLOCATE
.fardata.9
* 0 00001be0 00000068 FAILED TO ALLOCATE
.fardata.10
* 0 00001c50 00000008 FAILED TO ALLOCATE
.fardata.11
* 0 00001c60 00000004 FAILED TO ALLOCATE
.fardata.12
* 0 00001c70 00000004 FAILED TO ALLOCATE
.fardata.13
* 0 00001c80 00000004 FAILED TO ALLOCATE
.fardata.14
* 0 00001c90 00000004 FAILED TO ALLOCATE
.fardata.15
* 0 00001ca0 00000004 FAILED TO ALLOCATE
.fardata.16
* 0 00001cb0 00000004 FAILED TO ALLOCATE
.fardata.17
* 0 00001cc0 00000004 FAILED TO ALLOCATE
.fardata.18
* 0 00001cd0 00000004 FAILED TO ALLOCATE
.fardata.19
* 0 00001ce0 00000004 FAILED TO ALLOCATE
.fardata.20
* 0 00001cf0 00000004 FAILED TO ALLOCATE
.fardata.21
* 0 00001d00 00000004 FAILED TO ALLOCATE
xdc.meta 0 00800000 00000118 COPY SECTION
00800000 00000118 vlfft_evmc6678l_pe66.oe66 (xdc.meta)
.far.1 0 00800000 00015f64 UNINITIALIZED
00800000 0000df40 edma3_lld_drv.ae66 : edma3_drv_init.oe66 (.far)
0080df40 00008024 vlfft_evmc6678l_pe66.oe66 (.far)
.far.2 0 00815f70 0000c758 UNINITIALIZED
00815f70 00007a60 edma3_lld_rm.ae66 : edma3resmgr.oe66 (.far)
0081d9d0 000042e0 : edma3_rm_gbl_data.oe66 (.far)
00821cb0 00000800 vlfft_evmc6678l_pe66.oe66 (.far:taskStackSection)
008224b0 00000140 rts6600_elf.lib : defs.obj (.far)
008225f0 000000d8 : trgdrv.obj (.far)
.far.3 0 008226d0 00000096 UNINITIALIZED
008226d0 00000096 vlfftApps.obj (.far)
.fardata.22
* 0 00822770 00003890
00822770 00000fc0 edma3_lld_rm.ae66 : edma3_c6678_cfg.oe66 (.fardata:defInstInitConfig)
00823730 00000fc0 edma3_lld_drv_sample.ae66 : sample_c6678_cfg.oe66 (.fardata:sampleInstInitConfig)
008246f0 00000888 edma3_lld_rm.ae66 : edma3_c6678_cfg.oe66 (.fardata:edma3GblCfgParams)
00824f78 00000008 rts6600_elf.lib : _lock.obj (.fardata)
00824f80 00000888 edma3_lld_drv_sample.ae66 : sample_c6678_cfg.oe66 (.fardata:sampleEdma3GblCfgParams)
00825808 00000730 vlfft_evmc6678l_pe66.oe66 (.fardata)
00825f38 00000004 rts6600_elf.lib : defs.obj (.fardata)
00825f3c 00000004 : dtor_list.obj (.fardata)
00825f40 000000a0 : lowlev.obj (.fardata:_stream)
00825fe0 00000020 edma3_lld_drv_sample.ae66 : sample_c6678_cfg.oe66 (.fardata:gblCfgReqdArray)
.internalMEM
* 0 00826000 0005a000 UNINITIALIZED
00826000 0005a000 vlfftApps.obj (.internalMEM)
ti.sdo.ipc.SharedRegion_0
* 0 0c000000 00200000 NOLOAD SECTION
0c000000 00200000 --HOLE--
上面说是有很多很多数据块和程序块没有成功分配内存。我知道使用SYS/BIOS时候,这些设置SEGMENT, SECTIONS的加载和分配内存的linker.cmd文件是自动产生的,不能修改。我想问的是,编译器是怎么分配内存的,如果我想改变.cmd文件里面的配置,应当在BIOS的哪里修改?
先谢谢各位解答的好心人了。

