This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

急求:C6678的DDR3扩展至8GB后内核与EDMA如何直接访问?

众所周知c6678的DDR3可以扩展到8GB,而keystone给DDR3分配的起始地址为0x80000000,地址空间大小只有2GB,请问把C6678的DDR3扩展的8GB后,内核和EDMA如何直接访问DDR3?

需要通过什么方式进行地址映射才能访问?

注:因算法的需要数据存储不是连续的,一次EDMA读取的数据地址跨度超过2GB,请问如何设置才能用EDMA直接访问?

有没相应的测试例程??

  • 因为32bit空间只有2G给DDR,因此需要通过MPAX进行映射,需要访问哪一段就做哪一段的映射,详见TMS320C66x DSP CorePac User Guide 7.3节;

    超过2G直接访问时不可能的,你需要修改你的算法。

  • 请问你的电路板上使用的芯片具体型号是什么?选哪个芯片可以达到8GB的容量?

  • 你好,

    我们可以提供C6678上全套的商用平台软件。

    下面回复您的问题:

    DDR的8G空间物理空间是0x8 0000 0000 ~ 0x9 FFFF FFFF。C6678 DATASHEET Page25, table2-2  是复位后的初始状态,逻辑地址0x8000_0000~0xFFFF_FFFF映射DDR最下面的2G(0x8 00000000 : 0x8 7FFFFFFF )。如果需要用另外6G空间,需要配置MPAX修改复位后的初始状态。请参考sprugw0a C66X corepac的文档。

    只要配置地址为0x0800 0008的XMPAX1_L和0x0800 000c的XMPAX1_H

    如果访问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即可.

    Best Regards

    William.dong@enea.com

  • 这个8G是最大的空间吗?能不能外扩16G?

  • 最大支持8G的DDR。

  • 为什么最大支持8G?那个地址映射难道不能一直到0xFFFFFFFFF吗?这样就有32G

x 出现错误。请重试或与管理员联系。