完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我想向linux系统注册一个EDMA传输完成的中断服务程序,使用的注册函数是:request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, const char *name, void *dev),但对于该函数的第一个参数(中断号),我不知道怎么确定。对于GPIO中断,可以使用gpio_to_irq()函数获取对应的中断号,但对于EDMA,我就不知道要调用什么函数去获取对应的中断号。
|
|
相关推荐
4个回答
|
|
请参考http://processors.wiki.ti.com/index.php/AM335x_EDMA_Driver%27s_Guide
并对照TRM关于EDMA操作的描述 |
|
|
|
344868615qq 发表于 2018-5-15 07:16 你好。我现在是直接去设置寄存器,使用channal-18进行传输,对应的PaRam为: OPT = 0x80112008 SRC = 0x8ea80000 CNT = 0x10001 DST = 0x8e500000 SRC_DST_BIDX = 0x0 BCNTRLD = 0x1ffff SRC_DST_CIDX = 0x0 CCNT = 0x1 然后使能channel-18,设置Event Set Register:ESR的值为0x00040000,从而去触发EDMA进行输出。传输结果是正确的,但是对应的IPR寄存器却一直没有被置位。 按理说,我在OPT寄存器的TCINTEN位设置为1后,传输完成就会把相应的IPR置位才对啊。 |
|
|
|
LY90186 发表于 2018-5-15 07:35 1. 你是怎么直接读写寄存器的? 2. 最好使用已有的edma框架,避免一些设置上的冲突 如果我的回答解决了您的问题,请确认答案,谢谢!:) |
|
|
|
直接操作寄存器确实不行,后来参照了edma example去编写自己的程序,已经成功了。 |
|
|
|
只有小组成员才能发言,加入小组>>
351 浏览 1 评论
546 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
790 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
660 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
85浏览 29评论
308浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
262浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
210浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
69浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 16:04 , Processed in 0.950109 second(s), Total 83, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号