(通信与信息系统专业论文)arm嵌入式linux系统的研究与实现.pdf_第1页
(通信与信息系统专业论文)arm嵌入式linux系统的研究与实现.pdf_第2页
(通信与信息系统专业论文)arm嵌入式linux系统的研究与实现.pdf_第3页
(通信与信息系统专业论文)arm嵌入式linux系统的研究与实现.pdf_第4页
(通信与信息系统专业论文)arm嵌入式linux系统的研究与实现.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(通信与信息系统专业论文)arm嵌入式linux系统的研究与实现.pdf.pdf 免费下载

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

文档简介

北京邮电大学硕士学位论文a r m 嵌入式l i n u x 系统的研究与实现 a r m 嵌入式l i n u x 系统的研究与实现 摘要 随着信息化、网络化、智能化的发展,嵌入式技术得到了极大的 发展,嵌入式系统已经广泛地应用到人们生活的各个领域,如网络系 统、智能家电、3 g 应用、汽车电子等。l i n u x 操作系统以其稳定性好, 可靠性高,源代码公开,可剪裁,版权免费等优点,已成为嵌入式领 域的一股新兴力量,具有巨大的市场潜力和商业价值。而a r m 以其 高性能低功耗的特性成为目前应用最广泛的3 2 位嵌入式处理器, a r m 平台是l i n u x 嵌入式系统移植的一个重点。研究l i n u x 操作系 统理论,进行嵌入式l i n u x 系统的构建移植和应用程序的开发,具有 重要的理论意义和现实意义。 $ 3 c 2 4 1 0 x 是韩国三星公司生产的一款基于a r m 9 2 0 t 体系结构 的高性能c p u 。研究课题以基于a r m 9 的$ 3 c 2 4 1 0 x 嵌入式开发板 为硬件平台核心,系统介绍了$ 3 c 2 4 1 0 x 处理器的主要功能和系统的 硬件组成,描述了j t a g 、n a n df l a s h 和以太网各主要接口单元电 路的设计和实现。 本文首先研究了基于l i n u x 的嵌入式交叉编译环境的构建。之后 详细地研究了系统引导程序b o o t l o a d e r 的原理,分析了课题采用的系 统引导程序的结构并在此基础上实现了的移植。接下来 论文研究了a r ml i n u x 内核结构和启动引导过程,讨论了a r m l i n u x 内核移植及配置编译的具体方法和过程。作为嵌入式l i n u x 移 植的另外一个重点,课题还详细地研究了嵌入式l i n u x 根文件系统的 结构、根文件系统的构建。论文最后介绍了在已实现的系统平台上对 串口的应用开发和应用s o c k e t 进行网络通信。 关键词:嵌入式l i n u xa r mb o o t l o a d e r内核根文件系统 北京邮电大学硕r t 学位论文a r m 嵌入式l i n u x 系统的研究与实现 t h er e s e a r c ha n di m p l e m e n l a t i o no f e m b e d d e dl i n u xs y s t e mb a s e do na r m a b s t r a c t a l o n gw i t h t h e d e v e l o p m e n t o fi n f o r m a t i o n ,n e t w o r ka n d i n t e l l i g e n c e ,t h ee m b e d d e dt e c h n o l o g yi si m p r o v e dal o t e m b e d d e d s y s t e m sa r ew i d e l ya p p l i e di nv a r i o u sf i e l d s ,s u c ha sn e t w o r ks y s t e m , i n t e l l i g e n ta p p l i a n c e ,3 ga p p l i c a t i o na n da u t o m o b i l ee l e c t r o n i c s b e c a u s e o fi t ss t a b i l i t y , o p e n s o u r c e ,e a s y p o r t i n ga n do t h e ra d v a n t a g e s ,l i n u xi s w i d e l yu s e di ne m b e d d e df i e l dw i t he n o r m o u sm a r k e tp o t e n t i a la n d c o m m e r c i a lv a l u e n o w a d a y s a r mw i t h3 2 b i te m b e d d e dp r o c e s s o r b e c o m e st h em o s te x t e n s i v ea p p l i c a t i o nf o ri t se x t r a o r d i n a r yp e r f o r m a n c e a n dl o wp o w e rc o n s u m p t i o n i ti so fg r e a tt h e o r e t i c a la n dp r a c t i c a l s i g n i f i c a n c et os t u d yt h ep r i n c i p l eo fl i n u xo p e r a t i n gs y s t e m ,t op o r tt h e e m b e d d e dl i n u xs y s t e ma n dt od e v e l o pt h ea p p l i c a t i o np r o g r a m s s 3 c 2 4 1 0 xi sah i g hp e r f o r m a n c ec p ub a s e do na r m 9 2 0 tc o r e m a d eb ys a m s u n gc o r p ,i nt h i sa r t i c l e ,ah a r d w a r ep l a t f o r mw i t ha s 3 c 2 4 1 0 xc p ui ss e l e c t e d t h er e s e a r c ho ft h i sp a p e rf i r s ti n t r o d u c e st h e f u n c t i o n so fs 3 c 2 4 1 0 x a n dt h e nt h ed e s i g n so fh a r d w a r ec i r c u i t sa r e d i s c u s s e di nd e t a i l ,i n c l u d i n gj t a gn a n df l a s ha n de t h e r n e ti n t e r f a c e s f i r s t l y , t h i sp a p e rd e s c r i b e sh o wt o e s t a b l i s ht h ec r o s sc o m p i l i n g e n v i r o n m e n t a f t e rt h er e s e a r c ho ft h ep r i n c i p l eo ft h ee m b e d d e d b o o t l o a d e ra n dt h ea n a l y s e so ft h es t r u c t u r eo f v i v i v ih a sb e e n p o r t e di n t ot h et a r g e th a r d w a r ep l a t f o r m b a s e do nt h ea n a l y s e so ft h e s t r u c t u r eo fl i n u xk e r n e l ,t h em e t h o d so fk e r n e lp o r t i n ga n dc o n f i g u r a t i o n a r ed i s c u s s e d a sa ne m p h a s i so fp o r t i n go fe m b e d d e dl i n u x ,t h i sp a p e r s t u d i e st h es t r u c t u r eo ft h ee m b e d d e dl i n u xr o o tf i l e s y s t e ma n dh o wt o b u i l di t f i n a l l y , s e r i a lp o r td e v e l o p i n ga n dn e t w o r kc o m m u n i c a t i o nb y 北京邮电大学硕:l 学位论文 a r m 嵌入式l i n u x 系统的研究与实现 s o c k e tb a s e do nt h ep l a t f o r me s t a b l i s h e di sp r e s e n t e d k e yw o r d s :e m b e d d e dl i n u xa r mb o o t l o a d e rk e r n e l r o o tf i l es y s t e m 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名:墨垦三塾坠 日期:垄! 皇:圣:j 导师签名:日期: 兰1 21 : 北京邮电大学硕l :学位论文a r m 嵌入式l i n u x 系统的研究j 实现 1 1 课题研究的背景 第一章绪论 随着通信网络技术和集成电路设计的高速发展,嵌入式系统己成为了i t 业 的一个焦点。嵌入式技术已经无处不在,从随身携带的m p 3 、语言复读机、手机、 p d a 到家庭之中的智能电视、智能冰箱、机顶盒,再到工业生产、娱乐中的机 器,无不采用嵌入式技术。近几年,嵌入式系统产品渐渐完善,并在全世界各行 业得到广泛应用。目前,嵌入式系统产品的研制和应用已经成为我国信息化带动 工业化、工业化促进信息化发展的新的国民经济增长点。随着消费家电的智能化, 嵌入式更显重要,像我们平常见到的手机、p d a 、电子字典、可视电话、 v c d d v d j m p 3p l a y e r 、数字相机( d c ) 、数字摄像机( d v ) 、u 盘、机顶盒( s e t t o pb o x ) 、高清电视( h d t v ) 、游戏机、智能玩具、交换机、路由器、数控设 备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等,都是典型 的嵌入式系统。随着i n t e m e t 的迅速发展和价格更为低廉的微处理器的出现,嵌 入式系统将在日常生活里形成更大的应用领域。 嵌入式系统是一种以应用为中心,以计算机技术为基础,其软硬件可配置、 可裁减,对功能、可靠性、成本、体积、功耗有严格约束的专用计算机系统。它 结合了先进的计算机技术、半导体技术、电子技术以及各个行业的具体应用,被 看作技术密集、不断创新的知识集成系统。嵌入式系统由硬件和软件两大部分组 成,硬件包括了嵌入式处理器和外围硬件设备,软件一般由嵌入式操作系统和应 用软件组成,嵌入式系统是集软硬件为一体的可以独立完成某具体工作的计算机 系统。 嵌入式系统中的c p u 通常采用r i s c ( 精简指令集计算机1 结构,并在此基础 上,发展了多种不同的微处理器体系结构,如a r m ,p o w e r p c ,m i p s 等等。其 中a r m 体系结构在过去的十多年中己成为世界上最受欢迎的3 2 位微处理器体 系结构,基于a r m 技术的微处理器应用占据了3 2 位r i s c 微处理器7 5 以上的 市场份额,a r m 技术正在逐步渗入到我们生活的各个方面。a r m 技术源于r i s c 结构,又不完全拘泥于纯粹的r i s c ,从而更符合嵌入式技术应用的实际需求, 更适应开发具有更有效的系统综合性能和功耗的嵌入式系统1 1 1 。目前,各种常用 北京邮电大学硕士学位论文a r m 嵌入式l i n u x 系统的研究与实现 的操作系统都支持a r m 技术,对常用的a r m 处理器芯片,还有专门的软件支 持。而a r m 处理器也被广泛使用在各种嵌入式系统中,在许多成功的3 2 位嵌 入式系统中,a r m 处理器都是其核心组成部分,网络上有着丰富的关于a r m 开发的经验和资源可以借鉴。同时,a r m 处理器还集成了硬件调试技术,开发 者可以观察到处理器在执行代码时的具体情况,从而能更快地解决问题。所有的 这些,都大大降低了a r m 嵌入式系统的开发风险,有利于缩短嵌入式系统的开 发时间,降低开发成本。a r m 体系结构目前已形成了一个系列,这些系列分别 针对不同的嵌入式系统应用场合。开发人员可以根据具体系统的需要,采用合适 的a r m 处理器。本课题中所选用的基于a r m 9 2 0 t 内核的$ 3 c 2 4 1 0 芯片就是一 款专为通信终端设计的a r m 处理器芯片。 随着计算机软件技术的发展和嵌入式处理器性能的不断提高,在上世纪八十 年代开始出现各种各样的商用嵌入式操作系统,这些操作系统大部分是为专用微 处理器而开发的。其中许多嵌入式操作系统已经被广泛应用,如w i n d o w s c e 、 v x w o r k s 、u c o s i i 、l i n u x 、q n x 、p a l m o s 等等。嵌入式操作系统的使用,使 嵌入式系统的可靠性、稳定性得到很大提高,同时使得嵌入式系统的多任务处理 能力得到大大的增强。嵌入式操作系统是嵌入式系统的核心,对于复杂的系统, 为使其具有资源管理、系统管理和中断处理等能力,提供多任务处理,更好的分 配系统资源的功能,很有必要针对特定的硬件平台和实际应用移植操作系统。在 各种嵌入式操作系统中,l i n u x 凭借其在结构清晰、源代码开放性等方面的优势, 成为了嵌入式开发的首选。总的说来,采用l i n u x 来定制嵌入式l i n u x 系统有如 下优势: ( 1 ) 开放的源码,丰富的软件资源。l i n u x 是自由的操作系统,它的开放源码 使用户获得了最大的自由度。l i n u x 上的软件资源十分丰富,获得软件开发者的 广泛支持。l i n u x 的自由精神吸引了成千上万的程序员投入到l i n u x 的开发和测 试中来。 ( 2 ) 功能强大的内核,性能高效、稳定,多任务。l i n u x 的内核非常稳定,它 的高效和稳定性已经在各个领域,尤其在网络服务器领域,得到了事实的验证。 l i n u x 内核小巧灵活,易于裁减,这使得它很适合嵌入式系统的应用。 ( 3 ) 支持多种体系结构,如x 8 6 、a r m 、m i p s 、a l p h a 、s p a r c 等。目前, l i n u x 已经被移植到数十种硬件平台上,几乎支持所有流行的c p u 。 ( 4 ) 完善的网络通讯、图形、文件管理机制。l i n u x 自产生之同起就与网络密 不可分,网络是l i n u x 的强项。另外,l i n u x 还支持多种文件和图形系统。 ( 5 ) 支持大量的周边硬件设备。l i n u x 上的驱动非常丰富,它们支持各种主流 硬件设备和最新硬件技术。 2 北京邮电大学硕士学位论文a r m 嵌入式l i n u x 系统的研究与实现 ( 6 ) 大小、功能都可定制。l i n u x 秉承u n i x 的优秀设计思想,非常灵活,各 部分的可定制性都很强。 ( 7 ) 良好的开发环境。不断发展的开发工具集,l i n u x 有着非常优秀的完整开 发工具链,有十几种集成开发环境,其中很多是免费的,大大降低了开发费用。 ( 8 ) 价格低廉,有效降低产品成本。对成本敏感的嵌入式系统来说至关重要, l i n u x 恰好具有这一特性。 1 2 主要研究内容 本文主要讨论了作者硕士学位论文工作期间,在基于a r m 9 的嵌入式l i n u x 系统工作领域里所做的研究和实践,针对嵌入式系统平台搭建的课题需要,在以 高性能的3 2 位a r m 处理器为核心的硬件平台上设计并移植稳定、可靠的嵌入 式l i n u x 操作系统与文件系统,并对l i n u x 向a r m 平台移植中几个核心技术进 行了深入的研究,在研究了嵌入式l i n u x 操作系统的各组成部分的工作原理以及 系统的启动过程之后,对嵌入式l i n u x 操作系统进行了相应的定制和剪裁,完成 了系统平台的搭建。首先简要介绍了嵌入式系统的背景知识及嵌入式操作系统的 一般选型原则,做出选用l i n u x 作为移植对象的选择;接着对基于a r m 9 的硬 件平台$ 3 c 2 4 1 0 x 嵌入式开发板的设计进行描述,建立起关于系统的整体映像; 接下来主要对l i n u x 移植中的重点内容:系统引导加载程序、内核及文件系统移 植等问题做了深入的分析研究并加以实现。最后分析了嵌入式l i n u x 应用程序开 发软件环境的构建,实现了嵌入式l i n u x 环境下的网络通信和串口通信用户应用 程序的开发。 1 3 论文章节安排 本论文的章节安排如下: 第一章,介绍了本论文的研究背景和意义,并明确了本论文的研究内容和主 要工作。 第二章,详细介绍了课题研究相关的技术原理和理论知识,主要包括包嵌入 式系统特点、嵌入式操作系统的选型特别是嵌入式l i n u x 系统的优势,a r m 微 处理器体系结构。 第三章,主要介绍嵌入式系统的硬件平台的设计,详细介绍了三星a r m 9 3 北京邮电大学硕十学位论文a r m 嵌入式l i n u x 系统的研究与实现 微处理器$ 3 c 2 4 1 0 x ,以及外围功能电路的设计。 第四章,介绍嵌入式系统的系统平台的搭建过程,分析面向a r ml i n u x 的 b o o t l o d a e r 的实现原理和移植方法,和a r m 平台移植相关的l i n u x 内核代码, 总结l i n u x 系统移植当中根文件系统的选择与制作。最终完成嵌入式系统平台的 搭建,为后面的应用程序的开发提供了很好的平台。 第五章,分析了嵌入式l i n u x 串口通信的原理和t c m p ,实现了嵌入式l i n u x 环境下的网络通信和串口通信用户应用程序的开发。 第六章,对本课题内容进行总结,并提出下一步的研究方向。 4 北京邮电大学硕i :学位论文a r m 嵌入式l i n u x 系统的研究与实现 2 1 嵌入式系统 第二章嵌入式技术基础 2 1 1 嵌入式系统的定义及特点 嵌入式系统通常是面向特定应用的。嵌入式系统也称嵌入式计算机系统,是 指以应用为中心,以计算机技术为基础,软件硬件可裁减,符合应用系统对功能、 可靠性、成本、体积、功耗严格要求的专用计算机系统。简而言之,它是一个计 算机硬件和软件的结合体【2 1 。它的本质是将一个计算机嵌入到一个对象体系中 去。为区别于原有的通用计算机系统,才把这种嵌入到对象体系中,实现对象体 系智能化控制的计算机,称作嵌入式计算机系统。 与通用型计算机系统相比,嵌入式系统面向特定应用,可根据需要灵活定制, 具有功耗低、可靠性高、功能强大、性价比高、实时性强、占用空间小、效率高 的优点。 嵌入式系统具有以下几个重要特征: 1 嵌入式系统通常是面向特定应用的。嵌入式系统的专用性很强,其中的 软件系统和硬件的结合非常紧密,一般需要针对硬件进行系统的移植。 同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载 要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。 2 系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要 求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时 也利于实现系统安全。 3 高实时性嵌入式操作系统。这是嵌入式软件的基本要求,而且软件要求 固态存储,以提高速度。软件代码要求高质量和高可靠性、实时性。 4 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存 储器芯片或单片机本身中,而不是存贮于磁盘等载体中。 5 嵌入式系统本身不具备自主开发能力,即使设计完成以后用户通常也是 不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进 行开发。开发时往往有主机和目标机的概念,主机用于程序的开发,目 标机作为最后的执行机,开发时需要交替结合进行。 5 北京邮电大学硕上学位论文a r m 嵌入式l i n u x 系统的研究j 实现 与通用p c 机比较,嵌入式系统的突出特点是专用性、成本敏感性及较高的 可靠性。嵌入式系统对系统软件和应用软件的要求也与通用计算机有所不同,一 般要求如下: 1 软件要求固化存储; 2 许多应用要求系统软件具有实时处理能力; 3 多任务操作系统是知识集成的平台,也是走向工业标准化道路的基础。 通用计算机系统具有完善的操作系统和应用程序接口( a p i ) ,应用软件直 接在操作系统平台上运行。嵌入式系统则不同,应用程序可以没有操作系统直接 在芯片上运行,但为了合理地调度多任务、利用系统资源、系统函数以及专用接 口函数,用户必须自行选配嵌入式操作系统( e o s ) 开发平台,这样才能保证程 序执行的实时性和可靠性,并减少开发时间,提高软件质量。一个优秀的e o s 是嵌入式系统成功的关键。 2 1 2 嵌入式操作系统 操作系统是管理计算机上的资源,为用户使用计算机及其外部设备提供最基 本接口的程序。自从计算机诞生以来,随着计算机、网络技术的快速发展,操作 系统一直处于不断发展和改进之中,人们将越来越多的功能加入到操作系统中, 导致操作系统越来越大。但是,随着应用领域的扩大,为了适应不同的应用场合, 考虑到系统的灵活性、可伸缩性以及可裁减性,一种以应用为中心、以计算机技 术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗 要求严格的专用计算机系统嵌入式操作系统( e o s ) 便随之延生。与通用操 作系统比较,嵌入式操作系统具有如下特征1 3 j : 1 小巧。嵌入式系统所能够提供的资源有限,所以嵌入式操作系统必须做 到小巧,以满足嵌入式系统硬件的限制; 2 实时性。目前,大多数e o s 都具有r t o s 内核,l i n u x 、w i n c e 的实时性 较弱,但改进后的l i n u x 系统如r t - l i n u x 的实时性也很强: 3 强稳定性与高可靠性。任务管理与调度策略能保证操作系统上的应用程 序可靠运行; 4 移植性好。大部分嵌入式操作系统( e o s ) 可以应用于多种嵌入式处理器, 如m p u 、m c u 、d s p 、a r m 、p p c 等平台上; 5 可裁减。嵌入式操作系统可以根据应用的需要进行裁减,去掉多余的部 分,或者简化相应的模块。 6 可固化代码。嵌入式系统中的存储空间有限,操作系统代码与应用软件 6 北京邮电大学硕士学位论文a r m 嵌入式l i n u x 系统的研究与实现 代码通常需要被固化在系统的r o m 中。 在嵌入式系统的前期设计过程中,首先必须决定采用哪一种嵌入式操作系 统。这是一个很重要的决定,因为这将影响到工程后期的发布以及软件的维护。 嵌入式操作系统分为商用型和免费型两种。商用型的实时操作系统功能稳定、可 靠,有完善的技术支持和售后服务,但往往价格昂贵,典型的是风河公司的 v x w o r k s 。免费型的实时操作系统则在价格方面具有优势。但是不管选用什么样 的系统,都应该考虑操作系统对硬件的支持,如果选择的系统不支持将来要使用 的硬件平台,那这个系统是不合适的;其次要考虑的是开发调试用的工具,特别 是对于开销敏感和技术水平不强的企业来说,开发工具往往在开发过程中起决定 性作用【4 1 ;第三个要考虑的问题是该系统能否满足应用需求,如果一个操作系统 提供的a p i 很少,那么无论这个系统有多么稳定,应用层很难进行二次开发, 这显然也不是开发人员希望看到的。 由此可见,选择一款既能满足应用需求,性价比又最佳的嵌入式操作系统对 开发工作的顺利开展意义非常重大。 概括地说,在进行系统选型工作时,要遵循以下一些原则: ( 1 ) 系统成本; ( 2 ) 开发周期及技术支持; ( 3 ) 可移植性; ( 4 ) 可利用资源: ( 5 ) 系统定制能力。 嵌入式系统的应用环境复杂,嵌入式处理器的多样化,使嵌入式操作系统的 种类繁多,以适应不同的应用。常用的嵌入式操作系统有如下几种: 商业:w i n c e ,v x w o r k s ,s y m b i a n ,p a l m 等: 开源:l i n u x ,u c l i n u x ,u c o s i i 等; 国内:d e l t ao s ,h o p e n 等。 商业化产品以其良好的可靠性和卓越的实时性被广泛的应用于通信、军事、 航空、航天等实时性要求极高的精尖技术领域,例如火星登陆探测器上使用的就 是v x w o r k s ,但其高昂价格使许多生产低端产品的小公司和教育及个人研究者望 而却步,嵌入式l i n u x 因其价格低廉、功能强大、易于移植正在被广泛采用。 2 1 3 嵌入式l i n u x 综合一下,采用l i n u x 来定制嵌入式l i n u x 系统有如下优势【2 】: ( 1 ) 系统稳定、功能强大、简单易用 7 北京邮电大学硕l - 学位论文 a r m 嵌入式l i n u x 系统的研究j 实现 l i n u x 在许多方面与u n i x 类似,可以说是一个很小的系统。用来启动只需 要小到5 0 0 k 字节不到的目标代码。完全可以把l i n u x 内核和根文件系统放在一 张软盘上,启动一台硬件条件最小的机器。也可以利用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 下的版本。l i n u x 将来也必然走进千家万户,成为w i n d o w s 强而有力的竞 争者。 ( 2 ) 使用成本低 l i n u x 是免费软件,只要遵守g p l 的规定,就可以免费获得拷贝。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 a c t 上找到和下载。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 内核比标准的u n i x 更加高效地处理网络协议,系 统的网络吞吐性能非常好,这也是为什么l i n u x 在网络服务器市场上占据越来越 大市场份额的一个原因。 ( 5 ) 提供对多种处理器的支持 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 ,a r m ,$ 3 9 0 , s u p e r h 等处理器体系结构。 有鉴于以上各方面考虑,我们选择l i n u x 系统作为目标板的移植系统。 嵌入式l i n u x 系统需要有如下的组成要素:b o o t l o a d e r 、嵌入式操作系统内 核、根文件系统、嵌入式设备驱动程序以及应用程序。 1 引导程序b o o t l o a d e r 8 北京邮电大学硕j :学位论文a r m 嵌入式l i n u x 系统的研究与实现 b o o t l o a d e r 引导加载程序是系统加电后运行的第一段软件代码。系统加电或 复位后,c p u 通常都从c p u 制造商预先安排的地址上取指令,一般是从0 地址 取第一条指令。而基于c p u 构建的嵌入式系统通常都有某种类型的固态存储设 备( 比如:r o m 、e e p r o m 或f l a s h 等) 被映射到这个预先安排的地址上。因 此在系统加电后,c p u 将首先执行b o o t l o a d e r 程序。通过这段小程序,我们可 以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个 合适的状态,以便为最终调用操作系统内核准备好正确的环境。 当今b o o t l o a d e r 针对不同的c p u 以及不同的厂商产生了各式各样的版本, 嵌入式中常用的有u b o o t 、r e d b o o t 、v i 、b l o b 等。 2 l i n u x 微内核 内核是操作系统的内部核心程序,由几个逻辑功能上不同的部分组合而成的 大程序。它向外部提供对计算机设备的核心管理及调用并负责对计算机资源分配 及共享等,最终目的是为用户程序服务。一般地说,操作系统上运行的源代码可 分为两部分:内核所在的内存地址空间称为“内核空间,除内核以外的程序统 称“外部管理程序 ,其主要功能是对外围设备的管理和界面操作,它与用户进 程所占据的地址空间称为“用户空间”。 所有应用程序都会和内核发生直接或者间接的接触。比如硬件设备驱动、网 络通信、文件系统、防火墙等都需要内核支持。有些硬件的支持没有被编入内核, 这也需要我们重新编译内核。 3 文件系统 系统需要一种以结构化格式存储和检索信息的方法。目前,嵌入式系统中选 用的存储器大多为h a s h 存储器,因为f l a s h 存储器具有安全性高,存储密度大、 体积小、价格相对便宜等方面的优点。在嵌入式系统中,为了方便对f l a s h 的读 写操作,需要在h a s h 设备上创建文件系统来管理文件,简化对存储器设备的操 作。 4 硬件驱动程序 嵌入式系统通常有许多设备用于与用户交互,像触摸屏、小键盘、滚动轮、 传感器、r s 2 3 2 接口、l c d 等等。除了这些设备外,还有许多其它专用设备, 包括闪存、u s b 、g s m 等。内核通过这些设备各自的设备驱动程序来控制它们, 包括g u i 用户应用程序也通过访问这些驱动程序来访问设备。设备驱动程序是 操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了具体的硬 件细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操 作普通文件一样对硬件设备进行操作。 设备驱动程序一般完成以下的功能: 9 北京邮电人学硕j :学位论文 a r m 嵌入式l i n u x 系统的研究与实现 ( 1 ) 初始化和释放设备; ( 2 ) 在系统硬件和内核间传送数据: ( 3 ) 在应用程序和设备文件间传送数据: ( 4 ) 检测和处理设备出现的错误。 嵌入式驱动程序的定制是嵌入式操作系统定制当中重要的一项,开发者根据 具体嵌入式系统的外围设备和操作系统内核的情况,开发适当的驱动程序。 由于本课题中,笔者并不涉及具体驱动程序的开发,故而对驱动程序开发细 节不做详述。 5 应用程序 为嵌入式系统构建好操作系统之后,就能根据该嵌入式系统要实现的具体功 能来开发嵌入式应用程序。一般情况下,嵌入式系统的应用程序也需要在开发主 机上开发,然后经交叉编译之后再移植到嵌入式平台上实地调试运行。 应用程序用来实现嵌入式系统预计实现的应用功能,应用程序的具体开发也 因嵌入式系统应用的不同而不同。丌发者可以根据具体的应用要求及开发环境来 决定采用什么样的开发语言、工具以及方案。 2 1 4 嵌入式系统开发与调试 由于开发平台受到存储容量和功能的限制,嵌入式应用的开发和调试需要借 助一套专门的开发工具和软硬件环境来完成。硬件环境包括:具有文件传送功能 的宿主机,具有编译调试功能的仿真器;软件包括:操作系统软件、编译调试软 件、文件传输软件等。嵌入式应用系统设计完成以后,一般不具备在其上进行进 一步开发的能力,如果要进行功能的扩充和改进,必须在宿主机上进行重新设计。 嵌入式应用软件开发可以通过两种途径进行。一种是直接利用汇编和嵌入式 高级语言对硬件编程。由于嵌入式程序具有直接在c p u 芯片上运行的能力,这 种程序只需要在其开发调试仿真器环境下编译运行通过后直接下载到r o m 即 可。第二种是为了利用c p u 的强大功能,便于对硬件和软件的管理,引入嵌入 式的操作系统和相应的编译环境,由操作系统来管理软硬件资源( 存储管理,文 件管理,进程管理,中断管理等) 。由于操作系统对高级语言( c 语言) 的支持和其 强大的网络功能,可以进行高级语言的编程,屏蔽对低层的直接访问,使得具有 复杂功能的应用程序的编写和实现变得更加容易和方便。 2 2 a r m 微处理器 1 0 北京邮电大学硕上学位论文a r m 嵌入式l i n u x 系统的研究与实现 a r m 是一类嵌入式微处理器,同时也是微处理器行业的一家知名企业的名 字。a r m 公司自1 9 9 0 年正式成立以来,在3 2 位r i s c 开发领域不断取得突破,设 计了大量高性能、廉价、耗能低的r i s c 处理器,其结构已经从v 3 发展到v 6 。a r m 公司以i p 提供者的身份向各大半导体制造商出售知识产权,而本身并不介入芯片 的生产销售。其设计的芯核具有低功耗、低成本等显著优点,适用于多种领域, 比如嵌入控制、消费教育类多媒体、d s p 和移动式应用等,因此获得众多的半 导体厂家和整机厂商的大力支持,在3 2 位嵌入式应用领域获得了巨大的成功。目 前己经占有7 5 以上的3 2 位r i s c 嵌入式产品市场,在中高端嵌入式应用领域确立 了市场领导地位。现在设计、生产a r m 芯片的国际大公司已经超过5 0 多家。 同时a r m 处理器的体系结构也很丰富,适合各种类型的应用。目前较新的 a r m l l 使用了8 级流水线结构,在0 1 3 微米工艺下,a r m i l t m 的运行频率高达 5 0 0 - - 7 0 0 m h z 。由于a r m 公司出售i p 核,用户可以根据自己的需要对其进行封 装,增加接口组成s o c 芯片。比如三星的s 3 c 4 4 b o x 芯片中就封装了l c d 控制器、 串口、时钟、舳、d a 、音频总线等各种接口。通过封装,a r m 芯片提供了强 大的功能,使硬件设计更为简单,缩短了产品的设计周期。 2 2 1a r m 微处理器的应用选型 由于a r m 微处理器有多达十几种的内核结构,几十个芯片生产厂家,以及 千变万化的内部功能配置组合,给开发人员在选择方案时带来一定的困难,所以, 对a r m 芯片做一些对比研究是十分必要的。 以下从应用的角度出发,对在选择a r m 微处理器时所应考虑的主要问题做 一些简要的探讨。 1 内核选择 从前面所介绍的内容可知,a r m 微处理器包含一系列的内核结构,以适应 不同的应用领域,用户如果希望使用w i n c e 或标准l i n u x 等操作系统以减少软件 开发时间,就需要选择a r m 7 2 0 t 以上带有m m u ( m e m o r ) ,m a n a g e m e n tu n i t ) 功 能的a r m 芯片,a r m 7 2 0 t 、a r m 9 2 0 t 、a r m 9 2 2 t 、a r m 9 4 6 t 、s t r o n g a r m 都带有m m u 功能。而a r m 7 t d m i 则没有m m u ,不支持w i n c e 和标准l i n u x ,但 目前有u c l i n u x 等不需要m m u 支持的操作系统可运行于a r m t t d m i 硬件平台之 上。事实上,u c l i n u x 已经成功移植到多种不带m m u 的微处理器平台上,并在稳 定性和其他方面都有上佳表现。 2 工作频率 系统的工作频率在很大程度上决定了a r m 微处理器的处理能力。a r m 7 系列 北京邮电大学硕士学位论文 a r m 嵌入式l i n u x 系统的研究j 实现 微处理器的典型处理速度为0 9 m i p s m h z ,常见的a r m 7 芯片系统主时钟为 2 0 m h z 一1 3 3 m h z ,a r m 9 系列微处理器的典型处理速度为1 1 m i p s m h z ,常见的 a r m 9 的系统主时钟频率为1 0 0 m h z 之3 3 m h z ,a r m l 0 最高可以达到7 0 0 m h z 。 不同芯片对时钟的处理不同,有的芯片只需要一个主时钟频率,有的芯片内部时 钟控制器可以分别为a r m 核和u s b 、u a r t 、d s p 、音频等功能部件提供不同频 率的时钟。 3 存储器容量 大多数的a r m 微处理器片内存储器的容量都不太大,需要用户在设计系统 时外扩存储器,但也有部分芯片具有相对较大的片内存储空间,如a t m e l 的 a t 9 1 f 4 0 1 6 2 就具有高达2 m b 的片内程序存储空间,用户在设计时可考虑选用这 种类型,以简化系统的设计。 4 片内外围电路 除a r m 微处理器核以外,几乎所有的a r m 芯片均根据各自不同的应用领 域,扩展了相关功能模块,并集成在芯片之中,我们称之为片内外围电路,如 u s b 接口、i i s 接口、l c d 控制器、键盘接口、r t c 、a d c 和d a c 、d s p 协处 理器等,设计者应分析系统的需求,尽可能采用片内外围电路完成所需的功能, 这样既可简化系统的设计,同时提高系统的可靠性【5 1 。 2 2 2 a r m 微处理器系列简介 a r m 微处理器目前包括下面几个系列,以及其它厂商基于a r m 体系结构 的处理器,除了具有a r m 体系结构的共同特点以外,每一个系列的a r m 微处 理器都有各自的特点和应用领域。 一a r m 7 系列 一a r m 9 系列 一a r m 9 e 系列 一a r m l 0 e 系列 一s e c u r c o r e 系列 一i n t e l 的x s c a l e i n t e l 的s t r o n g a r m 其中,a r m 7 、a r m 9 、a r m 9 e 和a r m l 0 e 为4 个通用处理器系列,每一 个系列提供一套相对独特的性能来满足不同应用领域的需求。s e c u r c o r e 系列专 门为安全要求较高的应用而设计【6 1 。 a r m 9 系列微处理器包含a r m 9 2 0 t 、a r m 9 2 2 t 和a r m 9 4 0 t 三种,$ 3 c 2 4 1 0 1 2 北京邮电大学硕士学位论文a r m 嵌入式l i n u x 系统的研究与实现 即属于该系列的处理器。a r m 9 系列微处理器主要应用于无线设备、仪器仪表、 安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。a r m 9 系列微处 理器在高性能和低功耗特性方面提供极佳的性能,具有以下特点: 5 级整数流水线,指令执行效率更高; 提供1 1 m i p s m h z 的哈佛结构; 支持3 2 位a r m 指令集和1 6 位t h u m b 指令集; 支持3 2 位的高速a m b a 总线接口; 全性能的m m u ,支持w i n d o w sc e 、l i n u x 、p a l mo s 等多种主流嵌入式操 作系统: m p u 支持实时操作系统; 支持数据c a c h e 和指令c a c h e ,具有更高的指令和数据处理能力。 2 2 3a r m 体系结构简介 1 a r m 体系结构 a r m 的体系结构总的设计思路是在不牺牲性能的同时尽量简化处理器。同 时从体系结构的层面上支持灵活的处理器扩展。这种简化和开放的思路使a r m 处理器采用了很简单的结构来进行实现。a r m 是精简指令集计算机( r i s c ) 架构 的一种实现,从而包含了r i s c 架构的一些典型特征1 3 j 。 包含一个很大的可见寄存器集。这样的结构设计使编译器能够对函数参 数传递和局部变量的分配进行很大程度的优化。但a r m 的实现并没有 采用类似于s p a r c 那样的寄存器窗口,这也是它的简化思想的一个体 现。 采用l o a d s t o r e 结构。和大寄存器集的配合可以尽量使数据处理操作集 中在寄存器中,而不直接的存取内

温馨提示

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

评论

0/150

提交评论