
Longyuan Journal Net VxWorks嵌入式多端口串行共享中断驱动程序设计作者: 刘伟,陶颖来源: 《计算机知识与技术》 2009 33摘要: 本文介绍嵌入式VxWorks操作系统,分析了串行设备驱动程序的结构,并分析了VxWorks启动过程中串行设备驱动程序的实现. 设计了基于VxWorks操作系统的多串口共享中断驱动程序,并以模块化的方式动态实现了串口驱动程序. 加载到VxWorks操作系统中. 关键字: VxWorks操作系统;串口驱动共享中断系统刘伟,陶颖(江西财经职业技术学院信息工程系,江西九江332000)摘要: 本文介绍了VxWorks系统上的串口驱动程序的结构,然后介绍了该驱动程序的实现. 串行驱动程序进行了分析. 设计了基于VxWorks系统的多串口共享IRQ驱动程序,并实现了以该驱动程序模块加载VxWorks系统. 关键词: VxWorks系统;串口驱动共享IRQ VxWorks操作系统是美国Wind River Corporation. 由于其高可靠性,强大的实时性能和可伸缩性,开发的嵌入式实时操作系统被广泛用于航空航天,军事,民用通信和工业控制.

在大型控制系统中,我们需要开发一种具有多种通信方法的通信设备,包括4种串行通信,1种CAN通信和2种以太网通信. 考虑到通信能力和通信的实时性要求,CPU选择胜博公司PC104 +总线的奔腾III处理器,串口选择具有PC104总线接口的4路串口扩展板,并使用VxWorks操作系统达到以上要求. 由于每种通讯方式都是由中断方式触发的,因此系统硬件提供的中断源是有限的,在这种情况下,为了节省系统的中断资源,本文基于VxWorks设计了多串口共享中断驱动程序驱动程序的功能已经过长时间的测试和验证. 1串行设备驱动程序的结构Longyuan Journal Network在VxWorks操作系统中多串口卡 共享中断,串行设备是特殊字符设备. 操作系统在应用程序层为串行设备提供了一个简单,统一且与设备无关的接口. 线路设备的任何操作都可以视为对文件的操作,具体实现由串行设备的驱动程序完成. 在VxWorks中,串行设备驱动程序采用3层抽象软件结构,即I / O系统,虚拟设备ttyLib或tyLib以及硬件驱动程序. 其结构的如图1所示. 在VxWorks中,I / O系统不直接与特定的硬件驱动程序进行交互,但是驱动程序的与硬件无关的部分是在虚拟设备ttyLib中实现的,然后虚拟设备ttyLib用于与I / O系统通信,使I / O系统独立于特定的硬件驱动程序,并且驱动程序的开发人员只需实现系统提供的接口并将其安装到虚拟设备上ttyLib完成特定串行设备驱动程序的设计,从而确保了驱动程序代码的可重用性和接口统一性.

2串行设备驱动程序的实现VxWorks在启动过程中对串行设备驱动程序的实现主要包括两个部分: 串行端口初始化和串行设备创建. 串行端口的初始化主要包括初始化串行设备,分配串行端口所需的资源,完成串行中断程序的系统挂接. 串行设备的创建包括tty驱动程序的初始化和tty设备的创建,即I / O系统的建立和硬件驱动程序层的连接. 2.1初始化端口sysInit()作为VxWorks操作系统启动的入口程序,将调用第一个C程序函数usrInit()来完成用户定义的系统的初始化,并且串行端口硬件初始化在子功能中usrInit()函数的sysHwInit()已完成. 对于VxWorks的现有Intel8250驱动程序(Tornado目录/target/src/drv/sio/i8250Sio.c),sysHwInit()还将调用sysSerial.c文件下的sysSerialHwInit(),而sysSerialHwInit()函数主要用于串行设备. 初始化设备描述符,并在初始化过程中调用基础i8250HrdInit()初始化串行设备端口. 完成系统硬件和VxWorks内核的初始化后,系统将启动名为usrRoot()的任务. UsrRoot()作为VxWorks操作系统的根任务,将调用sysClkConnect()来配置系统时钟中断. 由sysClkConnect()子函数sysHwInit2()完成,其中sysHwInit2()将调用sysSerialHwInit2()完成串行设备中断挂钩. 2.2串行设备的创建通过在usrRoot()中调用ttyDrv()来完成tty驱动程序的初始化,并且ttyDrv()调用iosDrvInstall()将tty驱动程序添加到系统驱动程序列表中多串口卡 共享中断,并完成I / O <
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-167368-1.html
数十万伊拉克军人
你知道多少华人在美国服务吗
周4和周5的强势
台湾问题得到彻底解决的那一天