jinbiao 发表于 2018-9-13 08:36
RAMLS5、RAMGS7和RAMGS8是三个段,不管地址是否连续,CCS都会认为其是3个不同的段,因此>>a|b这样的写法是不可以的。
你可以在声明段的时候把这三个段变成一段,然后再把.ebss、.econst、.esysmem映射到该段就行
BIN YAO1 谢谢你!
原来是这样,涨姿势了,不过我现在又发现一个问题,我给ccs里面.text分配了空间之后,ccs却没有使用,必须加上一个RAMGS类型的空间build才不会报错
我的CMD文件里面这一行是这样的
.text : >>RAMM0 | RAMD0 | RAMLS0 | RAMLS1 | RAMLS2 | RAMLS3 | RAMLS4 | RAMLS5 | RAMGS15 , PAGE = 0
但是,map文件里面使用情况却是这样的:
MEMORY CONFIGURATION
name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
PAGE 0:
BEGIN 00000000 00000002 00000002 00000000 RWIX
RAMM0 00000122 000002de 000002d7 00000007 RWIX
RAMLS0 00008000 00000800 0000072b 000000d5 RWIX
RAMLS1 00008800 00000800 00000000 00000800 RWIX
RAMLS2 00009000 00000800 00000000 00000800 RWIX
RAMLS3 00009800 00000800 00000000 00000800 RWIX
RAMLS4 0000a000 00000800 00000000 00000800 RWIX
RAMLS5 0000a800 00000800 00000000 00000800 RWIX
RAMD0 0000b000 00000800 000007ff 00000001 RWIX
RAMGS15 0001b000 00001000 00000a46 000005ba RWIX
可以看到RAMLS1~RAMLS5全都没有使用啊,而且要是我不加上RAMGS15的话,就提示空间不够了,我已经把RAMGS15放在page0里面去了
求解答啊!