您好,我现在定义了一个很大的数组,超过256K,是const far型。我想把它放到SHDSPL2RAM内,超出的部分放进外部的SRAM,使用分裂符号>>,但编译后发现这个段并没有放到SHDSPL2RAM中,全都放进了EMIFACS3,这是什么原因?
这是我定义的数组,将这个数组命名成.starcatalog_pairs段
在section里写了 .starcatalog_pairs : >> SHDSPL2RAM | EMIFACS3,表明先将这个段放进SHDSPL2RAM里,超出的部分放进EMIFACS3
但编译完后这个段全都放进了EMIFACS3
.starcatalog_pairs* 0 6206ce00 00057384 6206ce00 00057384 C6748Star.obj (.starcatalog_pairs)
请问这是什么原因?这个段不能执行分裂存储的操作么?
Tony Tang:
一个连续的数组不能分开存放,不然读数据时,程序怎么能知道突然换到另一个遥远的地址去读下一个数?