完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
分享一个OMAPL138上在用GPIO触发EDMA传输,并产生中断的例程。
http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
相关推荐
12个回答
|
|
你好,可不可以发我邮箱zhangzhongkui1987@163.com,这个我下不下来。谢谢了
|
|
|
|
不好意思,我好像也下载不不附件,能不能发一份到我的邮箱,sundian2008@yahoo.com.cn,非常感谢!
|
|
|
|
还下不了吗?我试了可以下载的啊。 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 03:52 EDMA3 的紧急事件指的是什么 |
|
|
|
什么事件是紧急的,是由事件本身的特性决定的,比如McBSP接口,使能后就一直在工作,当数据到了,必需在下一个数据到之前读走,否则就会把McBSP口卡死,而对于一些带FIFO的接口,因为有缓冲,对其事件的响应速度就没那么严格。 在处理上,把紧急的事件映射到高优先级的队列与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 04:08 这个例子要怎么在BIOS上实现呢? 因为要用到DSPLink!我在任务中使能BANK的中断(BINTEN |= (1《 GPIO_BANK2)),程序就会挂掉!(例子是基于3.3下SEED的AD程序实现的,DMA能正常工作,放到readwrite例子下,DMA的目的地址上就没数据) |
|
|
|
mvueyrswer 发表于 2018-6-21 04:24 可有linux下相关的例程 |
|
|
|
您好,DSP端也可以用GP8中断触发EDMACC1的18通道吗?为什么中断发生了,就是触发不了18通道,无奈只是在GPIO中断服务程序里手动触发18通道。有哪些可能的原因?我的程序是CSL芯片支持里Event触发改的,同为GPIO8中断触发,对应着CC1的18通道 。查了好久,就是没查出来,配置不对?谢谢您,可以看下程序是不是哪配置的不行?
这是通道设置部分的程序,其中edma3ccRegs的基地址为0x01E3 0000: static void setup_EDMA (void) [ // Clear Event Registers CSL_FINST(edma3ccRegs->ECR, EDMA3CC_ECR_REG, MASK); CSL_FINST(edma3ccRegs->SECR, EDMA3CC_SECR_REG, MASK); // Enable Channel 18 to DSP (Region 1) CSL_FINST(edma3ccRegs->DRA[CSL_EDMA3_REGION_1].DRAE,EDMA3CC_DRAE_E18, ENABLE); // Assign Channel 18 to Queue 0 CSL_FINST(edma3ccRegs->DMAQNUM[2], EDMA3CC_DMAQNUM_E2, Q0); // Initialize PaRAM Transfer Context for Event 18 init_PaRAM_event18(); // Enable Interrupts for Channel 18 CSL_FINST(edma3ccRegs->IESR, EDMA3CC_IESR_I18, SET); ]/* setup_EDMA */ 这是参数设置部分: static void init_PaRAM_event18(void) [ // Reset EDMA PaRAM OPT Register edma3ccRegs->PARAMSET[18].OPT = CSL_EDMA3CC_OPT_RESETVAL; // Config PaRAM OPT (Enable TC Interrupt; Set TCC) edma3ccRegs->PARAMSET[18].OPT = CSL_FMKT(EDMA3CC_OPT_TCINTEN, ENABLE) | CSL_FMK(EDMA3CC_OPT_TCC, 18); // Initialize EDMA Event Src and Dst Addresses edma3ccRegs->PARAMSET[18].SRC = (Uint32)&srcBuffer; edma3ccRegs->PARAMSET[18].DST = (Uint32)&dstBuffer; // Set EDMA Event PaRAM A,B,C CNT edma3ccRegs->PARAMSET[18].A_B_CNT = CSL_FMK(EDMA3CC_A_B_CNT_ACNT, XFER_BYTES) | CSL_FMK(EDMA3CC_A_B_CNT_BCNT, XFER_ARRAYS); edma3ccRegs->PARAMSET[18].CCNT = XFER_FRAMES; // Set EDMA Event PaRAM SRC/DST BIDX edma3ccRegs->PARAMSET[18].SRC_DST_BIDX = CSL_FMK(EDMA3CC_SRC_DST_BIDX_SRCBIDX, SRC_ARRAY_SIZE) | CSL_FMK(EDMA3CC_SRC_DST_BIDX_DSTBIDX, DST_ARRAY_SIZE); // Set EDMA Event PaRAM SRC/DST CIDX edma3ccRegs->PARAMSET[18].SRC_DST_CIDX = CSL_FMK(EDMA3CC_SRC_DST_CIDX_SRCCIDX, 0) | CSL_FMK(EDMA3CC_SRC_DST_CIDX_DSTCIDX, 0); // Set EDMA Event PaRAM LINK and BCNTRLD edma3ccRegs->PARAMSET[18].LINK_BCNTRLD = CSL_FMK(EDMA3CC_LINK_BCNTRLD_LINK, PaRAM_NULL_LINK) | CSL_FMK(EDMA3CC_LINK_BCNTRLD_BCNTRLD, 0); ]/* init_PaRAM_event 18 of EMACC1 */ 由于中断触发触发不了,只好自己在GPIO服务程序里手动触发它一下。 interrupt void GPIO_BNK8_isr (void) [ // Disable Interrupt Trigger on Falling Edge gpioRegs->BANK[GP8].CLR_RIS_TRIG = GP8P12; //gpioRegs->BANK[GP8].CLR_FAL_TRIG = GP8P12; printf("GPIO Interrupt occurred!n"); CSL_FINST(edma3ccRegs->ESR, EDMA3CC_ESR_E18, SET); ] |
|
|
|
rich_fush 发表于 2018-6-21 04:43 漏了个通道使能,这就是手动触发的区别吧,太粗心了,谢谢 |
|
|
|
你好:
Tony Tang,GPIO中断触发EDMA已经可以跑起来了,但是关于参数设置这一块还有一些疑惑,向你请教下。 1.A_B_CNT:是不是只要A*B=数据字节数就OK了,没有特殊要求? 2.SRC_DST_BIDX:只要都是对应的数组长度就行了? 3.你的程序里ParameterBase_EDMA_1_36_LINK_BCNTRLD = (0<<16 | 0x480);这里的链接地址代表什么意思 4.我只用了18通道,除了链接地址外,其它的都和你的设的一样,我设的链接地址是空。这会不会有什么影响 5.发现,有的时候并没有传进到目的数组里,但时有发生,比例有个0.2左右,这会是什么原因? |
|
|
|
rich_fush 发表于 2018-6-21 05:01 应该和C6748一样,学习了! |
|
|
|
请问通道使能是配置哪个寄存器?我好想出现了跟你一样的问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
686 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
601 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1055 浏览 1 评论
744 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
526 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
167浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
128浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
127浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
123浏览 12评论
GD32F303RCT6配置PA4 ADC引脚,将PA2代替key功能,PA2连接时无法实现预期功能,为什么?
54浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 10:01 , Processed in 0.694767 second(s), Total 67, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号