Linux操作系统的实时性技术研究.docx

上传人:温桑 文档编号:48541508 上传时间:2022-10-06 格式:DOCX 页数:10 大小:432.10KB
返回 下载 相关 举报
Linux操作系统的实时性技术研究.docx_第1页
第1页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Linux操作系统的实时性技术研究.docx》由会员分享,可在线阅读,更多相关《Linux操作系统的实时性技术研究.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、徽 商 职 业 学 院 毕业设计(论文)题目 Linux操作系统的实时性技术研究 姓 名: 金耀 系 别: 电子信息系 学 号: 142054 专 业: 物联网应用技术 指导教师: 崔蓓蓓 徽商职业学院教务处Linux嵌入式系统毕业论文摘要:信息技术的发展和Internet广泛深入的应用使嵌入式系统成为电子计算机行业的热点。嵌入式系统技术上的成就为航空航天、工业控制等技术领域上的探索提供了更加科学和有效的手段,同时也为人们的日常生活带来了更多欣喜和便利。嵌入式技术是在计算机和通信技术的基础上发展起来的,以嵌入式微处理器和嵌入式操作系统为发展核心。诸多的嵌入式操作系统中,嵌入式凭借自身硬件支持上

2、的广泛性、开源性和可移植性等特点发展迅速。本文首先对嵌入式系统硬件平台的设计和配置做了详细介绍;接下来对符合本实验要求的Linux内核的定制和移植、根文件系统的构造、引导加载程序的写入做了详细描述。最后通过一个基于C/S网络架构的远程数据采集程序对嵌入式Linux的实时性能作了测试和论证。关键词:嵌入式系统、Linux、设备驱动、实时性目录目录3第一章 嵌入式实验系统硬件设计与配置41.1 实验系统总览41.2 下位机CPU模块SCM/LX3160介绍4第二章 嵌入式LINUX软件开发环境的构建52.1 Linux内核分析52.1.1 Linux内核概述52.1.2 Linux中断机制52.2

3、内核的定制52.2.1内核的选择52.2.2内核的定制和移植52.3基于Busybox工具的根文件系统的搭建52.4引导加载程序的选择与写入6第三章 数据采集驱动程序的设计与实现73.1 Linux设备驱动程序的功能73.2 DMM32驱动程序的设计与实现73.2.1 设备的初始化及释放73.2.2 设备的打开和关闭73.2.3 设备的读写73.2.4 设备的模式控制73.3设备驱动的编译7第四章 基于嵌入式LINUX的实时性测试94.1 远程数据采集程序的设计与实现94.2 远程数据采集程序的测试结果及分析9徽商职业学院毕业设计(论文)第一章 嵌入式实验系统硬件设计与配置1.1 实验系统总览

4、本实验系统分为上位机和下位机两部分,上位机是普通个人电脑(PC),下位机是PC/104规范的嵌入式平台。下位机由CPU模块和I/O模块两部分组成:CPU模块SCM/LX3160是盛博公司的一款高性能的“ALL IN ONE”PC/104模块;IO模块DIAMOND-MM-32-AT是美国DIAMOND公司出品的一款PC/104规范的多功能数据采集卡。Linux内核的裁剪移植、根文件系统的创建、引导加载程序的安装和配置工作以及设备驱动程序的编写和编译在上位机PC上进行,下位机在经过构建的嵌入式软件环境下通过网络文件系统 (Network File System,简称NFS)挂载已经编译好的设备驱

5、动程序并运行之。系统硬件框架如图1.1所示。图1.1系统硬件框架图1.2 下位机CPU模块SCM/LX3160介绍SCM/LX-3160与PC/AT标准完全兼容,并遵从PC/104标准。在IBM-PC上运行的众多软件全部能在以SCM/LX-3160为基础的系统中运行。模块集成了PS/2键盘、PS/2鼠标、CRT、IDE、 USB2.0、4串一并、2个10/100BaseT以太网等接口,在极小空间里实现PC机几乎所有的功能。平板显示接口、CF卡接口、串口多种形式选择、看门狗功能等接口让设计人员更方便的实现嵌入式系统应用。SCM/LX-3160专为嵌入式应用设计,具有低功耗、高可靠性、小体积、无风

6、扇、宽温工作的特点,使之广泛适用于国防电子、车载系统、医疗仪器、通信、电力控制、工业现场控制、安防系统等应用中。第二章 嵌入式Linux软件开发环境的构建2.1 Linux内核分析2.1.1 Linux内核概述一个完整可用的操作系统主要由4部分组成:硬件、操作系统内核、操作系统服务以及用户应用程序。Linux操作系统把这4部分细化为:硬件、Linux内核、系统调用库和用户应用程序。Linux内核主要包括5个模块;进程调度模块、内存管理模块、文件系统模块、进程间通信模块和网络接口模块等。2.1.2 Linux中断机制Linux内核将中断信号分为:硬件中断和软件中断(异常),中断号从0-255。对

7、于int0-int31(0x00-0x1f),每个中断的功能都有CPU保留,属于软中断,也被称为异常,此32个中断是在CPU执行指令时探测到异常情况而引起的;int32-int255(0x20-0xff)可以由用户自己设定。2.2内核的定制2.2.1内核的选择本论文的目的是研究嵌入式Linux的实时性问题,所以在选择内核时必须考虑稳定性强、可靠性高,同时尽可能新的内核版本。这样我们选择了截止到2009年9月24日的“the lastest stable version”Linux2.6.31.1。2.2.2内核的定制和移植掌握了硬件的配置之后,下面就开始进行内核的定制工作,这一工作在上位机Ub

8、untu9.10下进行,具体步骤如下所述。1、内核源代码的获得;2、辅助工具包的获得及安装;3、配置内核选项;4、编译内核和模块。至此,内核的定制工作完成。本实验系统需要的就是本步骤生成bzlmage内核映像文件,该文件将会在根文件系统构建好之后移植到CF上的/boot目录中。2.3基于Busybox工具的根文件系统的搭建选用2009年9月15日最新推出的稳定版本 BusyBox1.15.1,根文件系统详细搭建过程如下。1、生成临时文件系统2、完善临时文件系统3、必需的设备文件的创建4、启动文件的编写2.4引导加载程序的选择与写入CF卡上虽然有了根文件系统和内核映像文件,但是还不能启动,尚需引

9、导加载程序的安装。引导加载程序的主要作用就是指定并负责找到Linux系统内核的位置,然后指定根目录所在的分区。上位机的ubuntu9.10系统就打包有 Grub 0.97,首先将Grub启动的必备文件复制到CF卡,在上位机终端运行;安装完毕后还需要重写Grub的启动配置文件grub.conf(或menu.lst)。至此,下位机的软件环境构建过程完毕。将CF卡插入嵌入式主板SCM/LX-3160的CF卡座。开启下位机电源,下位机系统开始运行。第三章 数据采集驱动程序的设计与实现3.1 Linux设备驱动程序的功能Linux把所有的设备当作一种特殊的文件来处理,所以应用程序可以像操作普通文件一样操

10、作硬件设备。作为内核模块的一部分,驱动程序主要完成以下功能:a.设备的初始化和关闭b.从硬件端口读取数据,以及将内核数据传送到硬件端口c.把来自用户程序的设置和数据传送给设备文件,以及将数据从设备文件读出d.控制、响应外部中断e.检测并处理设备运行时出现的错误3.2 DMM32驱动程序的设计与实现3.2.1 设备的初始化及释放DMM32设备的初始化包括注册主次设备号、为设备结构体申请内存空间、初始化设备结构体数组、申请对设备I/O端口的独占访问。初始化代码的主要功能就是将设备与驱动程序相关联并且为设备结构体分配内存。本驱动程序适用于多个DMM32设备的情况,在设备的初始化和释放时通过for循环

11、语句将所有DMM32设备都检测一遍。3.2.2 设备的打开和关闭与设备的初始化不同,设备的打开方法dmm32_open是文件结构体中声明的,用户程序在调用open()函数时便会执行。open方法提供了驱动程序以初始化的能力,通常的设备驱动程序中open应完成的工作包括:n 检查设备错误n 若设备为初次打开,则初始化设备n 更新f_op指针n 分配并填写要存放到filp-private_open里的数据结构3.2.3 设备的读写对硬件设备的读写也就是:设备驱动程序的read方法将数据从设备拷贝到用户程序空间,设备驱动程序的write方法将数据从用户程序空间拷贝至设备。3.2.4 设备的模式控制除

12、了对设备的读写之外,设备驱动程序还要执行各种类型的硬件控制,比如本设备驱动中对DMM32设备工作模式的控制就是通过iotrl方法实现的,Linux内核内部有与ioctl同名的系统调用,而且每个ioctl命令是一个独立的系统调用。3.3设备驱动的编译设备驱动程序作为内核模块,编译完成的Linux驱动程序只能工作在特定的Linux内核下,编译Linux设备驱动程序前需要准备目标内核的内核源码树,也就是需要将驱动程序的makefile中的$(KERNELDIR)变量设置为目标内核的内核源码树路径,编-译过程会使用内核源码树中的文件,因为编译完成的内核源码树中包含目标内核的信息。第四章 基于嵌入式Li

13、nux的实时性测试4.1 远程数据采集程序的设计与实现远程数据采集程序的设计采用C/S网络架构,利用Linux下的套接字(Socket)编程实现PC/104总线架构的目标机与上位机PC的数据交换,从而实现真正的客户服务器模式通信。整个程序分为Server和client两个部分,PC/104总线架构的目标机运行服务器(server)部分,PC机运行客户端(client)部分。4.2 远程数据采集程序的测试结果及分析本远程采集程序利用了DMM32_IOC_AD_FIFOINT、DMM32_IOC_DA_CLKINT两种模式进行Linux实时性能的测试。1.A/D转换:DMM32_IOC_AD_FI

14、FOINT模式本实验系统运行在此种工作模式下进行A/D数据采集,此模式下FIFO深度达到512字节时触发硬件中断。ADC输入通道0外接2KHz的正弦波信号,电压范围为-5V+5V,采样频率为200KHz,即DMM32设备在此种工作模式下的的最高采样频率。DMM32采集的数据通过网络传递给客户端,客户端将接收到的数据曲线显示出来。2.D/A转换:DMM32_IOC_DA_CLKINT模式本实验系统运行在此种工作模式下将数字量转换成模拟信号输出。将中断频率设置为25KHz(10MHz/400)、每个周期100个数据点,只向DAC通道O输入数字数据。经多次实验测试,该中断频率为本实验系统下波形保真的

15、最高频率。本远程采集程序只为便于与输出信号比较,故采用周期数据),程序将这个波段的数据平均分为100份,每份的起始点为要转换的数据点。通过对DMM32设备在以上两种工作模式下的多次测试,有如下结论:上层应用程序通过调用DMM32设备在嵌入式Linux软件环境下的驱动程序,同时在保证所采集数据的真实性与可靠性的情况下,DMM32设备在A/D工作模式下的最高采样频率达到200KHz,在D/A工作模式下的最高中断频率为25KHz。嵌入式Linux在本硬件平台下所表现出的这种实时性能完全能够满足我们在实际工作中对它的要求。参考文献:1 郑灵翔等编著.嵌入式系统设计与应用开发M.北京:北京航空航天大学出

16、版社.2006:5-7.2 周立功等编著.ARM嵌入式系统基础教程M.北京:北京航空航天大学出版社.2005:2-3.3 俞建新,王健,宋健建编著.嵌入式系统基础教程M.北京:机械工业出版社.2008.4 马维华编著.嵌入式系统原理及应用M.北京:北京邮电大学出版社.2006.5 PC/104总线规范EB/OL.http:/www.pc104.org/.6 盛博公司.SCM几x-3160技术手册R.北京:北京盛博协同科技有限公司.2005:1-12.7 戴梅警,史嘉权编著.微型计算机技术及应用M.北京:清华大学出版社2003-8.8 DiamondSystemsCorporation.DIAM

17、OND-MM-32-ATUserManualV2.64EB/OL.2003.9 吴辰光.Linux操作系统渐受青睐N.北京:北京商报,2009-4-1.10 范质坚.Linux在嵌入式系统中的应用J.计算机与现代化,2000,(06):22-25.11 DANIEL P.BOVET&MARCO CESATI著.深入理解Linux内核(第3版)M.陈莉君,张琼声,张宏伟译.北京:中国电力出版社.2007.l2 邓冬梅,杨铁林.嵌入式系统和LinuxJ.计算机与现代化,2004,(l2):50-52.13 邹思秩编著.嵌入式Linux设计和应用M.北京:清华大学出版社.2002.l4 冯树琳.基于

18、嵌入式PC/104的Linux系统移植研究硕士学位论文.西北农林科技大学.2008.5.15 DaveJonesLinux2.6开发进展报告EB/OL.2009.http:/www.eodemonkey.org.uk/post-halloween-2.5.txtl6 赵炯编著.Linux内核完全剖析基于0.12内核M.北京:机械工业出版社.2009.1:327-415.17 Robert Love Linux Kernel DevelopmentM.北京:机械工业出版社.2004.11.18 邓彬伟等.基于context分析UC/OS-II内核J.山西电子技术,2008,03:77-79.l9 减雪柏,赵亚莉,王秋实等.Linux2.6内核的中断机制J.吉林大学学报(理学版),2008,46(3):494-498.20 RodriguezC5.TheLinuxKemelPrimerM.Atlanta:PearsonEdueation,Ine,2006.22 金西,黄汪.嵌入式Linux及其关键技术J.微型机与应用,2000,(11):6-5.23 刘文峰,李程远,李善平.嵌入式Linux操作系统的研究J.浙江大学学报(工学版),2004,38(4):447-450.24 李炳胜.Ubuntu跨平台共享方法多N.电脑报,2009-12-21.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁