TI中文支持网
TI专业的中文技术问题搜集分享网站

关于C6678访问超过2G内存地址的问题

参照些帖http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/p/3309/38629.aspx#38629

如果访问0x8 80000000 : 0x8 FFFFFFFF ,则令XMPAX1_L=880000BF,XMPAX1_H=0x8000001E

如果访问0x9 00000000 : 0x9 7FFFFFFF ,则令XMPAX1_L=900000BF,XMPAX1_H=0x8000001E

如果访问0x9 80000000 : 0x9 FFFFFFFF ,则令XMPAX1_L=980000BF,XMPAX1_H=0x8000001E

1. 那这样是不是每次访问之前都需要先配置XMPAX,才可以访问对应的2G空间,那这样是不是代码实现比较麻烦

2. 还是只需要在boot里面配置一次XMPAX,后续可以直接访问总的8G空间了

如果可以直接访问总的8G空间,应该怎么操作,可以直接操作大于32bit的地址吗,或者说直接使用36bit的地址

BIOS/SYS应该是32位的,只能访问0x8000 0000 : 0x8FFF FFFFF吧

还望帮忙解答一下

万分感谢!

rainice:

回复 Andy Yin1:

谢谢您的回复!

如果每次最多只能映射2G的空间,而且代码也是在DDR运行,

那就需要控制代码只能在部分DDR地址范围中了

比如代码只允许运行在1G DDR范围内,另外1G的逻辑地址用来切换超过2G空间的36BIT物理地址

这样理解是否正确?或者您有更好的解决方案

赞(0)
未经允许不得转载:TI中文支持网 » 关于C6678访问超过2G内存地址的问题
分享到: 更多 (0)