标题 | 阅读 | 评论 | 转发 | 发布日期 | |
---|---|---|---|---|---|
循环查找 | 1684 | 0 | 0 | 2012-01-20 | |
SCSA认证教程教材:《SUN Solaris 9/10系统管理员认证指南》 | 1343 | 0 | 0 | 2011-11-22 | |
pdf,word互转工具 | 1068 | 0 | 0 | 2011-11-22 | |
A类B类C类地址如何划分的 | 1944 | 0 | 0 | 2010-05-24 | |
A类B类C类地址如何划分的 | 1653 | 0 | 0 | 2010-05-24 | |
H3C文档中心 | 1287 | 0 | 0 | 2010-05-15 | |
H3C文档中心 | 1166 | 0 | 0 | 2010-05-15 | |
常用路由技术简析(RIP,OSPF,BGP) | 930 | 0 | 0 | 2010-05-15 | |
常用路由技术简析(RIP,OSPF,BGP) | 916 | 0 | 0 | 2010-05-15 | |
DNS的安装 | 1380 | 0 | 0 | 2010-05-14 | |
DNS的安装 | 1272 | 0 | 0 | 2010-05-14 | |
Settimer和Ontimer | 1781 | 0 | 0 | 2009-08-25 | |
Settimer和Ontimer | 1587 | 0 | 0 | 2009-08-25 | |
VC++ WM_TIMER 定时器使用方法 | 1598 | 0 | 0 | 2009-08-25 | |
VC++ WM_TIMER 定时器使用方法 | 1667 | 0 | 0 | 2009-08-25 | |
vc中timer的使用归纳 | 1853 | 0 | 0 | 2009-07-27 | |
vc中timer的使用归纳 | 1649 | 0 | 0 | 2009-07-27 | |
配置Tomcat 4使用SSL | 1238 | 0 | 0 | 2009-07-24 | |
配置Tomcat 4使用SSL | 1059 | 0 | 0 | 2009-07-24 | |
用keytool进行签名报“无法从回复中建立链接”是怎么回事[转] | 1206 | 0 | 0 | 2009-07-23 |
config20102010-01-15 01:30
若看到,一定帮我,谢谢! FPGA有2个PIN与2440中断相连。1s都可以产生1333次中断(750us)。 中断服务子程序:产生中断后将fpga寄存器的数据读出放入内存(链表的一个元素),并由2440写FPGA寄存器清除中断,通知驱动中的读函数数据已处理完毕(这一块是用等待队列,来唤醒驱动中的读函数)。从示波器上看,完成这些用了50us. 我想让每次中断产生的数据在下次中断来前执行完毕,也就是说还有700us的时间处理。但是现在两个中断同时出现不能完成,一个中断可以完成。若将中断周期换为1ms,刚两个可以同时完成。(完成思路:读取链到的一个元素(128位)到用户层,在链表中删除这个元素,再由socket送入PC)。任意时刻链表的长度为1或者0。 出现问题的现象:链表的长度瞬时变的很长,上万。我猜就是下次中断来之前数据没读走,就造成了恶性循环,再也读不完。或者两个中断突然就剩下一个,还有个没有了(1,我估计是执行的过程中,没有清楚中断就退出,恢复不了了,可能是没有保护好,不知???) 2,从时间是看,剩下的700us怎么可能处理不完这件事情呢? 3,同时处理两个难道cpu到极限的吗? 4,cpu中断返回后,是不是没有立即去等到队列等待处去执行,过了会才过去?有没有对策。 5,我估计cpu每次从中断返回到驱动中的读函数数据这个切换过程可能耗时很多(猜),所以我尝试的方法:10次中断的数据存在一起后,再唤醒驱动中的读函数的等待队列去读。结果是一样的,还是来不及?很想不通。 6, 有没有延时中断子函数的方法?local_irq_save()?
config20102010-01-15 01:30
若看到,一定帮我,谢谢! FPGA有2个PIN与2440中断相连。1s都可以产生1333次中断(750us)。 中断服务子程序:产生中断后将fpga寄存器的数据读出放入内存(链表的一个元素),并由2440写FPGA寄存器清除中断,通知驱动中的读函数数据已处理完毕(这一块是用等待队列,来唤醒驱动中的读函数)。从示波器上看,完成这些用了50us. 我想让每次中断产生的数据在下次中断来前执行完毕,也就是说还有700us的时间处理。但是现在两个中断同时出现不能完成,一个中断可以完成。若将中断周期换为1ms,刚两个可以同时完成。(完成思路:读取链到的一个元素(128位)到用户层,在链表中删除这个元素,再由socket送入PC)。任意时刻链表的长度为1或者0。 出现问题的现象:链表的长度瞬时变的很长,上万。我猜就是下次中断来之前数据没读走,就造成了恶性循环,再也读不完。或者两个中断突然就剩下一个,还有个没有了(1,我估计是执行的过程中,没有清楚中断就退出,恢复不了了,可能是没有保护好,不知???) 2,从时间是看,剩下的700us怎么可能处理不完这件事情呢? 3,同时处理两个难道cpu到极限的吗? 4,cpu中断返回后,是不是没有立即去等到队列等待处去执行,过了会才过去?有没有对策。 5,我估计cpu每次从中断返回到驱动中的读函数数据这个切换过程可能耗时很多(猜),所以我尝试的方法:10次中断的数据存在一起后,再唤醒驱动中的读函数的等待队列去读。结果是一样的,还是来不及?很想不通。 6, 有没有延时中断子函数的方法?local_irq_save()?