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

上传人:b****5 文档编号:5850179 上传时间:2023-01-01 格式:DOCX 页数:7 大小:408.72KB
下载 相关 举报
Linux操作系统的实时性技术研究.docx_第1页
第1页 / 共7页
Linux操作系统的实时性技术研究.docx_第2页
第2页 / 共7页
Linux操作系统的实时性技术研究.docx_第3页
第3页 / 共7页
Linux操作系统的实时性技术研究.docx_第4页
第4页 / 共7页
Linux操作系统的实时性技术研究.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

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

《Linux操作系统的实时性技术研究.docx》由会员分享,可在线阅读,更多相关《Linux操作系统的实时性技术研究.docx(7页珍藏版)》请在冰豆网上搜索。

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

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

徽商职业学院

毕业设计(论文)

 

题目Linux操作系统的实时性技术研究

姓名:

金耀

系别:

电子信息系

学号:

142054

专业:

物联网应用技术

指导教师:

崔蓓蓓

 

徽商职业学院教务处

摘要:

信息技术的发展和Internet广泛深入的应用使嵌入式系统成为电子计算机行业的热点。

嵌入式系统技术上的成就为航空航天、工业控制等技术领域上的探索提供了更加科学和有效的手段,同时也为人们的日常生活带来了更多欣喜和便利。

嵌入式技术是在计算机和通信技术的基础上发展起来的,以嵌入式微处理器和嵌入式操作系统为发展核心。

诸多的嵌入式操作系统中,嵌入式凭借自身硬件支持上的广泛性、开源性和可移植性等特点发展迅速。

本文首先对嵌入式系统硬件平台的设计和配置做了详细介绍;接下来对符合本实验要求的Linux内核的定制和移植、根文件系统的构造、引导加载程序的写入做了详细描述。

最后通过一个基于C/S网络架构的远程数据采集程序对嵌入式Linux的实时性能作了测试和论证。

关键词:

嵌入式系统、Linux、设备驱动、实时性

第一章嵌入式实验系统硬件设计与配置

1.1实验系统总览

本实验系统分为上位机和下位机两部分,上位机是普通个人电脑(PC),下位机是PC/104规范的嵌入式平台。

下位机由CPU模块和I/O模块两部分组成:

CPU模块SCM/LX3160是盛博公司的一款高性能的“ALLINONE”PC/104模块;IO模块DIAMOND-MM-32-AT是美国DIAMOND公司出品的一款PC/104规范的多功能数据采集卡。

Linux内核的裁剪移植、根文件系统的创建、引导加载程序的安装和配置工作以及设备驱动程序的编写和编译在上位机PC上进行,下位机在经过构建的嵌入式软件环境下通过网络文件系统(NetworkFileSystem,简称NFS)挂载已经编译好的设备驱动程序并运行之。

系统硬件框架如图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专为嵌入式应用设计,具有低功耗、高可靠性、小体积、无风扇、宽温工作的特点,使之广泛适用于国防电子、车载系统、医疗仪器、通信、电力控制、工业现场控制、安防系统等应用中。

 

第二章嵌入式Linux软件开发环境的构建

2.1Linux内核分析

2.1.1Linux内核概述

一个完整可用的操作系统主要由4部分组成:

硬件、操作系统内核、操作系统服务以及用户应用程序。

Linux操作系统把这4部分细化为:

硬件、Linux内核、系统调用库和用户应用程序。

Linux内核主要包括5个模块;进程调度模块、内存管理模块、文件系统模块、进程间通信模块和网络接口模块等。

2.1.2Linux中断机制

Linux内核将中断信号分为:

硬件中断和软件中断(异常),中断号从0-255。

对于int0-int31(0x00-0x1f),每个中断的功能都有CPU保留,属于软中断,也被称为异常,此32个中断是在CPU执行指令时探测到异常情况而引起的;int32-int255(0x20-0xff)可以由用户自己设定。

2.2内核的定制

2.2.1内核的选择

本论文的目的是研究嵌入式Linux的实时性问题,所以在选择内核时必须考虑稳定性强、可靠性高,同时尽可能新的内核版本。

这样我们选择了截止到2009年9月24日的“thelasteststableversion”Linux2.6.31.1。

2.2.2内核的定制和移植

掌握了硬件的配置之后,下面就开始进行内核的定制工作,这一工作在上位机Ubuntu9.10下进行,具体步骤如下所述。

1、内核源代码的获得;

2、辅助工具包的获得及安装;

3、配置内核选项;

4、编译内核和模块。

至此,内核的定制工作完成。

本实验系统需要的就是本步骤生成bzlmage内核映像文件,该文件将会在根文件系统构建好之后移植到CF上的/boot目录中。

2.3基于Busybox工具的根文件系统的搭建

选用2009年9月15日最新推出的稳定版本BusyBox1.15.1,根文件系统详细搭建过程如下。

1、生成临时文件系统

2、完善临时文件系统

3、必需的设备文件的创建

4、启动文件的编写

2.4引导加载程序的选择与写入

CF卡上虽然有了根文件系统和内核映像文件,但是还不能启动,尚需引导加载程序的安装。

引导加载程序的主要作用就是指定并负责找到Linux系统内核的位置,然后指定根目录所在的分区。

上位机的ubuntu9.10系统就打包有Grub0.97,首先将Grub启动的必备文件复制到CF卡,在上位机终端运行;

安装完毕后还需要重写Grub的启动配置文件grub.conf(或menu.lst)。

至此,下位机的软件环境构建过程完毕。

将CF卡插入嵌入式主板SCM/LX-3160的CF卡座。

开启下位机电源,下位机系统开始运行。

 

第三章数据采集驱动程序的设计与实现

3.1Linux设备驱动程序的功能

Linux把所有的设备当作一种特殊的文件来处理,所以应用程序可以像操作普通文件一样操作硬件设备。

作为内核模块的一部分,驱动程序主要完成以下功能:

a.设备的初始化和关闭

b.从硬件端口读取数据,以及将内核数据传送到硬件端口

c.把来自用户程序的设置和数据传送给设备文件,以及将数据从设备文件读出

d.控制、响应外部中断

e.检测并处理设备运行时出现的错误

3.2DMM32驱动程序的设计与实现

3.2.1设备的初始化及释放

DMM32设备的初始化包括注册主次设备号、为设备结构体申请内存空间、初始化设备结构体数组、申请对设备I/O端口的独占访问。

初始化代码的主要功能就是将设备与驱动程序相关联并且为设备结构体分配内存。

本驱动程序适用于多个DMM32设备的情况,在设备的初始化和释放时通过for循环语句将所有DMM32设备都检测一遍。

3.2.2设备的打开和关闭

与设备的初始化不同,设备的打开方法dmm32_open是文件结构体中声明的,用户程序在调用open()函数时便会执行。

open方法提供了驱动程序以初始化的能力,通常的设备驱动程序中open应完成的工作包括:

⏹检查设备错误

⏹若设备为初次打开,则初始化设备

⏹更新f_op指针

⏹分配并填写要存放到filp->private_open里的数据结构

3.2.3设备的读写

对硬件设备的读写也就是:

设备驱动程序的read方法将数据从设备拷贝到用户程序空间,设备驱动程序的write方法将数据从用户程序空间拷贝至设备。

3.2.4设备的模式控制

除了对设备的读写之外,设备驱动程序还要执行各种类型的硬件控制,比如本设备驱动中对DMM32设备工作模式的控制就是通过iotrl方法实现的,Linux内核内部有与ioctl同名的系统调用,而且每个ioctl命令是一个独立的系统调用。

3.3设备驱动的编译

设备驱动程序作为内核模块,编译完成的Linux驱动程序只能工作在特定的Linux内核下,编译Linux设备驱动程序前需要准备目标内核的内核源码树,也就是需要将驱动程序的makefile中的$(KERNELDIR)变量设置为目标内核的内核源码树路径,编-译过程会使用内核源码树中的文件,因为编译完成的内核源码树中包含目标内核的信息。

 

第四章基于嵌入式Linux的实时性测试

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_FIFOINT模式

本实验系统运行在此种工作模式下进行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输入数字数据。

经多次实验测试,该中断频率为本实验系统下波形保真的最高频率。

本远程采集程序只为便于与输出信号比较,故采用周期数据),程序将这个波段的数据平均分为100份,每份的起始点为要转换的数据点。

通过对DMM32设备在以上两种工作模式下的多次测试,有如下结论:

上层应用程序通过调用DMM32设备在嵌入式Linux软件环境下的驱动程序,同时在保证所采集数据的真实性与可靠性的情况下,DMM32设备在A/D工作模式下的最高采样频率达到200KHz,在D/A工作模式下的最高中断频率为25KHz。

嵌入式Linux在本硬件平台下所表现出的这种实时性能完全能够满足我们在实际工作中对它的要求。

 

参考文献:

[1]郑灵翔等编著.嵌入式系统设计与应用开发[M].北京:

北京航空航天大学出版社.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.DIAMOND-MM-32-ATUserManualV2.64[EB/OL].2003.

.

[9]吴辰光.Linux操作系统渐受青睐[N].北京:

北京商报,2009-4-1.

[10]范质坚.Linux在嵌入式系统中的应用[J].计算机与现代化,2000,(06):

22-25.

[11]DANIELP.BOVET&MARCOCESATI著.深入理解Linux内核(第3版)[M].陈莉君,张琼声,张宏伟译.北京:

中国电力出版社.2007.

[l2]邓冬梅,杨铁林.嵌入式系统和Linux[J].计算机与现代化,2004,(l2):

50-52.

[13]邹思秩编著.嵌入式Linux设计和应用[M].北京:

清华大学出版社.2002.

[l4]冯树琳.基于嵌入式PC/104的Linux系统移植研究[硕士学位论文].西北农林科技大学.2008.5.

[15]DaveJones·Linux2.6开发进展报告[EB/OL].2009.

http:

//www.eodemonkey.org.uk/post-halloween-2.5.txt

[l6]赵炯编著.Linux内核完全剖析——基于0.12内核[M].北京:

机械工业出版社.2009.1:

327-415.

[17]RobertLove·LinuxKernelDevelopment[M].北京:

机械工业出版社.2004.11.

[18]邓彬伟等.基于context分析UC/OS-II内核[J].山西电子技术,2008,03:

77-79.

[l9]减雪柏,赵亚莉,王秋实等.Linux2.6内核的中断机制[J].吉林大学学报(理学版),2008,46(3):

494-498.

[20]RodriguezC5.TheLinuxKemelPrimer[M].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.

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1