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

66ak2h12的内存映射及访问疑惑?

Hi,experts:

    硬件:66ak2h12

    软件:CCS6.0

 

    从SPRS866E文档的P94 Table 6-1截图如下:

DDR3A_REMAP_EN为1。

从上截图,可以看出ARM访问0x8000 0000-0xffffffff地址空间时,对应访问的是DDR3A,DSP访问0x8000 0000-0xffffffff地址空间时,对应访问的是DDR3B,SOC(比如EDMA)访问0x8000 0000-0xffffffff地址空间时,对应访问的是DDR3A。

基于上面的描述,我有个疑惑,EDMA无法访问DSP对应的地址空间0x8000 0000-0xffffffff(DDR3B),因为EDMA访问0x8000 0000-0xffffffff地址空间时,对应访问的是DDR3A,那我怎么在DSP中使用EDMA,莫非只能通过访问ox6000 0000-0x7ffff ffff的地址空间来访问DSP的地址空间?

    Best Regards

         Gavin

Andy Yin1:

对于EDMA而言只能访问到DDR3B的前面512MB空间,更宽的空间只能通过DDR3A来访问。

atower geng:

回复 Andy Yin1:

Hi, Andy 

    谢谢你的回复。

    前提条件:硬件设计,DDR3A_REMAP_EN=1,为了兼容以前C6678的程序,DSP访问DDR的地址空间为0x8000 0000-0xFFFF FFFF,所以ARM访问DDR3A,DSP访问DDR3B。

据你你述, “对于EDMA而言只能访问到DDR3B的前面512MB空间”,是不是可以这么理解,假如EDMA需要访问DSP对应的DDR地址空间,是不是只能访问0x6000 0000-0x7ffff ffff这段地址空间。

    Best Regards

         Gavin

Andy Yin1:

回复 atower geng:

注意数据手册中给出的都是物理地址,如果你这里列出的DDR空间0x8000 0000-0xFFFF FFFF是物理地址的话,对应的则是DDR3B的memory,此时SoC只能通过物理地址0x60000000~0x7FFFFFFF进行访问DDR3B前面的512MB空间。

K2H12上有两个DDR3控制器,你现在哪个上面接了SDRAM,如果为了兼容6678的话,应该只需要用DDR3A,此时配置XMC及SEX的MPAX将逻辑地址0x8000 0000开始的区间映射到0x0 8000 0000开始的物理地址区间,这样的话SoC可以通过逻辑地址0x8000 0000访问到0x0 8000 0000 开始的DDR3A物理空间。

K2上逻辑地址与物理地址的映射请参考http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/70726.aspx

赞(0)
未经允许不得转载:TI中文支持网 » 66ak2h12的内存映射及访问疑惑?
分享到: 更多 (0)