阅读:1201回复:2
想请教大家关于驱动的两个问题
1.关于isr 和 dpc的关系, 在书上看了些关于isr和dpc的内容,现在特别迷茫。我对他们的理解是,在isr中设置了dpc,那么当有一个中断发生时,先执行isr,如果你的isr中设置了dpc那么就执行dpc。可是在ds中在isr中有对dpc队列的设置,是不是在isr中可以设置好多个dpc,当isr执行完后,就执行排队的dpc。是不是当中断来时先执行isr,然后是dpc,不可能没有执行isr,就执行dpc.
不知道以上的理解对不对?请大家指教。 2.关于plx9054dma中断的问题,我的dma的mode0,block mode方式。在DMAMODE0中的第十位说是done interrupt mode.我理解当我把这位置1时,dma做完后就发一中断,同时会把DMACSR0的第四位置1,(我觉得无论dma是否把DMAMODE0中的第十位置1,当dma做完时都会把DMACSR0的第四位置1的),来表示dma已完成。我硬件工程师说这些不需要硬件设置,软件就行了。不知道我说的是否正确?请大家指教。 我的程序是想在每次来了中断进行dma传数,可是我收到的数据就第一次正确,后面的就错了。我怀疑是中断和dma没有搭配好。 |
|
沙发#
发布于:2004-11-11 10:58
你的情况是什么样的亚?
你觉得是哪得问题呢?我如果采的是零就没有这个问题,采的数都是对的。可是换成别的值2k后就错了。 |
|
板凳#
发布于:2004-11-11 00:33
解决了吗?我现在也碰到这个问题
|
|