嵌入式操作系统中设备管理和驱动程序的开发

更新时间:2024-03-13 作者:用户投稿原创标记本站原创 点赞:4456 浏览:10095

摘 要:随着计算机技术的飞速发展,嵌入式操作系统广泛用于航空航天、工业控制、通讯等领域.其主要通过对计算机及机电系统接口的管理来实现对其它设备的控制、监视和管理功能.本文介绍了中断技术、缓冲技术、通道技术以及DMA技术等四种嵌入式操作系统设备管理.并通过虚拟仪器labview程序设计对嵌入式操作系统驱动程序进行了开发设计.

关 键 词:嵌入式操作系统;设备管理;设备驱动程序开发

中图分类号:TP368.1文献标识码:A文章编号:1007-9599(2013)01-0251-02

EOS常见主要有WindowsEmbedded操作系统、嵌入式Linux操作系统、VxWorks操作系统、手机类的Android操作系统、手机类iOS操作系统、uClinux系统等.EOS可以分为实时性嵌入式操作系统以及非实时性嵌入式操作系统.实时性主要是针对通信领域以及控制方面来进行的,非实时性则主要是针对消费类进行的.硬件层主要包括嵌入式处理器以及嵌入式设备,嵌入式处理器主要包括微处理器、微控制器、DSP处理器(即数字信号处理器)、嵌入式片上系统芯片等具有控制功能的硬件设备.嵌入式设备则是指除了嵌入式微处理器之外的硬件设备,主要包括用于存储功能的存储设备、用于通信连接功能的通讯设备以及显示类设备等.

2嵌入式操作系统中设备管理

EOS中设备管理主要是指对嵌入式操作系统中的嵌入式处理器(包括微处理器、微控制器、DSP处理器以及嵌入式片上系统芯片)以及嵌入式设备进行管理.嵌入式设备具体包括:ROM存储器、RAM存储器、SRAMDRAM存储器、FLASH存储器、EPROM存储器、嵌入式计算机与机电系统接口(如串口、以太网接口、I2C接口、USB接口以及红外接口等)、触摸屏幕、LCD显示屏幕等.嵌入式微处理器的设计是基于计算机系统的处理器进行的,主要包括PowerPC、Aml86/88、ARM等;嵌入式微控制器多用于工业方面的控制,实现嵌入式微控制器扩展功能的模块主要包括I/O接口、D/A与A/D转换接口等.嵌入式片上系统芯片主要包括CPU单元(处理器)、外部电路、外部接口、存储模块等.

对设备进行管理的目的主要有两方面:第一是通过对设备的管理使设备的利用率得到提高;第二是通过对设备的管理使得操作系统更简洁、友好,有利于操作方式简便、统一.首先关于设备的利用率,是通过中断技术、缓冲技术、通道技术以及DMA技术等对系统各种设备统一管理,可以提高I/O接口以及CPU等运行效率.

在计算机应用中,EOS的设备管理即是对计算机进行控制,本文主要从计算机控制角度介绍EOS的设备管理.计算机设备控制管理技术是一种主要作用于嵌入式计算机及机电系统接口应用中的技术,主要包括中断技术、缓冲技术、通道技术以及DMA技术等.中断技术是指在嵌入式系统中,通过中断驱动的方式对I/O接口进行管理控制,流程是检测I/O接口控制器所处状态,或出错或准备就绪、读取指令,然后向RAM写入指令,或传送完成或没有完成,没有完成便向I/O接口控制器发送一条指令;缓冲技术可以用来减少CPU与I/O接口匹配不符的矛盾,缓冲系统主要分为硬件缓冲以及软件缓冲,硬件缓冲是指用作缓冲器功能的专用寄存器,软件缓冲是指EOS中划出的用于缓冲的区域,缓冲也可分为循环缓冲、单缓冲以及双缓冲等;通道技术是指与设备控制器一起,通过通道程序实现对I/O接口的控制管理,其特点是指令中含有的信息量较大,对I/O接口的指令主要分为I/O指令和通道指令;DMA技术即直接存储器访问模式,可以进一步使CPU对I/O接口干预减少,主要包含数据预处理、传送数据、数据后处理等阶段.

3嵌入式操作系统中设备驱动程序的开发

关于EOS中设备驱动程序的开发,本文主要基于的驱动程序开发环境是虚拟仪器labview程序设计,并且涉及DSP应用以及捷联惯导系统(SINS)中陀螺仪信号的检测和分析等.

Labview是程序开发环境的一种,由美国国家仪器公司(NI公司)研发,Labview编程系统的函数库主要包括采集数据、分析数据、显示数据、存储数据、GPIB以及串口控制等.与C、Basic等开发环境相比较,Labview的不同之处在于其所使用的计算机开发语言为基于图形化编辑的G语言,其产生的驱动程序形式为框架图形式,而其他计算机语言如C语言等,大部分是基于文本格式.虚拟仪器即virtualinstrument是一种数据采集系统,它的组织依据是仪器的需求.虚拟仪器主要应用于Labview编程系统,主要依据的理论原理是DSP以及计算机数据采集.

在labview中开发设备驱动主要有三种方法:直接对端口进行读写、通过CLF(CallLibraryFunction)节点调用DLL函数,以及通过CIN节点调用由C语言编写的程序,

基于EOS中设备驱动程序开发的labview程序设计步骤主要包括:分析EOS设备驱动程序开发任务(包括分析开发最终目标、会出现的问题以及解决方案等),将虚拟仪器嵌入Labview编程系统(DSP应用以及捷联惯导系统中陀螺仪信号的检测和分析),对算法进行设计(主要包括选择程序开发过程中的算法以及详细步骤等),进行编程程序(将算法编写成为计算机G语言,并编辑、翻译、连接源程序),调试程序(对编写出来的EOS设备驱动程序进行试运行,并分析其结果,如果有不符合要求的地方,对其进行调试),记录程序设计步骤并编制说明书.

捷联惯导系统中陀螺仪信号的检测和分析主要是指对陀螺仪表等惯性元件的原始信号进行传感、测试度量、数据采集、数据分析的步骤.DSP是用数字形式对信号进行处理的技术,处理方式主要包括分析处理、滤波处理、变换处理、检测处理、解调处理、快速计算以及调试处理等.DSP设计包括预设数据以及信号指标,语言模拟,DSP硬件设计,DSP软件设计等.DSP主要应用于处理信号、处理语音、处理图像、仪器仪表信号处理、军事、医疗等方面,DSP技术也可以应用于仪器仪表的信号检测和分析中.


4.结论

本文通过对嵌入式操作系统硬件设备以及驱动程序的研究,深入浅出地阐述了嵌入式操作系统中设备的机制、类型;管理的对象、目的以及控制技术;重点介绍了虚拟仪器labview程序对设备驱动程序开发的概念、特点、通用设计方法、流程以及在航空、航天等军事惯性导航领域的应用.