最近刚接触EDMA,看了几遍文档还是不太明白,请问有EDMA的简单例程!!!!
mathslee:
Andy,你好!
CSL 带的例子还有论坛共享的edma例子,都无法编译,所有CSL_edmaopen() 之类的函数都显示有个错误说找不到定义,但是我已经将CSL库包含进来了…….是要配置什么吗???
Andy Yin1:
回复 mathslee:
您好,
注意两点:
1. 在include path中添加正确的CSL头文件搜索路径;
2. 添加CSL lib;
之前论坛有朋友也遇到类似的问题,已经根据建议解决了,你可以搜索一下看看如何解决的,我记得我们好像把他的例子上传了。请问你使用的哪个例子?
Phyllis Xu:
回复 Andy Yin1:
您好!
附件(CCSv5环境下一个EDMA3的project)是一个很简单的EDMA3搬运数据的例子,在编译前有以下几点需要注意:
1. 首先建立一个workspace,然后将附件的zip file解压,将project import到当前worksapce中
2. 右击import 进来的project,选中properties,在build下的C6000 Compiler中有个Include Options,将C6678的pdk路径加进去
3. 同步骤2,在build下的C6000 Linker中有个File Search Path,将C6678 pdk中两个库文件加进去(分别是ti.csl.ae66, ti.csl.intc.ae66)
满足以上环境设置后编译就不会出错了。如遇其他问题欢迎提问。
非常感谢!
Nicole He:
回复 Phyllis Xu:
谢谢您无私的分享,例子特别好也很易懂。就是还想问您一点问题。这个例子是只适用于core 0的是吗?如果我想要在其他核上面运行除了要改cmd文件之外,main文件哪些参数也是需要改的呢?谢谢啦!
Phyllis Xu:
回复 Nicole He:
您好!
很高兴这个例子对你EDMA学习有帮助。这个例子是可以跑在其它核上的。
谢谢!
Nicole He:
回复 Phyllis Xu:
不需要修改cmd文件和本身的文件是吗?直接运行,但是我遇到的问题就是edma不能搬数了
Nicole He:
回复 Phyllis Xu:
貌似改了cmd之后是可以的了…..谢谢~
Phyllis Xu:
回复 Nicole He:
您好!
不好意思,我的疏忽。需要把.cmd 文件的memory改成如下:(例如要在核1上跑)MEMORY{ VECTORS: origin=0x11800000 length=0x00000400 LL2MEM: origin=0x11800400 length=0x0007FC00 MSMCRAM: origin=0x0C000000 length=0x00400000 DDR3RAM: origin=0x80000000 length=0x20000000}
非常感谢!
Nicole He:
回复 Phyllis Xu:
您好,我想要使用一个核做启动信号控制(例如核0),同时计时(因为要计算速率),剩下7个核(核1-7)作为实际搬数的核。需要让他们7个核同时向不同的位置搬
看他们同时搬得时候在edma总线上的冲突,来看edma总线的性能。
所以我需要在core1-7不同的核上设置不同的edma参数是吧?(因为搬数的目的地址和源地址都不同)
按照您给的那个程序,我进行了如下改动(cmd还是没改,打算把参数放在核0里,使用核0的l2 sram,)核0负责启动edma,核1-7写入不同的参数,他们搬不同地方的数
myParamSetup.option = 0x00100008;
myParamSetup.srcAddr = (Uint32)(srcbuf+(DNUM-1)*64);
myParamSetup.aCntbCnt = 0x00010040;
myParamSetup.dstAddr = (Uint32)(dstbuf+(DNUM-1)*64);
myParamSetup.srcDstBidx = 0x0;
myParamSetup.linkBcntrld = 0x0000ffff;
myParamSetup.srcDstCidx = 0x0;
myParamSetup.cCnt = 0x00000001;
CSL_edma3ParamSetup(hParamPing,&myParamSetup);
就只改了红色的部分,但是发现不能搬数了。
想问您一下,是我的思路错了,还是参数设错了。谢谢~
Phyllis Xu:
回复 Nicole He:
您好!
有两个问题想确认一下:
1. 请问除了core 0之外的7个core 数据的源地址分别是多少?
2. 这7个core使用的都是同一个channel?
谢谢!