怎么让WinCE快速响应中断
发布时间:2010-06-13 22:29:10 文章来源:www.iduyao.cn 采编人员:星星草
如何让WinCE快速响应中断
WinCE 6.0. 我的中断每3ms发生一次,现在采用的是中断处理的经典方法:
创建一个event,通过KernelIoControl()获取逻辑中断号,然后通过InterruptInitialize()把event与逻辑中断号联系起来。在IST线程中等待该event并处理。
我的IST中断处理需要大约0.3ms。由于使用了ping-pong buffer,我允许该处理比硬件中断发生延迟不超过4.5ms。
这篇文章(http://embed.chinaitlab.com/WinCE/785312.html)在s3c2410平台上测试的debug版驱动程序中断延迟( ISR + IST )约2ms,release版驱动程序中断延迟约22us。
另一篇文章(http://www.c-cnc.com/dz/news/news.asp?id=24409)在 Xsacele平台测试Wince.Net的中断响应时间平均值为2.8ms。
我目前将IST的线程优先级设为0(最高),并将IST线程的时间片设为0(一旦进入就执行完毕,不被轮转)。
另外还有一个办法就是将处理代码转移到ISR中,但这样做很危险也很麻烦,因为我的数据还要交给应用程序处理。
问题:
1. 上述两篇文章测试的延迟时间有数量级上的差别(我相信第二篇文章也用了release版),根据各位的经验,哪一个比较靠谱?
2. 除了上述方式,还有什么办法让IST被快速响应?
3. ISR捕捉到硬件中断并处理完毕后,是回去执行刚被中断的线程,还是在就绪队列中重新找优先级最高的线程?
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
报告应该都对
WinCE.NET (V4.x) 与 WinCE 6.0 的 Kernel 不同, 在 6.0 的 kernel 中, 己经对中断的处理做了一番修正, 所以在 5.0 版之前, WinCE 是号称 Soft-RealTime, 在 6.0 版时, 已经号称是 Hard-RealTime 了. 也就是其 Interrupt Latency is predictable.
Paul, Chao @ Techware
------解决方案--------------------
WinCE是实时内核,但不一定是实时系统,它的实时性取决于你添加了什么系统组件,底层驱动处理是否合理。如果你的中断频率过高,可能会导致整个系统性能下降的。
要提高中断的响应速度,可以考虑把简单的处理放在ISR中,让多个硬件中断后执行一次IST。
------解决方案--------------------
建议还是从软件角度去优化吧.
你的中断是不是每次产生都要进行复杂的运算?
能否将多个中断收集起来集中处理?
--------------------------------------
如果无法通过优化软件解决,或者说你的系统对性能要求很高,建议单独加一块MCU来处理吧.
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
管道的另一端上无任何进程
我写了一个程序,运行正常。
后来,用上了sqlite数据库,然后编译部署都正常,但在WINCE 6模拟器上不能自动运...
-
Power键点亮屏幕的问题
我在程序里面成队使用了:
PowerPolicyNotify(PPN_UNATTENDEDMODE,TRUE);
PowerPolicyNotify(PPN_UNATTEND...
-
求助一个问题:windowsmobile ipl读分区的问题
ipl通过 BP_ReadData读 ramimage 分区信息 读取的时候发现必须要偏移0xc800才能读正...
-
vs2005+DevEmul_SDK.msi后仍旧没有“armv4”选项
OS:win7
IDE:先前有装vs2010做winForm,后装了vs2005(完全安装)
装完后安装了DevEmu...
-
Win7 64位操作系统如何安装arm9开发板的usb下载驱动啊
按照教程操作,超级终端打开也连上了,但是系统貌似对SECBULK.sys SECBULK.inf...
-
嵌入式开发工具
谁用过 LAZARUS 开发过嵌入式系统 ?
------解决方案--------------------
Lazarus 做 PC 上的程序,做嵌入式可能...
-
请推荐几个wince游戏软件下载的地方
最近开始玩wince,请推荐几个好的地方,可以下载游戏,软件的.多谢拉!
------解决方案--------...
-
FAT32 与单片机
根目录下文件与目录项数从那里得
还有根目录的下一簇从哪得
不是说根目录也是一个文件吗 它的目录项在哪里
---...
-
谁可以推荐一个WinCE下的视频播放器,最好可以播放AVI、RMVB、MP3等格式,谢谢。
如题,
麻烦大家推荐一个WinCE5.0下的视频播放器,
-...
-
WinCE6的BinFS问题,100分求解
1、BinFS能不能做在IDE硬盘上?
2、要支持BinFS,bootloader要做甚?
3、BinFS能不能作为一个普通文件放到...