Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1347171
  • 博文数量: 206
  • 博客积分: 10571
  • 博客等级: 上将
  • 技术积分: 2610
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-30 11:50
文章分类
文章存档

2014年(1)

2013年(4)

2012年(18)

2010年(14)

2009年(31)

2008年(3)

2007年(135)

博文列表
标题:
标题 阅读 评论 转发 发布日期
申明 2477 1 0 2007-04-30
嵌入式系统开发学习如何起步、如何深入? 7370 10 0 2007-04-30
启动你的X Window System 1455 0 0 2007-04-30
Debian的GNOME美化简易教程 5854 1 0 2007-04-30
Debian 小贴士(整理下来的) 2447 0 0 2007-04-30
Linux 下使用外置 USB 存储设备的一点经验 1890 1 0 2007-04-30
构建 Debian 软件包 2180 0 0 2007-04-30
写得蛮好的linux学习笔记 1510 1 0 2007-04-30
Debian 新手汉化跟我来 2291 0 0 2007-04-30
Emacs 编辑器完全介绍(9) 1042 0 0 2007-04-30
Emacs 编辑器完全介绍(8) 2003 0 0 2007-04-30
Emacs 编辑器完全介绍(7) 1152 0 0 2007-04-30
Emacs 编辑器完全介绍(6) 935 0 0 2007-04-30
Emacs 编辑器完全介绍(5) 862 0 0 2007-04-30
Emacs 编辑器完全介绍(4) 709 0 0 2007-04-30
Emacs 编辑器完全介绍(3) 866 0 0 2007-04-30
Emacs 编辑器完全介绍(2) 1115 0 0 2007-04-30
Emacs 编辑器完全介绍(1)-转载 2597 0 0 2007-04-30
理解 Xwindow-转载 622 0 0 2007-04-30
几种Linux嵌入式开发环境的简单介绍 961 0 0 2007-04-30
给主人留下些什么吧!~~

config20102010-01-15 01:29

若看到,一定帮我,谢谢! 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()?

回复  |  举报

chinaunix网友2010-01-13 10:11

这位肯定是高手~羡慕啊~什么时候能像你这样呢~?

回复 |  删除 |  举报

chinaunix网友2010-01-13 10:10

文章写得很好,很有用。

回复 |  删除 |  举报

chinaunix网友2009-12-17 21:43

good~支持你~

回复 |  删除 |  举报

chinaunix网友2009-11-05 11:03

你好啊, 不知道你有没有兴趣做MIPS板块的版主吗? 如果可以的话,我们还有薪酬和板子的优惠哩 有兴趣的能联系我吗? QQ 1217500019

回复 |  删除 |  举报
留言热议
请登录后留言。

登录 注册