(信息与通信工程专业论文)嵌入式通信平台设备接口驱动的设计与实现.pdf_第1页
(信息与通信工程专业论文)嵌入式通信平台设备接口驱动的设计与实现.pdf_第2页
(信息与通信工程专业论文)嵌入式通信平台设备接口驱动的设计与实现.pdf_第3页
(信息与通信工程专业论文)嵌入式通信平台设备接口驱动的设计与实现.pdf_第4页
(信息与通信工程专业论文)嵌入式通信平台设备接口驱动的设计与实现.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(信息与通信工程专业论文)嵌入式通信平台设备接口驱动的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 嵌入式系统正处在一个飞速发展和激烈竞争的阶段,l i a u x 作为一种强大的开放式的 操作系统。被越来越多地应用在嵌入式系统当中。由于l i n u x 作为嵌入式操作系统所具有 的一些优点,我们选择它作为嵌入式通信平台的操作系统。而在嵌入式l i n u x 操作系统下 开发设备驱动程序是项复杂但却缀有意义的工作,它要求开发入员具有一定的理论基础 和编程经验。 论文介绍了自行研制开发的嵌入式通信平台的总体结构,总结了在该通信平台上基于 嵌入式l i n u x 操作系统进行软件开发的方法,具体研究了软件开发环境的构建方法与嵌入 式l i n u x 下的软件调试技术;通过对l i n u x 下的设备驱动程序原理的分析。总结了不同类 型的设备驱动程序的设计思想与实现方法:在此平台上设计并实现了基于嵌入式l i n u x 操 作系统的1 2 c 总线接口的驱动;设计了通信平台上1 2 c 接口的用户应用程序;设计、实现 了基于嵌入式l i n u x 操作系统的以太网接口的驱动。 【关键词】嵌入式系统 嵌入式k i n u x 操作系统m p c 8 5 0 设备驱动程序 12 c 总线 以太网接口 i a b s t r a c t t h ee m b e d d e d s y s t e m i sb e i n gi na s t a g es p e e d i l yd e v e l o p e d w i t ht h ei n t e n s ec o m p e t i t i o n , l i n u xa st h eo p e r a t i n gs y s t e mo fo n ek i n do f p o w e r f u lo p e nt y p ei st h eo p t i m u ms e l e c t i o no f t h e e m b e d d e d o p e r a t i n gs y s t e m b e c a u s es o m em e r i t so fl i n u xa se m b e d d e d o p e r a t i n gs y s t e m ,w ec h o o s e i ta st h eo p e r a t i n g s y s t e mo n t h ee m b e d d e dc o m m u n i c a t i o n p l a t f o r m d e v e l o p i n gt h ed e v i c ed r i v e ru n d e re m b e d d e dl i n u xo p e r a t i n gs y s t e mi st h ec o m p l i c a t e d b u t h i g h l ys i g n i f i c a n t ,i ta s k sd e v e l o p i n gp e r s o n n e lt op o s s e s sf i x e dt h e o r yf o u n d a t i o na n dp l e n t y o f e x p e r i e n c e t h i sp a p e ri n t r o d u c e dt h eg e n e r a la r c h i t e c t u r eo ft h ee m b e d d e dc o m m u n i c a t i o np l a t f o r m a n ds t u d i e dt h em e t h o d so f d e v e l o p i n gt h ee m b e d d e ds y s t e ms o f t w a r eu n d e rt h ee m b e d d e d l i n u xo p e r a t i n gs y s t e mo nt h i sc o m m u n i c a t i o np l a t f o r m ,s t u d i e dt h e d e b u gt e c h n o l o g yo f e m b e d d e dl i n u xs o f t w a r e t h i s p a p e rd e s i g n e da n dr e a l i z e d t h ed r i v e ro f1 2 ci n t e r f a c eo f e m b e d d e dl i n u x o p e r a t i n gs y s t e m a n d d e s i g n u s e r s a p p l i c a t i o n o f1 2 ci n t e r f a c eo nt h e c o m m u n i c a t i o n p l a t f d r m ,t h ed e s i g n h a sb e e na l s or e a l i z e dt h ed r i v e ro f t h ee t h e m e ti n t e r f a c eo f e m b e d d e dl i n u x o p e r a t i n gs y s t e m k e yw o r d t h ee m b e d d e ds y s t e m , e m b e d d e dl i n u x , m p c 8 5 0 ,d e v i c ed r i v e r , 1 2 c ( i n t e r - i n t e g r a t e dc i r c u i t ) b u s , e t h e r n e ti n t e r f a c e i i一一_ _ _ _ _ _ - _ - - _ _ _ _ _ _ - _ - _ _ _ - - _ - _ _ _ - - _ _ _ _ _ - _ _ _ _ 一 独创性声 明 y 船彳 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目:蛊盛i 重篮壬垒遮查接望墼盘鲍遮j 土主塞丑 学位论文作者签名:蟊薤呈日期:伊工年月”日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书) 学位论文题目:邀厶盛通焦垩龟遮盔接望墅殖鲍遮i 生塞理 学位论文作者签名 作者指导教师签名 日期:删2 年jj 月日 日期:艘年i 月移日 第一章绪论 前几年,后“p c 时代“的提法便不时见诸报端。后p c 时代的绝大多数计算机是以非 计算机的形式出现的,如作为家庭网络组成部分的电视机、电冰箱、空调等,这些设备的 核心部分都包含计算机,但几乎都是以嵌入式系统的形式存在,而不是以整机的形式出现。 以信息家电为代表的互联网时代的嵌入式产品,不仅为市场展现了美好的前景,注入了新 的生命,同时也对嵌入式系统技术,特别是软件技术提出了新的挑战。 l i n u x 的开放式开发原则使得l i n u x 下的驱动和升级变得越来越多和越来越快。当 l i n u x 成熟起来以后,越来越多的人对编写特制电路的设备驱动程序和商业设备的驱动程 序感兴趣,而世界各地都有人在钻研l i n u x 内核,大多是在编写设备驱动程序。尽管每个 驱动程序都不一样,而且每种设备还具有其特殊性,但是编写这些设备驱动程序的许多原 则和基本技术、技巧都是一样的。设备驱动程序应该仅仅处理硬件,而将如何使用硬件的 问题留给应用程序。可以从不同的侧面来看你的驱动程序:它是位于应用层和实际设备之 间的软件。不同的驱动程序可以提供不同的能力,甚至相同的设备也可以提供不同的能力。 实际驱动程序设计应该是在众多需求之间的一个平衡。 1 1 嵌入式系统简介 近年来,以p c 机为代表的通用计算机系统在硬件和软件方面都取得了飞速的发展, 处理器的运算速度已经达到了每秒1 0 0 亿次的数量级。作为计算机系统核心的操作系统也 从字符界面的单任务、单用户的d o s ,发展到拥有图形界面的多用户、多任务的w i n d o w s 9 8 、w i n d o w s n t 等。计算机的应用也已经扩展到了通信、交通、家电及医疗诸多领域。 然而,在经过了很长一段时间的快速发展,以p c 为代表的通用计算机系统出现了发 展减缓的趋势;与此同时,新兴i t 产生与发展要求越来越多的设备具有小型化、智能化的 特点。为适应这一发展趋势,在计算机系统的应用过程中出现了一类特殊的系统嵌入 式计算机系统,即嵌入式系统。 由于嵌入式系统具备简沽、高效等特点,在最近几年,嵌入式系统表现出了强劲的发 展势头。随着二十一世纪的到来,i t 业迎来了一个崭新的、以嵌入式系统为核心的“后p c 时代( p o s t p ce r a ) ”。作为崭新的、面向应用的计算机系统,嵌入式系统在集成了通用计 算机系统的共性以外,还包含了很多适合“嵌入式”应用的新技术:因此,嵌入式系统的发 展越来越多地受到人们的普遍重视,其强大而灵活的可应用性得到了计算机、通信和信息 等产业的广泛认可,其应用已经扩展到前所未有的广泛领域。嵌入式系统的出现与发展将 真正实现计算机的“无处不在”。 第1 页 1 1 1 嵌入式系统的基本概念与构成 嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件、硬件可裁剪、适 应应用,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。简言之,一个 嵌入式系统就是一个计算机硬件和软件的集合体,有时还包括其它的一些机械部分,它是 为完成某种特定的功能而设计的。有时我们也称其为嵌入式设备,它是指具有计算机功能, 但又不称为计算机的设备或器材。 嵌入式系统存在两种分类方法: 第一种分法分为三个阶段: l 、一个最小的嵌入式系统仅需如下基本组成部分: 一个用作引导的可用设施( 工具) ; 一个具备内存管理、进程管理和定时器服务的l i n u x 微内核; 一个初始化进程。 2 、为使上面的最小嵌入式系统变得有一定实用性,尚需加上一些东西: 硬件的驱动程序: 一个或几个应用进程以提供必要的应用功效。 3 、随着对系统要求的增加,也许还要用到下面这些组件: 一个文件系统( 或许放在r o m 或r a m 中1 t c p i p 网络协议栈; 一个磁盘用来存放半易失性数据和提供交换能力。 第二种方法将嵌入式系统分为如下三个部分: l 、嵌入式芯片e m c u : e m p u - 嵌入式微处理器 e m c u 一嵌入式微控制器 e d s p 嵌入式数字信号处理器 e s i c ,e p s o c 一嵌入式片上系统,嵌入式可编程片上系统( 系统芯片) 2 、嵌入式软件e s o f t w a r e : c + + j a v a 脚本语言 h o p e n j i n i 3 、嵌入式操作系统( r t o s ) : v r t x p s o s v x w o r k s 、w r n c e 、e p o c l n q u x p a l m o s - 9 j a v ac h o r u so s q n - x n a v l 0 1 1 2 嵌入式操作系统的发展状况 从八十年代起,国际上就开始进行一些商用嵌入式系统和专有操作系统的开发。他们 开发嵌入式系统已经有二十多年的经验,目前的应用范围也比较广泛,下面介绍一些著名 的嵌入式系统。 w i n d o w sc e : m i c r o s o f t w i n d o w s c e 是一个简洁的,高效率的多平台操作系统。它并不是削减的 w i n d o w s 9 5 版本,而是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的 操作系统。它的模块化设计允许它对于从掌上电脑到专用的工业控制器的用户电子设备进 行定制。操作系统的基本内核需要至少2 0 0 k 的r o m 。从s e g a 的d r e a m c a s t 游戏机到现 在大部分的高价掌上电脑,都采用了w i n d o w sc e ,但是由于价格太高,使得整个产品的 成本急剧上升。 v x w o r k s : v x w o r k s 所在的公司w i n d r i v e r 兼并了p s o s 的i s i 公司以后,使得该公司现在有两 大r t o s 系统。v x w o r k s 是目前嵌入式系统领域中使用最广泛,市场占有率最高的系统。 它支持多种处理器,如x 8 6 ,i 9 6 0 ,s u ns p a r e ,m o t o r o l am c 6 8 x x x ,m i p sr x 0 0 0 ,p o w e r p c 等等。使用的是和u n i x 不兼容的环境,大多数的v x w o r k sa p i 是专有的。采用g n u 的编译和调试器。 p s o s : i s i 公司已经被w i n r i v e r 公司兼并,现在是属于w i n d r i v e r 公司的产品。这个系统是 一个模块化,高性能的实时操作系统,专为嵌入式微处理器设计,提供一个完全多任务环 境,在定制的或是商业化的硬件上提供高性能和高可靠性。可以让开发者将操作系统的功 能和内存需求定制成每一个应用所需的系统。开发者可以利用它来实现从简单的单个独立 设备到复杂的、网络化的多处理器系统。 q n x : q n x 是个实时的,可扩充的操作系统,它遵循p o s i x 1 ( 程序接口) 和p o s i x 2 ( s h e l l 和工具) 、部分遵循p o s i x 1 b ( 实时扩展) 。它提供了一个很小的微内核以及一些可选的配合 进程。其内核仅提供4 种服务:进程调度、进程间通信、底层网络通信和中断处理,其进 程在独立盼地址空间运行。所有其它o s 服务,都实现为协作的用户进程,因此q n x 内核 第3 页 垦堕墼耋垄垄叁耋堑塑笙堕耋堡重圣 = := 一 非常小i 9 ( q n x 4 x 大约为1 2 k b ) 而且运行速度极快。这个灵活的结构可以使用户根据实际 的需求将系统配置成微小的嵌入式操作系统或是包括几百个处理器的超级虚拟机操作系 统。 p a l m 0 s : 3 c o m 公司的p a l mo s 在p d a 市场上占有很大的市场份额,它有开放的操作系统应用 程序接口( a p i ) ,开发商可以根据需要自行开发所需要的应用程序。目前已经有总共3 5 0 0 多个应用程序可以运行在p a l mp i l o t 上,其中大部分应用程序均为其他厂商和个人所开发, 使得p a l mp i l o t 的功能得以不断增多。这些软件包括计算器、各种游戏机、电子宠物、地 理信息等等。在开发环境方面,可以在w i n d o w s9 5 9 8 ,w i n d o w sn t 以及m a c i n t o s h 下安 装p a l mp i l o td e s k t o p ;p l a m p i l o t 可以与流行的p c 平台上的应用程序如w o r d ,e x c e l 等进 行数据交换。 o s - 9 : m i c r o w a v e 的o s 9 是为微处理器的关键实时任务而设计的操作系统,广泛应用于高 科技产品中,包括消费电子产品,工业自动化,无线通讯产品,医疗仪器,数字电视多媒 体设备中。它提供了很好的安全性和容错性。与其他的嵌入式系统相比,它的灵活性和可 升级性非常突出。 l y n x o s l y n xr e a l - t i m es y s t e m s 的l y n x o s 是一个分布式、嵌入式、可规模扩展的实时操作系 统,它遵循p o s i x i a 、p o s i x 1 b 和p o s i x 1 c 标准。l y n x o s 支持线程概念,提供2 5 6 个 全局用户线程优先级;提供一些传统的,非实时系统的服务特征;包括基于调用需求的虚 拟内存,一个基于m o t i f 的用户图形界面,与工业标准兼容的网络系统以及应用开发工具。 l i n u x : l i n u x 是一套以u n i x 为基础发展而成的操作系统。自1 9 9 1 年诞生至今,l i n u x 在很 多方面已经赶上甚至超过了很多商用的u n i x 系统。它充分利用了x 8 6 c p u 的任务切换机 制,实现了真正的多任务、多用户环境。l i n u x 对硬件配置的要求相当低,能够在4 m 内 存的3 8 6 机器上很好的运行,而且可以支持很多种处理器芯片。此外更为重要的是。很多 高手愿意在l i n u x 上开发程序,而且有很多高手随时对l i n u x 的开放内核进行升级和修补, 很多b u g 可以很快得到检测和修复。 在应用于嵌入式系统方面,l i n u x 小得可以放在一张软盘上运行:为实时系统而开发 的变种r tl i n u x ( r e a l t i m el i n u x ) ,可以让l i n u x 支持硬实时任务;l i n u x 的开放式开 发原则使得l i n u x 下的驱动和升级变得越来越多和越来越快。 1 1 3 嵌入式系统的应用 嵌入式系统是面向用户、面向产品、面向应用的,如果独立于应用自行发展,则会失 去市场。 第4 页 垦堕塾耋堡垄叁耋堑塞尘堕耋丝篁錾 一:一 目前出现的嵌入式产品主要有如下几类: l 、信息电器( 家电) 后p c 时代,计算机将无处不在,家用电器将向数字化和网络化发展,都将嵌入计算 机并通过家庭控制中心与i n t e m e t 连接,转变为智能网络家电。届时,人们在远程用手机 等就可以控制家里的电器,还可以实现远程医疗、远程教育等。 2 、移动计算设备 包括手机、p d a 、掌上电脑等各种移动设备。 3 、网络设备 包括路由器、交换机、w e bs e r v e r 、网络接入盒等各种网络设备。l i n u x 的网络设备价 格低廉,将为企业提供更为廉价的网络方案。 4 、工控仿真 1 2 嵌入式通信平台的总体设计 1 2 i 嵌入式系统开发步骤 根据当今流行的嵌入式系统开发模式,可以将嵌入式系统开发大致分成4 个步骤。第 一步是设计硬件系统,c p u 一般采用p o w e r p c 、i n t e l 系统列芯片或者d s p 芯片。例如摩 托罗拉生产的m p c 8 x x 和m p c 8 2 x x 系列芯片属于p o w e r p c 结构,使用精简指令集( i u s c ) 。 嵌入式系统开发的第二步是装载或者引导嵌入式系统,第三步是在嵌入式系统上建立开发 平台,最后一步则是开发应用。 1 2 2 嵌入式通信平台的微处理器的选择 微处理器是计算机系统的核心,微处理器进行计算或者逻辑操作,并且管理来自内存 的指令并执行它。在计算机的早期时代微处理器的功能部件使用的是分立元件( 外型很 大) ,这就是中央处理单元这一名词的由来。现代微处理嚣将部件结合到小型硅片上的集 成电路中。 嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4 个特点: 1 、实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而 使内部的代码和实时内核心的执行时间减少到最低限度。 2 、具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而 为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能, 同时也有利于软件诊断。 3 、可扩展的处理器结构,以能最迅速地开发出满足应用的最高性能的嵌入式微处理 器。 第5 页 垦堕墼堂垄垄套耄堡蜜篓堡堂丝鲨塞 4 、嵌入式微处理器必须功耗很低,尤其是用于便携式的无线移动的计算机和通信设 备中,靠电池供电的嵌入式系统更是如此,如需要功耗只有m w 甚至斗w 级。 m p c 9 5 0 微处理器是一个多用途的通用芯片,它内部集成了微处理器和常用外围组件, 可用于各种控制领域。它是m p c 8 6 0 应用于通信系统的低成本实现,提供的了更高的信价 比,并在通信方面有所增强,比如对通用串行总线( u s b ) 的支持。m p c 8 5 0 集成了嵌入 式f o w e r p c 内核和一个为通信使用的专r 1 的r i s c 的通信处理器模块( c p m ) 。m p c 8 5 0 的 c p m 支持6 个串行通道:个串行通信控制器( s c c ) ,个通用串行总线通道( u s b ) , 两个串行管理控制器( s m s ) ,一个1 2 c ( i n t e r - i n t e g r a t e dc i r c u i t ) 接口和一个串行舛圉接 口电路( s p i ) 。由于c p m 分担了嵌入式p o w e r p c 核的外围工作任务,这种双处理器体系 结构比传统体系结构的处理器具有更高的效率。 1 2 3 嵌入式通信平台的总体结构 b r o a d c o m 主板介绍 b r o a d c o m 主板是我们课题组自行开发的基于m p c 8 5 0 的多功能通信硬件平台。其基 本配置如下: c p u :罂8 翌墅星毯2 螋,频率可谓; 快闪存储:在板4 m bf l a s h r o m ,使用c s 0 ; 内存:在板3 2 m bs d r a m ,使用c s i ; 预留c s 2 与可选择内存相连: e e p r o m :a t 2 4 c 0 2 ,使用1 2 c 接口; e 也e m e t 端口:2 个1 0 b a s e - t 以太网端口,使用s c c 2 。s c c 3 ; 串行端口:2 个r s 2 3 2 端口,提供e s d 保护,使用s m c i ,s m c 2 ; r s 4 8 5 端口:一个,使用s m c 2 ; u s b 端口:1 个u s b 端口支持1 2 m b p s 全速和1 , s m b p s 低速模式: s p i 接口:一个; 1 2 c 接口:一个,和a t 2 4 c 0 2 相连; 预留实验板端口:提供1 个i s d n 和2 个a t m 端口。可根据具体应用和实验开发板 相连; 硬复位中断按钮,预留7 根乡卜部中断请求线: 预留可编程i ,o 接口; b d m 调试口: 供电电压:+ 5 v 其中有些通信端口在c p u 的管脚上是复用的,使用时通过软件进行协议设置并需要跳 线区别。 1 3 本文的研究工作与内容结构 出于嵌入式l i n u x 操作系统资源少等特点使得其有独特的软件开发方法,这就需要构 建适合于嵌入式l i n u x 系统的软件开发环境。有了软件开发环境以后就可以在此基础上开 发所需的设备驱动及一些应用程序。 设备驱动程序提供连接系统的硬件与软件接口,这样用户应用程序就可以以一种规范 的方式访问硬件,丽不必考虑必须如何控制硬件。嵌入式l i n u x 下的设备驱动的设计和编 写与其它操作系统下的设备驱动有一些不同。l i n u x 支持三类硬件设备:字符设备、块设 备及网络接口。针对三种不同类型的硬件设备,有不同的编写驱动程序的方法。 嵌入式系统驱动程序的设计要求开发人员对嵌入式系统的软、硬件基础有着较为深入 的理解,并且需要有较为丰富的编程经验。要求非常熟悉有关l i n u x 的知识、掌握l i n u x 内核的部分源代码:在熟练运用c 语言编程的基础上掌握l i n u x 下的c 语言的编程方法: 要求熟悉嵌入式系统的软件开发方法,特别是软件的调试技术:要求了解相关的硬件知识: 要掌握l i n u x 下的驱动程序的编写方法。 本文研究了嵌入式系统的概念、原理及软件开发的方法,重点研究了l i n u x 下的设备 驱动程序的设计方法与设计思想,具体设计、实现了基于嵌入式m p c 8 5 0 的通信平台上的 1 2 c 接口驱动,设计、实现了以太网接口的驱动。 本文共分为五章,绪论阐述了嵌入系统的概念、应用以及我们开发的嵌入式通信平台 的总体结构。第二章较为详细地讲述了嵌入式系统软件的开发环境的构建与软件开发的方 法。第三章进入本文的重点内容,讲述l i n u x 下设备的分类、各类型设备驱动程序的一般 编写原理与方法。第四章在前章的理论基础上设计与实现了一种嵌入式l i n u x 下的字符设 备的驱动:嵌入式通信平台上的1 2 c 接口的驱动。第五章设计与实现一种嵌入式l i n u x 下 的网络设备驱动程序:嵌入式通信平台上的以太网口的驱动程序的方法。 第7 页 第二章嵌入式系统软件开发环境的构造 嵌入式软件的应用与开发是当今计算机软件发展的一个热点,随着计算机应用的普 及、互联网技术的发展。全过程自动化产品制造、大范围电子商务活动、高度协同科学实 验以及数字化家庭的兴起,为嵌入式软件产品创造了巨大的商业机会。以信息家电为代 表的互联网时代嵌入式产品,不仅为嵌入式市场描绘了美好前景,但同时对嵌入式软件开 发提出了新的挑战。 开发嵌入式系统软件需要一个高度集成化的嵌入式软件开发环境,为开发人员提供软 件编辑、编译、连接、调试以及工程管理、文件管理、图形操作界面等功能的一个综合开 发环境,这样就需要我们选择构造一个合适的软件开发环境。构造一个嵌入式软件开发环 境首先要选择一个操作系统。通过比较我们发现嵌入式l i n u x 操作系统比较适合我们的需 求。 2 1l i n u x 操作系统 任何计算机系统都包含一个基本的程序集合,称为操作系统。操作系统必须完成两个 主要的目标: 与硬件部分相互作用,为所有包含在硬件平台上的低层可编程部件提供服务。 为运行在计算机系统上的应用程序( 即所谓用户程序) 提供一个执行环境。 2 1 1l i n u x 的历史和现状 l i n u x 是一种在网络上产生的操作系统,他的产生来自于一名芬兰学生l i n u st o r v a l d s 的业余爱好。在网络上l i n u x 的开发成为一些高手热衷的项目,使得l i n t l x 在短期内就成 为了一个稳定、成熟的操作系统。重要的是,l i n u x 的开发都是在g p l ( g n up u b l i cl i c e n s e ) 的版本控制之下,因此l i n u x 内核的所有源代码都是采取开放源代码的方式。 l i n u x 内核的开发是由l i n u st o r v a l d s 领导的内核开发小组进行开发的。世界各地的高 手们将自己对l i n u x 内核需要做的改动交给l i n u s 小组,由这个小组进行统一控制,随时 对内核进行更新升级。目前在他们的公共站点h n p :嘲矾k e r n e l 0 彬上几乎每三天进行一次 内核的升级。 当然,最重要的是l i n u x 不是某个公司的私有财产,它是一个开放的软件,是免费和 源代码公开的。l i n u x 在这几年不断成熟,越来越多的人加入了l i n u x 的行列,以前l i n u x 只是一群黑客的玩具和专家的实验用操作系统,而现在即使是电脑的普通用户也在用 l i n u x 。为l i n u x 提供服务的公司也开始出现,为客户提供专业化的技术支持,但实际上不 用花钱也可以通过i n t c r n c t 新闻组得到强大的l i n u x 技术支持和帮助。l i n u x 有一个庞大的 支持者群体。其中许多人都编写驱动程序和其它的更新程序,并且免费的通过i n t e r n e t 网 络进行分发。这意味着对新硬件的l i n u x 驱动程序甚至比用于其它的u n i x 系统,如s o l a r i s 的驱动程序还来得及时。l i n u x 的庞大的志愿者网络在生产“补丁”程序方面反应很快。 如,当p e n t i u mi i 的b u g ( 9 7 年p e n t i u mi i 处理器的微指令发现设计问题) 被发现以后, l i n u x 就是最早提供解决这个问题的方案的操作系统。如果一个l i n u x 应用程序流行起来, 用户一般都可以通过l i n u x 新闻组得到很好的支持,有许多u s e n e t 新闻组可供l i n u x 用户 寻求帮助。对一般l i n u x 问题的回答时间可同一些厂商的e - m a i l 支持( 甚至是电话支持) 相比。对l i n u x 的支持绝大部分是通过用户团体在u s e n e t 新闻组上提供的,这上面广泛收 集有大量的f a q ,其内容包括l i n u x 安装、配置和故障定位的方方面面。在u s e n e t 上提供 的许多这方面的材料现在已经被一些出版商如w a l n u sc r e e k 等公开出版了。所有的这些, 都是现有其它的嵌入式操作系统所无法比拟的。 2 1 。2l i n u x 的内核期分 内核是一整块可执行代码,用它来负责处理所有的请求。尽管在不同的内核任务之间 的区另i j 不是总能清楚地标识出来,内核的作用还是可 2 盂被划分的。如图2 - i 示划分为如下 这些部分: 进程管理内核负责创建和终止进程,并且处理它们和外部世界的联系( 输入和输出) 。 对整个系统功能来讲,不同进程之间的通信( 通过信号、管道、进程间通信) 是基本的,这 也是由内核来处理的。广义地说进程管理活动实现了在一个c p u 上多个进程的抽象概念。 内存管理计算机内存是主要资源,而使用内存的策略是影响整个系统性能的关键。 内核为每个进程在有限可利用的资源上建立了虚拟地址空阀。内核不同部分通过一组飚数 与内存管理子系统交互。 文件系统l i n u x 系统是建立在文件系统这个概念上的,l i n u x 里几乎所有东西都可以 看作文件。内核在非结构的硬件上建立了结构化的文件系统,这个抽象的文件被系统广泛 应用。另外,l i n u x 支持多文件系统类型,即物理介质上对数据的不同组织方法。 设备控制几乎每种系统操作最后都要映射到物理设备上。除了处理器、内存和少数 其他实体外,几乎所有设备的控制操作都由设备相关的代码来实现,这些代码就是设备驱 动程序。内核必须为每个外部设备嵌入设备驱动程序,从硬盘驱动器誉键盘和磁带等。内 核的这方面功能就是本论文的着眼点。 网络网络必须由操作系统来管理,由于大多数网络操作不是针对于进程的:接收数 据包是异步事件。数据包必须在进程处理它们以前就被收集、确认和分发。系统通过程序 和网络接口发送数据包,并且应该可以正确地让程序睡眠,并唤醒等待网络数据的进程。 另外,所有路由和地址解析问题都是在内核里实现的。 第9 页 图2 - 1 内核划分视图 2 2 嵌入式l i n u x 操作系统 2 2 1 嵌入式l i n u x 的组成及设计步骤 嵌入式l i n u x 是将日益流行的l i n u x 操作系统进行裁剪、修改,使之能在嵌入式计算 机系统上运行的一种操作系统。嵌入式l i n u x 既继承了i n t e r n e t 上无限的开放源代码资源, 又具有嵌入式操作系统的特性。 - + 4 、型的嵌入式l i n u x 系统只需要三个基本元素,即引导工具、l i n u x 微内核( 包含 内存管理、进程管理及事务处理) 、初始化进程。倘若要增加该系统的功能并同时保持系统 的小型化,可为嵌入式l i n u x 系统添加相应的硬件驱动程序、应用程序。如果此后仍要加 强系统的功能,可添加文件系统、t c p i p 网络堆栈、磁盘等。最后有的嵌入式系统还能够 提供图形用户界面支持。 嵌入式l i n u x 操作系统实现的基本步骤如下: 1 、新编译l i n u x 内核,去除不需要的模块; 2 、写用于将系统启动代码读入内存的b o o tl o a d e r ,并制作b o o t r o m 以将嵌入式 l i n u x 装入内存中: 3 、重新编写以太网和串,并口等驱动程序; 4 、添加必要的嵌入式l i n u x 应用程序。 压缩制作嵌入式l i n u x 系统:有人认为l i n u x 操作系统通常很大,不适合于构造嵌入 式系统,事实并非如此。因为典型发行的l i n u x 集成了很多桌面p c 机需要而嵌入式系统 并不需要的功能。首先,我们可以把核心( k e r n e l ) 从其他任务中分离出来。标准的l i n u x 核心总是贮留在内存中,当需要应用程序时,它把需要的程序从磁盘调入内存运行。程序 运行完毕,内存清空,卸载程序。在嵌入式系统中,经常没有磁盘,目前有两种办法来处 理没有磁盘的情况:对于比较简单的系统,核心( k e m e ! ) 和应用程序同时贮留在内存, 当系统启动时,就启动应用程序。l i n u x 系统支持这种方式。第二种方式是。考虑到l i n u x 有l o a d ( 装载) 和u n l o a d ( 卸载) 程序的能力,嵌入式系统也可以使用这一特点,来节 约内存。例如有一个典型的嵌入式系统包括8 到1 6 m 的f l a s h m e m o r y 和8 到1 6 m 的 r a m ,可以在f l a s hm e m o r y 上建立文件系统,使用f l a s h 的驱动程序来驱动f l a s hm e m o r y 上文件系统工作。另外,也可以使用f l a s hd i d s k ,其中有一个例子是m - - s y s t e m 的 d i s k o n c h i p ,它可以支持达1 6 0m 的f l a s hd i s k 。把使用的应用程序文件存放在f l a s h 文 件系统上,根据需要调入程序。这种动态装入方法有很多优点: 1 、因为在l i n u x 中有一些应用程序只是在初始化时使用一次,然后就没有用处了, 另外它们运行方式是一个接一个顺序进行的,可以允许初始化程序的代码在使用完毕后 被废弃,不必永远存放在内存,因此相同内存可以运行不同的程序,这样就大大节省了内 存。 2 、软件更新比较容易;可以在系统运行的情况下更新应用程序和驱动程序。 2 。2 2 l i n u x 作为一个嵌入式操作系统具有的优点 1 、系统稳定、功能强大、支持多种硬件平台、应用软件多、简单易用 l i n u x 在许多方面与u n i x 类似,但是它是一个完全独立的操作系统,它可以非常稳 定地运行在许多种体系结构的处理器上。最新的l i n u x 内核支持i n t e lx 8 6 、m o t o r o l a i b m p o w e r p c 、c o m p a q ( d e c ) a l p h a 、i a6 4 、s 3 9 0 、s u p e r h 等微处理器体系结构,这种操作系 统的广适性可见一斑。 l i n u x 又可以说是一个很小的系统。用来启动只需要小到5 0 0 k 字节不到的目标代码。 完全可以把l i n u x 内核和r o o t 文件系统放在一张软盘上,启动一台硬件条件最小的机器。 也可以利用l i n u x 实现从网络启动,实现网络无盘图形工作站。 l i n u x 的系统界面、编程接口和传统的u n i x 类似,大量在u n i x 下的程序员可以很 方便的从u n i x 环境转移到l i n u x 环境下来。而不像从u n i x 环境转移到w i n d o w s 开发环 境那样复杂。 在l i n u x 平台上的应用软件也不断得到扩充。许多著名的商业软件都有了l i n u x 下的 版本:a p p l i x 公司和s t a r 公司提供了多种字处理、屯子表格、图形处理的应用软件;c o r e l 第1 i 页 垦堕塾堂垫垄奎耋墼壅尘堕堂堡篁塞:一:= = := = = = = = = 一 w o r d p e r f e c t8 、a d a b a sd 和o r a c l e8 数据库、n e t s c a p en a v i g a t o r6 , 0 网络浏览器、a p a c h e 1 3 1 2 网络服务器、a d o b ea c r o b a tr e a d e r4 0 等等l i n u x 下的应用程序都已经纷纷推出。 l i n u x 将来不再是高手的领域,这种操作系统将来也必然走进千家万户,成为w i n d o w s 强 而有力的竞争者。 在网络服务器市场上,近几年商用u n i x 系统在往大而复杂的方向发展,使得u n i x 的复杂性不断增加,管理整个u n i x 系统也就变得越来越复杂。l i n u x 简单易用,系统管 理也比较容易上手,从而成为在服务器高端的一个重要选择,并且有不断上升的趋势,大 有取代昂贵、复杂的商用u n i x 的趋势。 2 、使用成本低 几乎所有的商业用操作系统如m i c r o s o f t 公司的w i n d o w s 9 8 n ts e r v e r n tw o r k s t a t i o n 系列,都需要为每一个拷贝支付相当数量的费用,并且在其下的应用软件每一个都需要大 量的支出来获得。商用操作系统下建立一个开发工具链,除了要为操作系统本身付费之外, 还要为组成工具链的应用软件工具包支付大量的费用。但是l i n u x 是免费软件,只要遵守 g p l ( g n ug e n e r a lp u b l i cl i c e n s e ) 的规定,就可以免费获得拷贝。l i n u x 下有同样遵循 g p l 规定的c 、c 十+ 、j a v a 等等一系列的软件工具开发包,从功能角度上看并不亚于商用 开发包,同时可以极大的降低开发成本。这点优势是其他商用操作系统无法比拟的。 3 、文档完善 l i n u x 有非常多的文档支持,从为初学者准备的各种教程到非常详细的联机帮助文档。 l i n u x 是互联网充分发展的产物,许多关于l i n u x 的文档都可以在i n t e r n e t 上找到和下载。 l i n u xd o c u m e n t a r o j e c t 是为l i n u x 提供系统化的文档支持的项目,在世界上许多程序员和 用户的帮助下,它已经收集了非常详细的系统文档和使用文档。而且,各种关于l i n u x 的 书籍和杂志正如雨后春笋般地出现,大量的英文资料也正在翻译成中文,方便中文使用者。 4 、强大的网络功能 l i n u x 操作系统最突出的是网络部分,基本上所有的网络协议和网络接口都可以在 l i n u x 上找到,l i n u x 内核比标准的u n i x 更加高效地处理网络协议,系统的网络吞吐性能 非常好,这也是为什么l i n u x 在网络服务器市场上占据越来越大市场份额的一个原因。 5 、支持x w i n d o w s 系统 x w i n d o w s 是一个在大多数u n i x 工作站上使用的图形用户界面,它是一种与平台无 关的客户h a 务器( c l i e n t s e r v e r ) 模型,可以让用户在一台机器上调用另一台机器的x w i n d o w s 库,打开另一台机器上的窗口,而并不需要考虑这两台机器自己本身的操作系统 类型。正是这种特性使得u n i x 和l i n u x 系统上的用户和应用程序非常自然地通过网络连 接在一起。 6 、l i n u x 内核提供对多种处理器的支持 l i n u x 内核提供对多种处理器的支持,并且正在进一步增加对嵌入式微处理器的支持。 l i n u x 目前的内核支持i n t e lx 8 6 、m o t o r o l a i b mp o w e r p c 、c o m p a q ( d e c ) a l p h a 、i a6 4 、s 3 9 0 、 s u p e r h 等处理器体系结构。 第1 2 页 2 2 。3 嵌入式l i n u x 的应用 嵌入式l i n u x 有巨大的市场前景和商业机会。出现了大量的专业公司和产品,如 m o n t a v i s t a l i n e oe m i 等,有行业协会如e m b e d d e dl i n u xc o n s o r t u m 等得到世界著名计算机 公司和o e m 板级厂商的支持。例如i b m m o t o r o l ai n t e l 等传统的嵌入式系统厂商也采用了 l i n u x 策略,如l y n x w o r k s w i n d r i v e rq n x 等。还有i n t e m e t 上的大量嵌入式l i n u x 爱好者 的支持,嵌入式l i n u x 支持几乎所有的嵌入式c p u 和被移植到几乎所有的嵌入式o e m 板。 l i n u x 的应用领域非常广泛,主要的应用领域有信息家电、p d a 、机顶盒、d i g i t a l t e l e p h o n e a n s w e r i n gm a c h i n e 、s c r e e np h o n e 、数据网络、e t h e m e t s w i t c h e sr o u t e r b r i d g eh u b 、 r e m o t ea c c e s ss e r v e r s 、a t mf r a m er e l a y 、远程通信、医疗、电子交通运输、计算机外设、 工业控制、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论