完善资料让更多小伙伴认识你,还能领取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 哦,了解了,非常感谢楼主的耐心解答~~ |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
686 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
601 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1055 浏览 1 评论
744 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
526 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
168浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
130浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
128浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
125浏览 12评论
GD32F303RCT6配置PA4 ADC引脚,将PA2代替key功能,PA2连接时无法实现预期功能,为什么?
57浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 22:04 , Processed in 0.959654 second(s), Total 66, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号