完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
附件为McBSP的EDMA简单例程,希望对初学者有所帮助。
http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
相关推荐
11个回答
|
|
您好,可以发一个EDMA把一块256个字的数据块从外部存储器(0xA0000000)搬移到内部L2 SRAM(0x00002000)中的程序给我吗?谢谢啦,我的邮箱2399775147@qq.com
|
|
|
|
神秘司令 发表于 2018-6-21 08:58 自己参考下面链接学着做吧: http://processors.wiki.ti.com/index.php/Programming_EDMA_without_EDMA3LLD_package http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
楼主你好,我在OMAP-L138上开发程序碰到一个问题,我用Mcasp + EDMA的组合,通常情况下Mcasp会触发2个事件,分别为AREVT0(Mcasp Receive Event)和AXEVT0(Mcasp Transmit Event),这2个事件会将EDMA3 Channel Controller 0里的通道0和通道1对应的事件寄存器里的bit位置1,从而触发配置好的edma3数据搬运。也就是说,如果采用事件触发edma的机制,对应的事件只能调动对应的通道控制器,在本例中就是mcasp只能触发edma3 cc 0来搬数,有没有办法让mcasp触发的事件为edma3 cc 1所用?因为现在太多太多的事件都默认的触发edma3 cc0,从而导致edma3 cc0压力比较大,资源抢占得很厉害,在我的实现里面,这确实引发了一些问题,楼主对这一块应该很熟悉了,能否给点建议?本菜不胜感激。
|
|
|
|
wslyx 发表于 2018-6-21 09:18 不能在两个CC之间映射事件。 CC0有两个TC,你可以通过DMAQNUM寄存器将事件在两个TC之间做一个合理分配。 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
lifei639156 发表于 2018-6-21 09:36 感谢楼主的回复,对于DMAQNUM寄存器,我也有一个奇怪的发现:按文档的说法,分配到队列0的事件,会在tc0上发起数据传输,分配到队列1的事件,会在tc1上发起数据传输,我占用了3条edma通道,并且都分配到队列0上,因而并未将tc1模块power up,此时发现其中一条通道的大块数据传输会导致另外两条通道的EDMA事件不能被及时响应(技术文档中说是饿死)。此后,我仅仅将tc1模块power up,并未将通道和队列重新映射,也就是所有通道还是映射到tc0上,但是问题得到了解决,这三个通道事件之间的冲突没有了,都能得到及时的响应,这说明了一个问题,队列和tc模块之间的对应关系并不是绝对固死的,而是由传输控制器在进行合理的调度,最大限度的利用资源,请问楼主关于传输控制器的设计,是不是我这里理解的这样?如果不对,希望楼主能指正,以免在以后的开发中走弯路,谢谢。 |
|
|
|
wslyx 发表于 2018-6-21 09:47 你说的这种悦应该不可能,TC1没有用到,使不使能不应该影响到TC0的传输,是不是程序中其它地方也有修改啊。 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
lifei639156 发表于 2018-6-21 09:59 刚才刻意改了下代码,进行对比测试,发现TC1没有使能的确没有影响到TC0的传输。可能以前修改代码时,有些细节没注意导致得到了错误的认识和结论,非常感谢楼主的指导。~ |
|
|
|
wslyx 发表于 2018-6-21 10:11 顺便提一下,如果buffer是放在DDR上,DDR的PBBPR寄存器的设置会有一定的影响,建议设为0x20或以下。 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
lifei639156 发表于 2018-6-21 10:21 谢谢提醒,请问一下楼主,这个寄存器会造成什么影响?可否简单地说下?以前从来没有注意过ddr的这个配置寄存器。 |
|
|
|
防“饿死”,系统中通常有多个master访问DDR,按优先级排队,当访问频繁时,低优先级的master可能永远得不到服务,通过这个寄存器的设置的值,每经过这个值的传输数后,低优先级的Master的事件优先级+1,这样一来,低优先级的事件逐渐会变成最高优先级,从而得到服务。 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
lifei639156 发表于 2018-6-21 10:52 哦,了解了,非常感谢楼主的耐心解答~~ |
|
|
|
只有小组成员才能发言,加入小组>>
837 浏览 0 评论
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
2024 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3763 浏览 4 评论
5128 浏览 0 评论
请问如何用DM368对RGB格式的图片数据进行编码生成JPEG格式图片?
1825 浏览 1 评论
CC3100BOOST使用CC3200lunchXL进行烧录
816浏览 2评论
44浏览 2评论
55浏览 2评论
49浏览 2评论
77浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-6 12:14 , Processed in 0.811434 second(s), Total 98, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191