L2没有到外部DDR的总线,是不是必须要使用IDMA
IDMA只能用在片上内存之间传输。以及CFG总线配置外设.
DSP CPU与外部是通过MDMA的。
建议再看一下sprufk5a文档。
http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
回复 Tony Tang:
回复 Shine Zhang:
回复 user3688025:
user3688025数据采集的数据量比较大,都放在了DDR上,计算时,想通过DMA转移到L2上,进行计算,发现DMA的方式无法转移到L2上,固有此疑问。
DMA可以搬到L2的。
user3688025但是code是在ddr上,这时,idma按现在的说法“IDMA只能用在片上内存之间传输。以及CFG总线配置外设”,是不是也无法实现?
IDMA不能访问DDR。
user3688025这里的地DMA是不是EDMA3,我使用EDMA进行转移时,L2中的数据并没有更改,全是0.而从ddr到ddr的转移是可以的,两都的区别也只是目标地址的不同吧。
是EDMA3。是不是L2的地址搞错了,EDMA访问的L2地址是从0x1180 0000开始,不是从0x0080 0000开始。
user3688025code 要可以转移到L1P中,前提是,code要是IDMA可以进行访问到的地方,也就是L2上才可以,其他的地址上的code不可以,或者可以转移两次,由DDR到L2,再由L2到L1P。
这也是没有办法的办法。
你可以做个二级boot跑在DDR上,或SHARERAM上,,在二级boot里把Cache disable,把应用程序搬到相应的片上内存位置,再跳到应用程序。