当前位置: 代码迷 >> 嵌入开发 >> VXWORKS 底层驱动怎么与下层应用程序进行同步
  详细解决方案

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

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