首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 嵌入开发 >

VXWORKS 底层驱动怎么与上层应用程序进行同步

2012-05-24 
VXWORKS 底层驱动如何与上层应用程序进行同步?假如底层设备收到数据,如何通知应用层任务有数据,需要调用re

VXWORKS 底层驱动如何与上层应用程序进行同步?
假如底层设备收到数据,如何通知应用层任务有数据,需要调用readfile函数呢?曾在wince下面做了dm9ka的驱动,使用网卡实现芯片级mac直接通信,当时采用的是不断的调用readfile函数检查接受缓冲区里是否有数据,这种轮询的方式肯定不经济,浪费系统资源。最理想的方式就是在数据硬件接收到数据,驱动程序将其存入缓冲区,然后通知应用程序调用read函数。这个涉及到底层驱动如何与上层进行同步的问题。rt-thread 机制蛮好,上层定义一个回调函数,并且将这个函数与底层驱动关联起来,相当于底层调用这个回调函数,与应用层进行同步。不知道vxworks,wince里面有没有类似的机制?底层驱动与上层同步,通过事件,信号量,消息,貌似是不行的,因为在底层定义的事件,信号量,消息队列,在上层应用程序应该是没法获得(相当于在底层定义个变量,上层引用一下行不通)。或许有一种机制,可以将信号量从底层传给上层应用程序。我相信,底层驱动肯定有办法与上层进行同步,只是我还没有掌握,希望了解的大侠们不吝赐教

[解决办法]
显然是中断

热点排行