原创 Vxworks中IO系统和驱动

2006-12-6 22:27 5673 17 9 分类: MCU/ 嵌入式

  vxWorks中,驱动函数仅提供几个低级的IO函数来完成简单的数据输入输出操作,而由设备无关的IO系统来处理集体的高级协议和面向块设备的协议。这种结构降低了驱动程序的复杂性,使得驱动程序的编写变得更容易。
  IO系统相当于一个交换机,用于把IO请求转发给合适的驱动程序进行处理。同时,系统也提供了几个库赖支持标准的字符设备和块设备。
  字符设备的驱动程序和IO系统直接作用。字符设备调用驱动程序安装函数iosDrvlnstall()在VxW0rks中安装驱动程序。该函数有7个参数,分别指向驱动程序提供的
标准IO函数:Create,Delete,Open,Close,Write,Read和ioCtl。如果设备功能上不支持,有些函数不一定要实现,对应的参数可为NULL。IosDrvlnstall()只是为驱动程序在驱动程序表中分配了一个位置,要使用驱动程序还要调用设备安装函数iosDevAdd()。IosDevAdd把设备名和驱动程序号写到数据结构DEV_HDR中,并把它加到系统的设备列表中。
  块设备驱动程序和文件系统作用,再由文件系统与IO系统作用。块设备驱动程序不使用iosDrvlnstall()来安装驱动程序,而是通过初始化块设备描述结构BLK_DEV或顺序设备描述结构SEQ_DEV,来实现驱动程序提供给文件系统的功能。类似的,块设备驱动程序不使用iosDevAdd()来把驱动程序装入IO系统,而是使用文件系统设备初始化函数如dosFsDevInit()等来完成 实际上,文件系统把自己作为一个驱动程序装到IO系统中,并把请求转发给实际的设备驱动程序。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

shenyandetongxing_551209819 2006-12-14 22:46

你的意思是将字符型设备的转化成块设备吗?中间设一个两个缓冲区然后交替循环的写缓冲,读缓冲,这样行吗?我的邮箱是shenyandetongxing@163.com举个例子发邮件给我吧。
相关推荐阅读
shenyandetongxing_551209819 2010-02-25 21:34
MyEclipse 建立第一个工程
1.打开MyEclipse--新建个工程File--New--Project--WebProject 2.在ProjectName中输入hello--Finish 3.然后为工程添加struts框架,...
shenyandetongxing_551209819 2010-02-06 22:42
人力资源管理软件(技术储备)
JAVA的SSH开发框架Struts、Spring、Hibernate在各层的作用1、Struts 负责 web层ActionFormBean 接收网页中表单提交的数据,然后通过Action 进行处理...
shenyandetongxing_551209819 2010-02-06 02:51
个人资源管理软件(需求)
先提提需求吧,这是重中之重,这不是简单就能完成的,需要不断的修改和完善。既然是个人资源管理就要首先搞清楚个人资源包括哪些部分:1  人脉资源,也就是我们常说的关系,人是社会型动物就不可能生活在真空里,...
shenyandetongxing_551209819 2010-02-06 02:33
HR软件设计开始(关注个人资源管理与分析)
最近对HR很感兴趣,上网搜了一下,HR的软件也不少,其中风头正劲的用友公司做的挺多,但是看了看都是针对企业级的。但自己平常的工作和进步帮助不大。想整一个关于人力资源、人际关系进行总结、分析的软件,让自...
shenyandetongxing_551209819 2010-02-06 02:30
对HR和B/S模式的东西感兴趣
最近对HR很感兴趣,上网搜了一下,HR的软件也不少,其中风头正劲的用友公司做的挺多,但是看了看都是针对企业级的。但自己平常的工作和进步帮助不大。想整一个关于人力资源、人际关系进行总结、分析的软件,让自...
shenyandetongxing_551209819 2008-10-01 16:18
由于工作原因,改行!!
已经好久没有上我的博客了,还有很多朋友支持我,很欣慰:)现在由于工作原因很长一段时间内将挥泪告别嵌入式。现在如果有做PKI或PMI的跟我一起交流啊:)...
我要评论
1
17
×
广告
关闭 站长推荐上一条 /1 下一条