采用文档how to use EDMA3 driver on a TMS320C643X 中提供的工程(edma3test),DDR->L2SRAM的传输遇到几个问题如下:
1、在我的系统中实现了2D-2D的例子传输运行没有任何问题,但是在pingpong结构例子中遇到了问题。在pingpong结构中可以运行起来,但只能调用该函数几次程序就进入到了标号:C$L1处,始终不能连续的运行起来。
2、还有就是在仅有的那几次调用过程中,只有第一次可以看到(变化了)数据是传输到了dst缓冲区,其后的调用在函数外面改写该块区域的数据也没有显示改动。比如第一次分别将1、2传输到pingpong中(dst),但第二次在调用前用3、4改给些这部分数据,但没看到改动,还是1、2,是不时cache的问题?
3、传输设置mycbdata[ ].numtrn =1,在两个通道link和chain后,使能第一次传输后,callback还会不断的收到中断,请问这种现象是不时符合lingk和chain的特性,上述参数设置为1不就是只收到一次中断吗?
4、该文P13有多处与给的乒乓结构例子程序不相符合,特别是对OPT位的设置问题。
我的L2 cache大小为64K,申请同样的L2SRAM,2D-2D的传输时可以运行的,我想是在opt设置和cache使用上有问题,希望能得到回复。
Thomas Yang1:
Hi
我没有看到这个例子
不过,针对第3点,会不会是descriptor配置为自己trigger自己的模式?
Jason miller:
多谢兄弟回复。