




已阅读5页,还剩91页未读, 继续免费阅读
(检测技术与自动化装置专业论文)嵌入式系统在海事记录仪中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 海事记录仪,即船载航行数据记录仪( v o y a g ed a t ar e c o r d e r 缩写v d r ) 俗称船用黑匣子,是一种可以保存大量有关事故前、后船舶 位置、运动、物理状态、命令和控制信息的设备。功能上类似飞行器黑 匣子。其中,数据保护容器( 即p r o t e c t i v ed a t ac a p s u l e ) 简称p d c ,里 面存放的是v d r 的最终记录介质。v d r 前端主记录控制单元将采集到 的各种航行记录信息存储到v d r 本地硬盘上的同时,还通过网络将这 些信息传送到p d c 中的最终记录介质中去。当船舶发生事故时,只需 要找到该数据保护容器就可以获得事故发生前的相关信息。 p d c 系统即为本论文的研究对象。本文首先介绍了课题研究的背景 和意义,并根据p d c 的功能要求提出了解决其数据传输以及人机界面 交换的方案。本论文在硬件上采用s a m s u n g 公司的a r m 9 系列的 $ 3 c 2 4 1 0 处理器为核心器件的硬件平台,并在硬件系统中移植了2 6 1 6 版本的l i n u x 内核。 本论文主要解决的是p d c 的关键软件技术。详细描述了嵌入式 l i n u x 开发流程以及软件环境建立。同时为实现p d c 数据的实时传输、 存储,根据p d c 的硬件电路接口,编写了网卡以及c f 卡驱动程序,以 实现硬件接口与内核以及应用程序之间的连接:并在应用层面上,移植 并配置了基于实际应用的f t p 服务器以及w e b 服务器,使得用户可以 通过i e 浏览器来根据具体需求建立、删除具有不同权限的f t p 登陆用 户。 关键字:嵌入式系统;l i n u x ;a 刚9 ;f t p ;w e b a b s t r a c t t h ea p p l i c a t i o nr e s e a r c ho fe m b e d d e ds y s t e mi nv o y a g ed a t a r e c o r d e r a b s t r a c t v o y a g ed a t ar e c o r d e r , w i t h t h es h o r to fv d r ,c a l l e da sb l a c kb o xu s e d i nv o y a g e i t sad e v i c et h a tc a nb eu s e dt os a v ep l e n t yo fi n f o r m a t i o na b o u t t h ev o y a g el o c a t i o n ,o p e r a t i n gs t a t e 、p h y s i c a ls t a t e 、o r d e ra n dc o n t r o lb e f o r e a n da f t e ra c c i d e n t i t ss i m i l a rt oa i r c r a f ti nt h ev i e wo ff u n c t i o n a m o n gi t , p r o t e c t i v ed a t ac a p s u l e ,i ns h o r to fp d c ,s a v e st h ef i n a lr e c o r dm e d i a i t s u s e dt h a tp r i m a r yr e c o r d e rc o n t r o lu n i ti nt h ef r o n to fv d rt os a v ea l lk i n d s o fv o y a g er e c o r d e ri n f o r m a t i o nc o l l e c t e dt ov d rl o c a lh a r dd i s ka n db e t r a n s f e r r e di n t ot h eu t t e rr e c o r d e rm e d i ai nt h en e t w o r ka tt h es a m et i m e w h e naa c c i d e n t h a p p e n s ,t h ei n f o r m a t i o n b e f o r ea c c i d e n tc a nb e g o a e n ,o n l yi nn e e do ff i n d i n go u tt h ep d c p d cs y s t e mi st h er e s e a r c ho b je c ti nm yp a p e r t h ep a p e ri n t r o d u c e s t h eb a c k g r o u n da n dm e a n i n gi ni s s u e sr e s e a r c hf i r s ta n dp u t sf o r w a r dt h e s o l u t i o nt oi t sd a t at r a n s m i s s i o na n dm a n m a c h i n ei n t e r f a c ee x c h a n g ei n t e r m so fp d c i ta d o p t st h e $ 3 c 2 410p r o c e s s o r , a r m 9s e r i e so fs a m s u n gc o r p o r a t i o n ,a st h ec o r ed e v i c eo fh a r d w a r ep l a t f o r m ,t r a n s p l a n t st h e 2 6 16v e r s i o no fl i n u xk e r n e li nh a r d w a r es y s t e m t h ep r i m a r yt a s ki nt h ep a p e ri st h es o f t w a r ek e yt e c h n o l o g yo fp d c i t d e s p i c t si nd e t a i le m b e d d e dl i n u xd e v e l o pp r o c e s sa n dt h ec o n s t r u c t i o no f s o f t w a r ee n v i r o n m e n t i tp r o g r a m st h ed r i v e rp r o g r a mo fn e td e v i c ea n dc f c a r dt or e a l i z et h el i n ka m o n gh a r d w a r ei n t e r f a c e 、k e r n e la n da p p l i c a t i o na n d t r a n s p l a n t sa n dc o n f i g u r a t i o nf t ps e r v e r sa n dw e bs e r v e r sb a s e do nt h e r e a la p p l i c a t i o ni nt h el e v e lo fa p p l i c a t i o n ,w h i c hm a k ec u s t o m e r sa b l et o e s t a b l i s h d e l e t ef t pl a n d i n gc u s t o m e r sw i t hv a r i o u sw e i g h ti nt e r m so f 3 武汉工程大学硕士学位论文 s p e c i f i cr e q u e s t sb yi eb r o w s e r k e y w o r d s :e m b e d d e ds y s t e m ;l i n u x ;a r m 9 ;f t p ;w e b 4 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外, 本论文不包含任何其他个人或集体己经发表或撰写过的研究成果。对 本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:序压 渺7 年占月歹日 学位论文版权使用授权书 本学位论文作者完全了解我院有关保留、使用学位论文的规定, 即:我院有权保留并向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅。本人授权武汉工程大学研究生处可以将本学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩 印或扫描等复制手段保存和汇编本学位论文。 保密o , 在 1年解密后适用本授权书。 本论文属于 不保密o 。 ( 请在以上方框内打“4 ) 学位论文作者签名: 崩、厥 沙7 年5 月,日 指导教师签名:孑差雾彳 严月口5 ,日 | 第l 章绪论 1 1 海事记录仪概述 第1 章绪论 海事记录仪,即船载航行数据记录仪( v o y a g ed a t ar e c o r d e r 缩写v d r ) ,俗称船用黑匣子,功能上类似于飞机上的黑匣子,是一种 可以保存大量有关事故前、后船舶位置、运动、物理状态、命令和控制 信息的设备。它能固化船舶固定数据,详细记录如罗经、雷达数据、驾 驶室声音、发动机、风力计等状态信息和操作信息,在航行事故发生时 准确记录动态及静态数据,以供事故原因分析,同时还具备自检及出错 报警功能,无需专人负责检查工作状态。 船舶v d r 的研制和开发具有重要意义: ( 1 ) 有助于获得可靠、正确的有关事故原因和细节方面的信息,重 建事故原因链,通过确定事故的真实原因来避免同类事故的再次发生, 增强航海交通的安全; ( 2 ) 记录仪可长久地保存记录船舶航行数据,对准确记载船舶事故 发生时的航向、航速、位置、相对距离等船舶航行动态数据有着重要的 作用,对船东、海事管理和仲裁部门都大有裨益,当船舶发生事故时, 记录仪中保存的数据在分析事故时会起到不可替代的重要作用; ( 3 ) v d r 能帮助对船员的培训,从而保障船舶的安全,保护环境n ,。 按照i e c 6 1 9 9 6 性能标准要求,v d r 应连续保持关于设备状态、输出量及 船舶指令指令和操作的预先选定指标信息的完整记录。v d r 需以色泽鲜 明的保护性材料包装,并按照相关设施以便于搜寻。v d r 需能够自动运 行,至少保持1 2 小时的数据记录。 v d r 记录的项目应包括:日期、时间、船位、航速、航向、驾驶台 声音、声音、雷达图像数据、探测仪、主报警器、操舵命令和响应、船 体开口状况、水密门和防火门状态、加速度、船体应力、风向及风速 2 f 3 ,。 船舶黑匣子的起步是9 0 年代,9 0 年代初期我国就出现了一批要求 能记录包括视频信号、音频信号在内的船舶数据记录的论文,这与国际 武汉工程大学硕士学位论文 海事组织同类决议要早多年,由于种种原因没能进一步研究,也就没能 取得具体的成果而搁置。由于船用黑匣子与飞机黑匣子的功能作用完全 相同,就沿用知名度较高的“黑匣子 这个名称,学名是航行数据记 录仪,与飞机黑匣子相比,已跳过飞机黑匣子早期的金属箔划痕、磁性 物质等记录方式,直接进入采用了以芯片为记录介质的数字式固态记录 器的时代,符合船舶黑匣子记录量大,记录准确度要求高的记录特点。 反过来说,正是有了这种成熟的记录技术,船用黑匣子才会应用与发展。 1 2 研究背景 近年来,航行事故频繁发生,引发人们加强了对航海安全的关注。 早期的航行状态记录,主要是海员手记的靠航海日志记录和车钟记录, 然而,这些数据不仅会存在对航海状态信息的遗漏和误记等各种弊端, 而且已经远远不能满足准确分析船舶事故的要求。国际海事组织( i m o ) 规则a 8 6 1 ( 2 0 ) ,i e c 6 1 9 9 6 规定:2 0 0 2 年7 月1 日之前建造的2 0 ,0 0 0 总吨及以上的货船,必须于2 0 0 9 年7 月1 日前安装航行数据记录仪; 2 0 0 2 年7 月1 日之前建造的3 0 0 0 总吨及以上,但小于2 0 ,0 0 0 吨的货 船,必须于2 0 1 0 年7 月1 日前安装h r 1 。 早在8 0 年代,国际上和我国船舶研究部门就进行了船舶数据记录 的研究工作并生产了车钟自动记录仪的样机,由于记录介质不理想,没 有达到实际意义上的进展。 但是由于近年来科学技术的不断发展,特别是网络技术和数字记录 技术的飞速发展,很好的解决了传统记录介质不理想的难点,极大的推 进了v d r 的研究发展。目前国际上已有很多厂商研制并生产v d r 产品, 国内也已有多个厂商开发出符合国际海事组织执行标准m s c l 6 3 ( 7 8 ) 的 要求核准的v d r 设备。虽然国内外各个v d r 生产厂商在系统设计、功 能实现上略有不同,但大都在硬件上采用嵌入式控制平台( 包括现成的 工控机或者专用的v d r 主机系统) ,在软件上则选用比较成熟的操作系 统,方便系统数据采集、传输的实现以及功能扩展。此外,几乎所有的 v d r 设备都采用以太网协议来实现整个v d r 系统内部的数据传输。本 第1 章绪论 论文参与设计开发的某型船用黑匣子就是基于以上特点的嵌入式系统 设备,具有功耗低、体积小、性价比高等特点。 1 3 嵌入式系统概述 目前一般来说,嵌入式系统是计算机软件与硬件的综合体,它是以 应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统, 对功能、可靠行、成本、体积、功耗等方面有特殊要求的专用计算机系 统。嵌入式系统与通用计算机系统的本质区别在于系统应用不同,嵌入 式系统是将一个计算机系统嵌入到对象系统中。这个对象可能是庞大的 机器,也可能是小巧的手持设备,用户并不关心这个计算机系统的存在。 嵌入式系统一般包含嵌入式微处理器,外围硬件设备、嵌入式操作系统 和应用程序4 个部分。 随着半导体技术、数字信息技术以及网络技术的不断高速发展,近 年来嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、商 业文化艺术、娱乐业以及人们的日常生活等各个领域,并发挥着重大的 作用。随着国内外嵌入式产品的进一步开发和推广,嵌入式技术已经越 来越和人们的生活紧密结合。 到如今,嵌入式系统除了在传统的工业控制、电信设施继续发挥它 巨大的作用外,它还在家用电器、医疗保健设备、数码相机、多媒体播 放设备、手机、p d a 等各个领域扮演着越来越重要的角色跚1 1 。可以说, 嵌入式系统无处不在。 1 4 本文研究目的与内容 海事记录仪v d r 是一套综合性功能设备,由多个系统部件组成, 包括主记录控制单元、电源箱、报警处理单元、麦克风组、音频采集单 元、视频采集单元、数据保护容器等组成2 r 阻4 】。 其中,数据保护容器( 即p r o t e c t i v ed a t ac a p s u l e ) 简称p d c ,通常 分为上浮式和下沉式两种,里面存放的是v d r 的最终记录介质。v d r 武汉工程大学硕士学位论文 前端主记录控制单元将采集到的各种航行记录信息存储到v d r 本地硬 盘上的同时,还通过网络将这些信息传送到p d c 中的最终记录介质中 去。p d c 系统中的最终记录介质保存最少1 2 小时的有效数据。在航行 事故发生后,只需要找到该数据保护容器就可以获得事故发生前的相关 信息。因此,p d c 是整个v d r 系统的一个非常重要的组成部分。 本课题的研究对象就是数据保护容器,即p d c 系统。这部分的技 术难点是在p d c 系统中搭建稳定的网络服务器,方便v d r 主机( 作为 一个客户端) 将采集到的机舱和驾驶室采集的图像、音频以及其他数据 文件,通过网络实时传输到p d c 中的最终记录介质中。p d c 系统的功 能框图如图l l 所示。 ) r 主机 p d c 音频采集 文件存储管理 视频采集 w c bs e r v e r 1 i - i t t p 协议、 w e b 浏览器 其他信息采集 、jy j k 理配置 1f t p 协议 卜、 f t p c l i m tf r os e r v 日 卜丁1 图1 - 1p d c 功能框图 本课题就是研究数据在嵌入式系统中的网络传输技术与应用,具体 研究内容如下: 1 将l i n u x 操作系统内核以及文件系统移植到以$ 3 c 2 4 1 0 处理器 为核心的硬件系统中; 2 根据具体的硬件电路编写相关的l i n u x 系统下的硬件设备驱动 程序,包括存储介质c f 卡以及网卡驱动; 3 在l i n u x 操作系统环境下构建f t p 服务器和w e b 服务器,实现 p d c 系统功能; 4 进行相关实验,得出相关结论。 第2 章p d c 系统的软硬件平台 第2 章p d c 系统的软硬件平台 任何一个嵌入式系统都是一个专用的计算机系统,其软硬件开发是 基于一个特定的硬件平台,为满足某些特定的功能开发应用程序。因此, 嵌入式系统开发首先会涉及到硬件平台的选择。硬件平台的选择要综合 系统成本、速度和稳定性等多方面的因素。而软件方面,除了要考虑应 用程序本身的开发设计以外,还要考虑嵌入式操作系统软件的选择。本 章节着重介绍本课题中的p d c 系统软硬件平台。 2 1p d c 系统的硬件平台 本课题的p d c 系统实际上是针对嵌入式网络的应用研究。在硬件 选型时最主要考虑的是选择何种m c u 以及网络设备控制器。 2 1 1 嵌入式微处理器的选择 在这里,主要介绍几种比较流行的嵌入式微处理器体系。 ( 1 ) a r m , a r m 既是一类处理器,同时也是一个公司的名字。 a r m 公司( a d v a n c e d s cm a c h i n e ) 是全球领先的16 3 2 位嵌入式r i s c 微处理器解决方案供应商。经过近年来的高速发展,a r m 已成为移动 通信、手持设备、多媒体数字嵌入式解决方案的r i s c 标准。早在2 0 0 1 年,a r m 公司的3 2 位r i s c 处理器市场占有率超过了7 5 。a r m 处 理器在同样的主频下具有三大特点:内核芯片面积最小、功耗最低、价 格最便宜。目前,全世界有几十家著名的半导体公司都使用a r m 公司 的授权,其中包括摩托罗拉、i b m 、i n t e l 、s a m s u n g 、a t m e l 、s o n y 、 n e c 等。 ( 2 ) p o w e r p c :p o w e r p c 是a p p l e 、i b m 和m o t o r o l a 三家公司在 p o w e r 体系结构的基础上,创造的一种新的功能更强、结构更整洁清 晰的r i s c 处理器。p o w e r p c 内核采用了超标量处理器设计和高速内存 武汉工程大学硕士学位论文 缓冲器,比传统处理器的指令处理效率高得多。p o w e r p c 处理器种类很 多,既有通用的处理器,又有嵌入式控制器的内核,应用非常广泛,从 高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通 信设备等各个方面。 ( 3 ) m i p s :m i p s 是m i c r o p r o c e s s o r w i t h o u ti n t e r l o c k e dp i p e ds t a g e s 的缩写( 不同于用来衡量处理器的计算性能的m i p s ,m e g a i n s t r u c t i o n s p e rs e c o n d ) ,是很流行的一种r i s c 处理器。m i p s 的意思是无内部互 锁流水级的微处理器,其机制是尽量利用软件方法来避免流水线中的数 据相关问题。m i p s 处理器以其高性能的处理能力被广泛应用于宽带接 入、路由器、调制解调设备、电视、游戏机、打印机、办公用品、d v d 播放等广泛的领域。 基于p d c 系统的设计目的在于工控领域以及网络信息领域,本处 选择了基于a r m 9 2 0 t ,带有m m u ( m e m o r ym a n a g e m e n tu n i t ) 功能 的嵌入式微处理器$ 3 c 2 4 1 0 x ,其良好的性价比完全满足p d c 的系统设 计要求n 5 】1 1 6 。 2 1 2 系统硬件组成 l e d 指示灯 k 1卜、 n a l l d f l a s h v 开关电源! , 叫 s d r a m ” nl 实时时钟电池l? s 3 c 2 4 1 0:“叫c f 卡接口 ny f 1 卜、止 叫网卡u a r t l、 ny i n v 豚统时钟、复位1h 、 ,qj 1 r a g 口 山璺鲁l 图2 - 1 系统硬件框图 本课题中,p d c 系统的硬件部分主要包括c p u 部分、n a n df l a s h 和s d r a m 、外设接口等。其中,c p u 采用三星公司的a r m 9 系列r i s c 处理器$ 3 c 2 4 10 x ;用n a n df l a s h 和s d r a m 构成系统的存储空间, 第2 章p d c 系统的软硬件平台 其中n a n df l a s h 作为系统的程序和数据存储器,s d r a m 作为系统的 内存;外设接口部分包括:r s 2 3 2 串口,j t a g 口,网卡r j 4 5 接口, c f 卡接口。p d c 系统的硬件结构框图如图2 1 所示。 2 2p d c 系统的软件开发平台 p d c 系统的软件开发无论从工作量,还是从工作难度等方面来说, 都是一个相对比较复杂繁琐的开发过程。 应用程序开发嵌入式系统应用级开发 i f 设备驱动程序 i f l i n u x 内核订制、移植、固化嵌入式系统o s 级开发 彳f b o o t l o a d e r 的引导实现 、r l 建立嵌入式l i n u x 系统开发环境嵌入式系统开发前期准备 图2 - 2 软件开发结构图 p d c 系统的软件开发可以根据开发流程分为如下三个步骤: ( 1 ) 嵌入式系统开发前期准备:该步骤主要是建立嵌入式l i n u x 系统的开发环境,是嵌入式系统开发的一个重要步骤。好的 开发环境的建立往往能为以后的开发工作带来事半功倍的效 果; ( 2 ) 嵌入式系统o s 级开发:该步骤属于板级开发,包括b o o t l o a d e r 的引导实现、内核定制编译调试、外部设备的驱动程序开发 及调试( 包括网卡驱动、c f 卡驱动程序) ; 武汉工程大学硕士学位论文 ( 3 ) 嵌入式应用开发:该步骤属于应用级开发,包括应用程序的 编写或移植开发调试等。在p d c 系统的开发中则表现为f t p 服务器、w e b 服务器的实现。 p d c 系统的软件结构如图2 - 2 所示。 2 2 1常见的几种嵌入式o s 的比较选择 从软件方面来说,嵌入式系统的核心部分就是它的操作系统。一个 嵌入式系统的操作系统的选择好坏直接决定了系统的开发周期长短以 及系统功能实现的难易程度。 目前,比较著名的嵌入式操作系统有以下几种: ( 1 ) u c o s :u c o s 是一个典型的实时操作系统。该系统从1 9 9 2 年开始发展,目前流行的是第2 个版本,即u c o s i i 。它的特点是:内 核公开源代码,代码结构清晰,注释详尽,组织有条理,可移植性好; 可裁剪,可固化;抢占内核,最多可以管理6 0 个任务。但是,严格地 说,u c o s 1 1 只是一个实时操作系统内核,它仅仅包含了任务调度、任 务管理、时间管理、内存管理和任务间通信和同步等基本功能,没有提 供输入输出管理、文件管理、网络等额外的服务。这些功能需要用户根 据具体需要自己实现。目前已经出现了一些基于u c o s i i 的商业版本的 扩展系统,包括文件系统u c f s 、图形系统u c g u i 、网络系统u c t c p i p 以及第三方提供的软件包。 ( 2 ) w i n d o w sc e :w i n d o w sc e ( 简称w i n c e ) 是微软的产品, 它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的 操作系统。w i n c e 采用模块花设计,并允许它对于从掌上电脑到专用的 工控电子设备进行定制。操作系统的基本内核需要至少2 0 0 k b 的r o m , 价格比较昂贵。 ( 3 ) v x w o r k s :v x w o r k s 是w i n d r i v e r 公司专门为实时嵌入式系 统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中 断管理,实时的系统资源以及实时的任务间通信。应用程序员可以将尽 可能多的精力放在应用程序本身,而不必再去关心系统资源的管理。该 第2 章p d c 系统的软硬件平台 系统主要应用在单板机、数据网络( 以太网交换机、路由器) 和通信方 面等多方面。其核心功能主要有:微内核w i n d 、任务间通信机制、网络 支持、文件系统和i o 管理、p o s i x 标准实时扩展和c + + 以及其他标准 支持。这些核心功能都可以与w i n d r i v e r 系统的其他附件和t o m a d o 合 作伙伴的产品结合在一起使用。该软件是一个非常优秀的实时操作系 统,其应用也比较广泛,市场占用率也较高,缺点是价格太过于昂贵。 ( 4 ) q n x :q n x 是一款实时的、可扩充的操作系统,由加拿大 q n x 软件系统有限公司开发。广泛应用于自动化、控制、机器人科学、 电信、数据通信、航空航天、计算机网络等系统、医疗仪器设备、交通 运输、安全防卫系统、p o s 机、零售机等任务关键型应用领域。它提供 了一个很小的微内核( 大约几十k b ) 以及一些可选的配合进程,而且 运行速度比较快。同时,它也是世界上第二个遵循p o s i x l0 0 3 1 标准从 零设计的微内核,因此具有非常好的可移植性n 弋2 叫。 嵌入式操作系统的选择是前期设计过程中的一项重要工作,首先要 考虑操作系统对硬件的支持;其次要考虑的是开发调试工具;最后要考 虑该系统能否满足应用需求。当然,成本问题也是一个重要的考虑因素。 通过分析比较,本课题选用了嵌入式l i n u x 操作系统,其代码自由免费 的获得,使我们在以后的开发工作中取得了事半功倍的效果。 2 2 2 嵌入式l i n u x 的优势 本课题的p d c 系统采用嵌入式l i n u x 操作系统,与其他嵌入式操 作系统相比,它有其自身优势。 ( 1 ) 嵌入式l i n u x 的移植性非常好,支持多种处理器: l i n u x 操作系统己被成功移植到多种处理器架构上,例如a r m 、 m i p s 、p o w e r p c 、m o t o r o l a6 8 k 、s t r o n g a r m 等乜1 2 引。本课题的p d c 系 统采用基于a r m 9 2 0 t 内核的$ 3 c 2 4 1 0 处理器,在l i n u x 2 6 1 0 版本以 后,$ 3 c 2 4 1 0 已经成为l i n u x 的一个标准支持平台。因此,在p d c 系 统中移植l i n u x 操作系统变得非常方便。 ( 2 ) l i n u x 具有完备的网络支持与高效的网络通信性能: 武汉工程大学硕士学位论文 l i n u x 内核对网络协议栈的设计是从简洁实用的角度出发,实现了 一个非常完整的网络协议集。在高层的网络协议中,l i n u x 支持邱、t e l n e t 和h t t p 等多种协议,l i n u x 还能提供对网络上其他机器内文件的访问。 l i n u x 在服务器、网络处理能力方面异常出色。而p d c 系统本身就是一 个网络方面的应用,选择l i n u x 操作系统可以非常容易地在其之上实现 系统功能。 ( 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 作 为嵌入式操作系统,就首先为提高嵌入式系统的健壮性与稳定性打下了 基础。 ( 4 ) 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 的系统软件、应用软件、驱动程序等都 是开放源码的,这些均是在开发嵌入式应用系统时可以利用的资源。源 代码的开放性与后p c 时代智能设备的多样性相适应。 当然,l i n u x 应用于嵌入式系统也并非十全十美。比如,基于嵌入 式平台的内核调试手段比较单一;嵌入式l i n u x 的实时性,尤其硬实时 性还有待改进。但嵌入式l i n u x 的众多优势足以弥补这些缺点,无论从 系统的开发周期、成本,还是功能实现、以及系统稳定性等方面来看, 本课题采用嵌入式l i n u x 操作系统作为p d c 系统的操作系统都是一个 不错的选择。 2 3 嵌入式l i n u x 开发环境的建立 随着调试技术的发展,很多c p u 都可以通过j t a g 口下载调试, 特别是嵌入式l i n u x 开发,只需要j t a g 烧写f l a s h 工具以及串口调试 就可以了。软件方面,l i n u x 下的自由软件g n ug c c 可以完成几乎所有 第2 章p d c 系统的软硬件平台 知名c p u ,以及d s p 的交叉c 编译,并可以用g d b 等调试工具调试应 用程序。 因此,在进行l i n u x 项目开发之前,首先要搭建基于l i n u x 操作系 统的应用开发环境,一般由宿主机和目标板构成。基本上整个嵌入式 l i n u x 系统的开发都是在宿主机上面完成的,包括目标板上所用的 b o o t l o a d e r 、l i n u x 操作系统的内核编译、应用程序开发及调试。在宿主 机上交叉编译生成的b o o t l o a d e r 、内核、应用程序的二进制代码则通过 串口或者网口下载到目标板上运行。此外,应用程序还可以通过u s b 口下载到目标板上。 2 3 1w i n d o w s 环境下建立虚拟l i n u x 开发环境 进行嵌入式l i n u x 项目开发,首先要在p c 上安装一套l i n u x 操作 系统。但是,很多时候仍需要在w i n d o w s 操作系统下进行相关工作, 这时常常需要在这两个操作系统之间来回切换,这对于些嵌入式l i n u x 开发者来说,非常浪费时间,也大大降低了工作效率。 因此,国内很多嵌入式l i n u x 开发者都选择在w i n d o w s 操作系统下 建立一个模拟的开发环境来进行相关开发。一般来说,在w i n d o w s 操 作系统下有如下两种方法来建立虚拟的开发环境: ( 1 ) 利用c y g w i n 建立虚拟环境:c y g w i n 是c y g n u ss o l u t i o n s 公司 开发的一个在w i n d o w s 平台上运行的u n i x 虚拟环境。它是一个自由 软件,主要目的是将g n u 工具集移到w i n 3 2 系统上来。对普通用户来 说,c y g w i n 提供了一组u n i x 工具,运行时可以将w i n d o w s 系统变成 一部u n i x 主机,它几乎包含了所有的l i n u x 系统下可用的软件包,包 括各种开发工具。这些程序和源代码都是可以免费获得的。可以到网站 h t t p :c y g w i n c o m ,单击“i n s t a l lc y g w i nn o w ! ”下载安装最新版本的 c y g w i n 。 ( 2 ) 利用v m w a r e + f e d o r ac o r e 4 0 来建立虚拟环境:v m w a r e 是 一套能虚拟安装各种操作系统的软件,它能为每个操作系统虚拟出安装 操作系统的硬件环境旧3 。在v m w a r e 中的每个操作系统都是相对独立的, 武汉工程大学硕士学位论文 每个虚拟的系统都相当于一台独立的并带有系统的机器。v m w a r e 有 l i n u x 、w i n d o w s 以及m a c o s 等版本。下载一个w i n d o w s 版本的 v m w a r e 后,在w i n d o w s 操作系统下安装v m w a r e ,然后在v m w a r e 中 通过安装f e d o r ac o r e 4 0 的i s o 镜像文件虚拟出一个f e d o r ac o r e 4 0 版本 的l i n u x 操作系统。 在本课题的开发过程中,采用了第二种方法来建立一个虚拟的开发 环境。相对于第一种方法来说,v w a r e + f e d o r ac o r e 4 0 建立出来的虚 拟l i n u x 环境更加强大和真实,它和一个真正的独立安装的l i n u x 操作 系统几乎没有区别,更有利于以后的嵌入式l i n u x 开发调试。 2 3 2 交叉编译环境的建立 交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。 这里所谓平台包含两层含义:体系结构( a r c h i t e c t u r e ) 、操作系统 ( o p e r a t i n gs y s t e m ) 。同一个体系结构可以运行不同的操作系统;同样, 同一个操作系统也可以在不同的体系结构上运行。在大多数情况下,由 于嵌入式目标平台上不能提供足够的资源供编译过程使用,或者是嵌入 式目标平台上根本不允许安装对应所需要的编译器,只好采用交叉编 译,将编译工作转移到高性能的宿主机上进行。本课题中,在宿主机上 对即将运行在目标机上的b o o t l o a d e r 、内核、应用程序进行编译,生成 可在目标机上运行的代码格式。 交叉编译环境是一个由编译器、连接器和解释器组成的综合开发环 境。交叉编译工具主要包括针对目标系统的编译器g c c ( 本课题中采用 的是a r m 体系的c p u ,对应的就是a r m 1 i n u x g c c ) 、目标系统的二进 制工具b i n u t i l s 、目标系统的标准c 库g l i b c 和目标系统的l i n u x 内核头 文件。 建立一个交叉编译工具链是一个相当复杂,而且非常花费时间的过 程。在本课题的研究过程中,是直接从网络上下载编译好的可用的交叉 编译工具链a r m l i n u x g c c 3 4 1 ,t a r b z 2 。在下载完交叉编译工具后,只需 要在p c 宿主机中解压到目标路径( 本课题中把交叉编译器解压到 第2 章p d c 系统的软硬件平台 u s r l o c a l a r m 3 4 1 ) 下即可使用: t a rj x v fa r m l i n u x g c c - 3 4 1 t a r b z 2 u s r l o c a l a r m 3 4 1 在宿主机上建立好交叉编译环境后,需要简单的验证一下该交叉编 译器是否可用。步骤如下: ( 1 ) 在p c 宿主机上,在h o m e t e s t 目录下新建立一个h e l l ok i s i o n c 文件,在其中输入如下行程序: # i n c l u d e i n tm a i n ( v o i d ) p f i n t f ( h e l l ok i s i o n ! _ n ) ; r e t u r no ; ( 2 ) 在p c 宿主机的命令行中,输入如下行命令执行: # c d h o m e t e s t # u s r l o c a l a r m 3 4 1 b i n a r m - l i n u x g c ch e l l o k i s i o n c 叼h e l l o k i s i o n ( 3 ) 如果在目录h o m e t e s t 中有生成h e l l o k i s i o n ,则在命令行中输 # f i l eh e l l ok i s i o n 如果在终端中显示输出如下信息,则说明成功建立了交叉编译工 h e l l o k i s i o n :e l f3 2 一b i tl s be x e c u t a b l e ,a r m ,v e r s i o n1 , d y n a m i c a l l y l i n k e d ( u s e ss h a r e dl i b s ) ,n o ts t r i p p e d 1 3 第3 章p d c 系统的b o o t l o a d e r 启动过程分析与实现 第3 章p d c 系统的b o o t io a d e r 启动过程分析与实现 一个嵌入式软件系统通常可以分为引导程序b o o t l o a d e r 、操作系统 内核、文件系统和用户应用程序4 个层次。如图3 1 所示为一个嵌入式 系统固态存储设备的典型空间分配结构图的。而b o o t l o a d e r 是系统加电 启动运行的第一段软件代码。嵌入式的引导程序是与处理器体系结构紧 密联系的,是操作系统运行的一个基本前提条件。它的移植或者编写是 嵌入式系统软件开发过程中非常重要的第一步。 b o o t l o a d e r 图3 - 1固态存储设备的典型空间分配结构 3 1b o o t l o a d e r 的基本工作原理及概念 首先,通过p c 的启动过程可以了解到,当p c 机上电启动,b i o s 引导加载程序在完成硬件检测和资源分配后,将硬盘m b r 中的引导程 序读到系统的r a m 中,然后将控制权交给引导程序,其主要任务是将 内核映象从硬盘上读到r a m 中,然后跳转到内核的入口点去运行,也 即开始启动操作系统。由于在嵌入式系统中,通常并没有像b i o s 这样 的固件程序,因此整个系统的加载启动任务就完全由b o o t l o a d e r 来完成。 简单地说,b o o t l o a d e r 就是在操作系统内核运行之前运行的一段小 程序。通过这段小程序,初始化硬件设备、建立内存空间的映射图,从 而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统 内核准备好正确的环境。 通常,b o o t l o a d e r 都包含两种不同的操作模式:“启动加载模式和 武汉工程大学硕士学位论文 “下载”模式,两者的区别仅对于开发人员才有意义。从最终用户的角 度来看,b o o t l o a d e r 是用来加载启动操作系统的,并不存在所谓的启动 加载模式与下载工作模式的区别r z 引。 b o o t l o a d e r 是严重地依赖于硬件而实现的,特别是在嵌入式系统中。 因此,在嵌入式系统中建立一个通用的b o o t l o a d e r 几乎是不可能的。但 是,b o o t l o a d e r 的实现还是可以总结出一般规律。由于它的实现依赖于 c p u 的体系结构,因此大多数b o o t l o a d e r 都分为s t a g e l 和s t a g e 2 两 大部分。依赖于c p u 体系结构的代码,比如设备初始化代码等,通常 都放在s t a g e l 中,而且通常都用汇编语言来实现,以达到短小精悍的 目的。而s t a g e 2 则通常用c 语言来实现,这样可以实现给复杂的功能, 而且代码会具有更好的可读性和可移植性。 b o o t l o a d e r 的s t a g e l 通常包括以下步骤( 以执行的先后顺序) : 1 硬件设备初始化。 2 为加载b o o tl o a d e r 的s t a g e 2 准备r a m 空间。 3 拷贝b o o tl o a d e r 的s t a g e 2 到r a m 空间中。 4 设置好堆栈。 5 跳转到s t a g e 2 的c 入口点。 b o o t l o a d e r 的s t a g e 2 通常包括以下步骤( 以执行的先后顺序) : 6 初始化本阶段要使用到的硬件设备。 7 检测系统内存映射( m e m o r ym a p ) 。 8 将k e r n e l 映像和根文件系统映像从f l a s h 上读到r a m 空 间中。 9 为内核设置启动参数。 10 调用内核。 3 2v i v i 启动代码分析 前面第2 章中已经提到,本课题所用的处理器是韩国三星公司的 a r m 9 系列$ 3 c 2 4 1 0 微处理器,通过分析比较,引导程序则选用了韩国 m i z i 公司开发的b o o t l o a d e r ,即v i v i 。从m i z i 公司的官网上可以免费下 第3 章p d c 系统的b o o t l o a d e r 启动过程分析与实现 载到v i v i 的源代码压缩包。v i v i 是利用串口通信为用户提供接口的,只 需要将p c 宿主机通过一根串口电缆线与目标板相连即可。 v i v i 也有前面一节所说过的两种工作模式,它的默认工作方式就是 启动加载模式。当系统加电启动的同时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版智慧城市项目软件开发劳务聘用合同
- 2025年智能化断桥窗设计与安装工程合同
- 2025电钢琴租赁提供季节性优惠及延长服务合同
- 2025船舶环保设施安装与科技支持合同
- 2025年度全屋定制家具定制与智能家居设备维护合同
- 2025版住宅小区停车场租赁及管理服务合同
- 2025年度时尚店铺个人股份转让与经营管理合作协议
- 2025场物业服务协议书范本(含垃圾分类处理)
- 2025年反担保合同编制指南:标的及履约责任落实
- 2025峨眉山路小学食堂废弃物处理与物业管理服务协议
- 数控加工程序管理办法
- 2025年综合类-农艺师考试-农艺师考试-园艺工考试-高级花卉工考试历年真题摘选带答案(5卷100题)
- 小学六年级综合实践环境保护计划
- 联邦学习框架下的设备故障智能诊断算法研究
- 婚内财产协议模板
- 中国钼金属行业市场调查报告
- 物业追缴奖励方案(3篇)
- 华为公司组织管理制度
- 2025年中国蛋白肽市场现状分析及前景预测报告
- 幼儿大班如厕教学课件
- 2025年智慧城市产业园区开发建设社会稳定风险评估与风险防范对策报告
评论
0/150
提交评论