L2没有到外部DDR的总线,是不是必须要使用IDMA
Tony Tang:
IDMA只能用在片上内存之间传输。以及CFG总线配置外设.
DSP CPU与外部是通过MDMA的。
建议再看一下sprufk5a文档。
Shine:
回复 Tony Tang:
IDMA不能搬移内部和外部Memory之间的数据。
processors.wiki.ti.com/…/AM1x_SoC_Level_Optimizations
user3688025:
回复 Tony Tang:
sprufk5a中只有一个Arbitration Control Register的说明,这个MDMA的使用,通过什么配置地址呢?
user3688025:
回复 Shine:
那么使用什么方式呢,MDMA么?有没有例程呢
Tony Tang:
回复 user3688025:
MDMA只是一个总线端口,没有配置这一说。
你为什么要关心这些呢?你具体的应用是啥?
user3688025:
回复 Tony Tang:
数据采集的数据量比较大,都放在了DDR上,计算时,想通过DMA转移到L2上,进行计算,发现DMA的方式无法转移到L2上,固有此疑问。
之前禁用cache,再通过idma把code转换到L1P中(试过,但不知道是idam的配置问题,还是什么,也无法实现),但是code是在ddr上,这时,idma按现在的说法“IDMA只能用在片上内存之间传输。以及CFG总线配置外设”,是不是也无法实现?
Tony Tang:
回复 user3688025:
user3688025数据采集的数据量比较大,都放在了DDR上,计算时,想通过DMA转移到L2上,进行计算,发现DMA的方式无法转移到L2上,固有此疑问。
DMA可以搬到L2的。
user3688025但是code是在ddr上,这时,idma按现在的说法“IDMA只能用在片上内存之间传输。以及CFG总线配置外设”,是不是也无法实现?
IDMA不能访问DDR。
user3688025:
回复 Tony Tang:
这里的地DMA是不是EDMA3,我使用EDMA进行转移时,L2中的数据并没有更改,全是0.而从ddr到ddr的转移是可以的,两都的区别也只是目标地址的不同吧。
code 要可以转移到L1P中,前提是,code要是IDMA可以进行访问到的地方,也就是L2上才可以,其他的地址上的code不可以,或者可以转移两次,由DDR到L2,再由L2到L1P。