![(电路与系统专业论文)基于SEP3203处理器的μCLinux平台的实现与优化[电路与系统专业优秀论文].pdf_第1页](http://file.renrendoc.com/FileRoot1/2019-12/13/a56e904c-a4df-4b8d-84e8-81272d55aefb/a56e904c-a4df-4b8d-84e8-81272d55aefb1.gif)
![(电路与系统专业论文)基于SEP3203处理器的μCLinux平台的实现与优化[电路与系统专业优秀论文].pdf_第2页](http://file.renrendoc.com/FileRoot1/2019-12/13/a56e904c-a4df-4b8d-84e8-81272d55aefb/a56e904c-a4df-4b8d-84e8-81272d55aefb2.gif)
![(电路与系统专业论文)基于SEP3203处理器的μCLinux平台的实现与优化[电路与系统专业优秀论文].pdf_第3页](http://file.renrendoc.com/FileRoot1/2019-12/13/a56e904c-a4df-4b8d-84e8-81272d55aefb/a56e904c-a4df-4b8d-84e8-81272d55aefb3.gif)
![(电路与系统专业论文)基于SEP3203处理器的μCLinux平台的实现与优化[电路与系统专业优秀论文].pdf_第4页](http://file.renrendoc.com/FileRoot1/2019-12/13/a56e904c-a4df-4b8d-84e8-81272d55aefb/a56e904c-a4df-4b8d-84e8-81272d55aefb4.gif)
![(电路与系统专业论文)基于SEP3203处理器的μCLinux平台的实现与优化[电路与系统专业优秀论文].pdf_第5页](http://file.renrendoc.com/FileRoot1/2019-12/13/a56e904c-a4df-4b8d-84e8-81272d55aefb/a56e904c-a4df-4b8d-84e8-81272d55aefb5.gif)
已阅读5页,还剩52页未读, 继续免费阅读
(电路与系统专业论文)基于SEP3203处理器的μCLinux平台的实现与优化[电路与系统专业优秀论文].pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 嵌入式系统技术在近些年来得到e 速发展,其应用范围渗透社会各个行业。当今的嵌入式系统 包括嵌入式微处理器和嵌入式操作系统两大主要方面,移植嵌入式操作系统于特定的微处理器平台 和构建稳定的开发系统,是进行嵌入式微处理器推广和应用的必要前提也是进行嵌入式产品开发 的基础。 东南大学国家专用集成电路系统工程技术研究中心一直以来致力于微处理器设计与开发,其设 计的s e p 3 2 0 3 为1 6 3 2 位r i s c 微处理器,内嵌a r m 7 t d m i 核,处理器核不带内存管理单元( m m u ) , 面向低成本手持设备和其它通用嵌入式设备应用。嵌入式i t c l i n u x 是针对缺乏m m u 单元的嵌入式 处理器进行改良后的l i n u x 版本,能够运行在缺乏m m u 单元的微处理器平台上,同时保留了l i n u x 绝大部分优点,移植t t c l i n u x 于s e p 3 2 0 3 处理器平台并进行功能扩展,是十分必要的工作。 本文工作的硬件平台是以s e p 3 2 0 3 嵌入式处理器为核心、通过总线方式和i o 方式连接众多外 围电路模块的g e 0 1 系列硬件开发平台。论文工作的主要内容包括基于s e p 3 2 0 3 微处理器平台的 i x c l i n u x 内核移植,固定优先级的中断机制设计与开发,网络设各驱动开发和网络协议栈移植,系 统平台上多文件系统实现等。同时根据s e p 3 2 0 3 处理器平台特点进行了系统优化:根据系统存储系 统构架重新规划系统镜像代码空问,提高内核代码执行效率:设计符合s e p 3 2 0 3 特点的中断优先级 管理机制和软中断机制,提高系统中断响应速度;在网卡驱动设计中采用中断处理机制,提高网卡 驱动稳定性。 目前,本文所描述的各项完善和优化的工作已全部完成,并且所移植的i t c l i n u x 已经能够在 g e 0 1 系列开发平台上运行,经初步测试,系统性能稳定。未来经过不断地改进和优化,将能够开发 出一个较高可靠性的嵌入式t t c l i n u x 平台,对国内自主产权的微处理器系统移植和开发,有一定的 参考价值 关键词:i t c l i n u x a r m 网络模块内核配置 a b s t r a c t a b s t r a c t r e c e n t l ye m b e d d e ds y s t e mt e c h n o l o g yh a v eb e e nd e v e l o p e dq u i c k l ya n du s e di nm a n yf i e l d s i t i n c l u d e st w os i d e s :e m b e d d e dm i c r o - p r o c e s s o ra n de m b e d d e do p e r a t i o ns y s t e m p o r t i n ge o st oas p e c i a l m i c r o l o c e s s o rp l a t f o n l aa n dm a k i n ga s t a b i l i z e dd e v e l o p m e n ts y s t e mn o to n l yt h ep r e c o n d i t i o no f e x t e n d i n gt h ee m b e d d e dm i c r o - p r o c e s s o r sa p p l i c a t i o nf i e l db u ta l s ot h eb a s et oe x p l o r et h en e we m b e d d e d p r o d u c t i o n s s e p 3 2 0 3i sa1 6 3 2r i s cm i c r o - p r o c e s s o rd e v e l o p e db yn a t i o n a la s i cs y s l e me n g i n e e r i n gr e s e a r c h c e n t e ro fs o u t h e a s tu n i v e r s i t yw h i c hi sa ni n s t i t u t i o no fd e s i g n i n ga n dr e s e a r c h i n gm i c r o p r o c e s s o r s e p 3 2 0 3h a sa 1a r m 7 t d 皿c o w h i c hh a sn om m ua n da i ma t1 0 wc o s tb a n d h e l dd e v i c e sa n do t h e l g e n e r a le m b e d d e dd e v i c e s p c l i n u xi sa no p e r a t i n gs y s t e mc h a n g e df r o mg e n e r a ll i n u xr u n n i n go ns o n i c e m b e d d e ds y s t e mw i t hn om m u p a r t i ti n h e t i t sa l it h em e r i t so fg e n e r a il i f l u x a n dh a sc h a r a c t e d s t i c so f e m b e d d e do p e r a t i n gs y s t e m i t si m p o r t a n tt op o r t i n gi u i c l i n u xs y s t e mt os e p 3 2 0 3p l a t f o r ma n de x p a n d i n g t h es y s t e m sf u n c t i o nm o d u l e , 砸sr e s e a r c hw o r kh a s e do ng e o lh a r d w a r ep l a t f o r mw h i c hs e l e c t ss e p 3 2 0 3t ob et h ec o r ea n d c o m l e c t ss e v e r a lp e r i p h e r a lc n u i t sb yb u sa n di om e t h o d s t h ew o r ko ft h i st h e s i si n c l u d ei m p l e m e n ta n d o p t i m i z ei t c l i n u x k e r n e lb a s e do ns e p 3 2 0 3f r a m e w o r k ,s t u d y i n ga n dd e v e l o p m e n tf i x e dp n o r i t y a r m i i c l i n u xi n t e r r u p tt e c h n o l o g y , r e a l i z e dn e t w o r kd e v i c ed r i v e ra n dp o 而n gn e t w o r kp r o t o c o l , r e s e a r c h i n ga n di m p l e m e n ts e v e r a lf i l es y s t e m so l lp c l i n u x t h e r ea r es o r n er e s e a r c h e st oo p t i m i z et h e s y s t e m sp e r f o r m a n c ew i t ht h ec h a r a c t e r i s t i c so fs e p 3 2 0 3p r o c e s s o r :a d j u s t i n gt h ec o d es t o r ep o s i t i o nt o o p t i m i z ek e r n e le x e c u t i n gs p e e d ;a p p l y i n gf l e wi n t e r r u p tt e c h n o l o g yt on e t w o r kd r i v e rt on d v a n c et h e n e t w o r kc a r d ss t a b i l i t y a ut h ew o r k sd e s c r i b e di nt h ep a p e rh a v eb e e nf i h i s h e dn o w s i m p l et e s ts h o w st h a tt h ee m b e d d e d l i n u xh a ss u c c e e d e di nr u n n i n gs t a b l yo nt h ed e v e l o p m e n tp l a t f o r m t h es y s t e ms h o u l db eah i g h - r e l i a b l e e m b e d d n dl i n u xp l a t f o r ma f a ro p t i m i z e da n dt h ep a p e rh a v eav a l u a b l er e f e r e n c ef o r p o r t i n ga n d d e v e l o p i n gt h em i c r o - p r o c e s s o rs y s t e mw i t hd o m e s t i ci n d e p e n d e n c ei n t e l l e c t u a lp r o p e r t yn g h l k e yw o r d s :t a c l i n u x a r hn e t w o r k - m o d u l e k e r n e l - c o n f i g u r a t i o n 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致游的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用 过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明 并表示了谢意。 研究生签名:刍哞口圳: 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人咆于文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文破查阅和借恻叮 以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研 究生院办理。 研究生签名:j 孥牛导师签名:1 日期: 1 1 课题研究背景 第一章绪论 第一章绪论 嵌入式技术的发展经历了4 个阶段“j :第一阶段是以单芯片为核心的可编程控制器形式的系统: 第二阶段是以嵌入式c p u 为基础、以简单任务调度程序为核心的系统;第三阶段是以嵌入式操作系 统为标志的系统;第四阶段是以基于 n l e l n e t 互联为标志的系统,嵌入式系统的发展趋势是:3 c 融 合( 多媒体手机、疋视频电话、无线p d a 等) :灵活性,功率,性能,成本等方面的平衡考虑( 尤其体 现在便携式嵌入产品的开发) ;灵活支持多种格式,制式技术( 包括音频、视频、显示格式、多种无 线技术) 。根据这一发展趋势,带m 内核的a s i c ,a s s p ( 应用专用标准产品) ,s a c 将成为未来嵌入 式系统开发主要平台1 2 。 近年来国内自主产权的微处理器设计技术日趋成熟,东南大学国家专用集成电路系统工程技术 研究中心自主研发设计的s e p 3 2 0 3 为1 6 3 2 位r i s c 处理器,内嵌a r m 7 1 d m i 处理器内核。提供了 完整的通用外设接口,面向低成本手持设备和其它相关嵌入式设备具有低功耗、低成本的优点, 为了适应手持信息终端的多媒体处理需求,s e p 3 2 0 3 处理器还集成了用于多媒体加速的m m a ( m u l t i m e d i a a c c e l e r a t o r ) 模块和a c 9 7 控制器用于多媒体音频的解码和录音。 嵌入式操作系统是嵌入式援术的软件基础其撤据应用的要求集成操作系统内核和功能软件 运行于特定的计算机硬件系统平台上,从而实现软件与硬件一体化的计算机系统。从8 1 6 位单片机 发展刮以a r m c p u 核为代表的3 2 位嵌入式处理器嵌入式操作系统已经替代传统的由手工编制的 监控程序或调度程序,成为重要的基础组件。更重要的是嵌入式操作系统对应用程序可以起到屏蔽 的作用,使应用程序员可以面向操作系统应用程序接口开发应用软件,并易于在不同的嵌入式处理 器上移檀。优秀的嵌入式操作系统( e m b e d d e do p e r a t i o ns y s t e m ,e o s ) 应该具有以下几个特点:小 巧、实时性、可装卸、固化代码、弱交互性、强稳定性和统一的接u 。目前使用最多的e o s 商业产 品包括有:v x w o r k 、q n x 、p a l m o s 、w i n d o w s c e 、p s o s 、h o p c n0 s 等。但是这些商业的操作系统 一般都需要昂贵的授权费用。而与这些商业化的操作系统相比,l i n u x 由于开源免费等众多优点已经 越来越受到人们的关注。随着i n t e r n e ! 的发展以及i n t e r n e t 技术与信息家电、工业控制技术等结合日 益密切,嵌入式设备与i n t e r a c t 的结合将代表着嵌入式技术的真正未来。 i t c l i n u x 是m i c r o - c o n u o i - l i n u x 的缩写,p c l i n u x 是对l i n u x 进行精简的嵌入式操作系统,适 合运行于缺乏m m u ( 内存管理单元) 的嵌入式处理器平台”j 。p c l i n u x 的产生由下列因素决定的: 首先,全球每年生产的c p u 数鼍大约在二十亿颗,其中大部分作为嵌入式系统应用,在硬件设计上 取消了m m u 模块i 其次,虽然目前有许多商用的嵌入式系统,但是均需要较为昂贵的授权费用, 故市场需要具有o p e n s o u r c e 性质的嵌入式l i n u x 操作系统;再次。l i n u x 其最初的设计是针对具有 m m u 的通用操作系统其目标是追求整体性能最佳所以不能及时处理实时任务,园此育必要对 l i n u x 进行精简以适用于嵌入式环境。i x c l i n u x 与传统l i f l u x 系统的主要区别在于没有内存管理单元, 但p c l i n u x 保持了传统l i n u x 操作系统的主要特性,包括稳定、强大的嘲络和文件系统的支持。 p c l i n u x 一方面裁剪了大黾的l i n u x 内核代码以缩小尺寸适合小容景、低成本的嵌入式系统,另 一方面采用了u c l i b 库替代l i n u x 的g l i b 库,使用u c l i b 可以大大减少应用程序的代码大小,对于 中小型嵌入式应用,u c l i b 基本可以满足各种开发需要。开发者还可利用标准l i x 先验知识等优 势。 嵌入式系统平台的实现涉及到操作系统内核移植,外设驱动程序的开发,调试测试环境的建立, 低功耗技术应用和系统整体平台的性能优化等,涉及的范围广泛,基于国内自主产权的微处理器平 台上建立一个稳定可靠的系统是一项具有挑战性的工作。 1 2 课题主要研究工作 本论文研究工作包括基于s e p 3 2 0 3 微处理器平台的p c l i n u x 系统移植,p c l i n u x 系统中网络及 文件系统等功能模块的实现,以及内核存储空删和代码执行速度的优化等。在深入研究s e p 3 2 0 3 处 理器的硬件体系构架基础上,建立p c l i n u x 内核中与s e p 3 2 0 3 体系结构相关的内核文件,并对系统 需要使用的模块进 j 裁剪用交叉编译链接工具链接生成i t c l i n u x 内核镜像。根据特定需求裁剪文 件系统包,最后在目标板上测试平台的可行性与稳定性。论文具体研究工作包括: 东南大学硕七学位论文 一 研究与实现s e p 3 2 0 3 处理器体系结构相关的底层代码,改写各级目录中的m a k e f i l e 和 c o n f i g i n 文件,建立相应的目录下与s e p 3 2 0 3 体系结构相关内核代码:配置需要使用的功 能模块,生成p c l i n u x 内核镜像。 分析p c l i n u x 下不同存储设备特点。实现基于s e p 3 2 0 3 处理器的g e 0 1 系列开发平台上的 多文件系统。 一 研究与实现s e p 3 2 0 3 平台上的i t c l i n u x 的中断技术,应用于网络驱动中;研究p c l i n u x 网 络设备驱动工作流程,实现p c l i n u x 中r t l 8 0 1 9 网卡驱动。 一 a r mp c l i n u x 平台上t c p 1 p 协议和s s l 网络安全协议的实现,系统网络速度的测试,网 络性能完善和优化, 1 3 论文主要内容 根据课题所涉及到的主要研究工作,本论文的内容包括四个部分,论文的第二帝首先介绍了 s e p 3 2 0 3 微处理器、g e 0 1 系列开发平台相关的基础知识,为阐述论文的主体内容作铺垫,第一部分 的研究工作( 即基于g e 0 1 系列开发平台p c l i n u x 系统的移植) 将在第三章中阐述;论文的主体部 分 第四章第六章) 阐述了基于s e p 3 2 0 3 处理器的g e 0 1 系列开发板的嵌入式p c l i n u x 的中断技 术、r t l 8 0 1 9 网卡驱动实现、s s l 协议栈的实现、网络模块的配置与实现;在论文的最后一章,总 结了本课题的不足之处并提出相应的改进意见,拟定将来研究的重点。论文结构安排如下: 第二章,综述s e p 3 2 0 3 嵌入式处理器以及基于s e p 3 2 0 3 处理器构建的软硬件开发平台相关的知 识。 第三章,介绍p c l i n u x 操作系统的体系结构以及基于g e 0 1 系列开发平台的l t c l i n u x 内核移植。 第四章,阐述整个系统的启动过程,包括b o o t l o a d e r 运行和内核镜像加载、k e r n e l 映像执行以 及最后根文件系统的挂载过程。 第五章,阐述a r m i i c l i n u x 系统的中断处理技术及在s e p 3 2 0 3 平台上具体的实现,基于中断 传输方式的r r l s 0 1 9 两卡驱动的开发。 第六章,阐述a r m p c l i n u x 系统中网络协议栈移植,包括t c p i p 和s s l 协议等。优化阿络 传输性能。 。 第七章,对本系统中嵌入式p c l i n u x 相关工作进行总结,并提出一些待改进之处。 2 第二:章开发环境介绍 第二章开发环境介绍 作为阐述论文主体内容的准备工作,本章分为两个部分,分别介绍s e p 3 2 0 3 嵌入式微处理器以 及与本课题研究相关的硬件开发系统和软件开发环境的基础知识。 2 1 处理器s e p 3 2 0 3 介绍 s e p 3 2 0 3 移动终端戍用处理器是由东南大学国家专用集成电路系统工程技术研究中心设计的 1 6 3 2 位r i s c 微控制器。采用0 2 5 i j m 标准c m o s 的设计工艺内嵌a r m 7 t d m i 处理器内核,具 有低功耗、低成本的优点,s e p 3 2 0 3 还提供了完整的通用外设接口。可以满足系统用户的各种需求。 处理器采用2 5 v 内核供电,3 3 v , - 闱i o 供电。工作温度范嗣一4 0 摄氏度+ 8 0 摄氏度,典犁功 耗为2 5 0 m w ( m p 3 播放实时) ,s l e e p 功耗为1 0 0 1 t w 芯片典型工作频率7 5 m h z 。处理器内部集成了 支持黑白、灰度和彩色的l c d 控制器;多媒体加速模块,用于提供多媒体处理定点矢量乘加的计算 能力:支持低成本的n a n dr a s h 控制器并可从其直接启动;支持多种外存类掣:s r a m ,n o rf l a s h , s d r a m ;支持实时时钟( r t c ) ;支持四通道的定时器和两通道的p w m ;支持用于连接触摸屏通讯 的s p i 坍议;支持两个u a r t 控制器。其中个支持红外传输;支持u s b l 1d e v i c e 控制器用于p c 与移 动终端之间的高速信息传输;支持m m c s d 卡控制器,用户可以扩展系统的存储能力和外设功能: 支持兼容a c 9 7 协议的控制器,用于音频文件的播放和录制。处理器内嵌2 0 k b y t e 零等待的静态存储 器( s r a m ) ,用于多媒体处理时的核心代码与数据的存放,用户也可以将操作系统的核心代码或l c d 帧缓存存放在该处理器中,用于提供更高的性能和更低的能最消耗:6 通道d m a 控制器为用户提 供了高速的数据传输通道;支持外部3 2 1 6 位数据总线;考虑l l n a n df l a s h 的成本优势,处理器提供 专用的n a n df l a s h 控制器,并支持系统直接3 a n a n df l a s h 启动;多种功耗管理模式。降低系统功耗。 芯片的整体结构框图如下图( 2 - 1 ) 所示1 4 j 。 2 2 开发环境介绍 嵌入式系统开发环境一般由目标系统硬件开发平台和宿主p c 机组成。i i c l i n u x 的编译、应用程 序的开发和调试由宿主p c 机完成,在目标机上运行由宿主机编译和调试完成的可执行文件。宿土p c 机和目标系统硬件开发板问通过串口线,列线或者u s b 线相联接,典型的开发环境如图( 2 - 2 ) 所示。 3 东南大学硕 :学位论文 2 2 1 硬件目标开发系统 阔2 - 2 嵌入式系统开发环境 本文研究工作的硬件开发平台是以东南大学国家专用集成电路系统t 程技术研究中心自主设计 的s e p 3 2 0 3 微处理器为核心、外扩若干i o 模块的g e 0 1 系列实验教学系统。g e o i 系列开发平台由 g e 0 1 a 、g e 0 1 b 和g e 0 1 c 三个子系统组成。硬件开发系统结构框图如图( 2 - 3 ) 所示,与本文研究 工作密切相关的硬件模块包括存储系统、嘲络接口和电源模块等。 图2 - 3 硬件开发系统结构图 一 存储系统 s e p 3 2 0 3 处理器的存储空间由e m i ( 外部存储器接口) 管理,支持的片外存储器包括s r a m 、 s d r a m 、r o m 、n o rf l a s h 及n a n df l a s h 。e m i 提供6 个可配置的片选信号:c s a 、c s b 、 c s c 、c s d 、c s e 、c s f ,其中c s e 、c s f 可以配置成s d r a m 片选信号;系统有2 5 撤地址线,4 根字节能屏蔽线每个片选支持的最大寻址范嗣为6 4 m b y t e s ;支持地址的r e m a p 功能,即两个逻 辑地址指向同一个物理地址:支持从外部n o r f i a s h 启动以及从内部e s r a m 启动( 通过外部 n a n df l a s h 初始化e s r a m ) 。 本课题硬件系统存储空日】分为两个部分:一部分是4 m bn o rh a s h ,由2 片数据总线宽度为1 6 位的相同的n o rf a s h 组成的。;另一部分是3 2 m b 的s d r a m ,由2 片数据总线宽度为1 6 位的相同 的s d r a m 组成,其中一片,两片可配s d r a m 缦成1 6 3 2 位数据输出,以满足可能的高性能音 ! ! ! 频 需要。其中n a n dx6 4 mx8 b i tx1 片是可选配置。硬件开发板上的存储系统芯片选择如表( 2 一1 ) 所 示。 4 第二章开技环境介绍 表2 1g e 0 1 m b 实验教学系统使用的存储器芯片 使用片选对府s e p 3 2 0 3 ,占 一 。” “” l 存站器类犁芯片螋几-寻址大小 说明 片数片管脚 j n a n dr 5 8 5 1 2 f tl 6 4 m b y l ef l f c e ( g p b 2 ) 兼容1 2 8m b y t e oi1 0b a s e t w i t hi i n kt e s ti sd i s a b l e 1 0 1 0 b a s e 5 ll1 0 b a s e 2 电源模块 g e 0 1 系列使用1 0 0 0 m a 稳压电源供电给整个系统,电源设计部分采用a n a l o g 公司设计的高效 率d c 1 3 ( 2 转换芯片获得所要的工作电压。2 5 v8 0 0 m a 转换电源供应c p u 核心:3 3 v8 0 0 m a 转换 电源供应其它外设模块如u a r t 、m e m 等:此外3 3 v8 0 0 m a 以及5 v 向外扩展,由专用电路直接 提供,可以直接被用作部分芯片的工作电压。 2 2 2 软件开发环境 t o s 日码2 0 3 t o g e 叭8 图2 - 5g e o i 系列开发板电源模块 p c l i n u x 的开发环境包括编译链接工具链,集成开发及调试环境,内核代码及根文件系统配置 环境等,开发环境的优劣很大程度上影响着开发效率。 g n u 开发套件 g n u 开发套件作为开源的l i n u x 开发套件,包含一系列的编译链接调试工具链。主要组件包括: g - c c 编译器,用于配置交叉编译的形式。即在宿主机上开发编译目标板上可运行的二进制文件: b i n u t i l s 一些辅助工具,包括o b j d u m p ( 可以反编译二迸制文件) ,a s ( 汇编编译器) ,l d ( 连接器) 等等:g d b 调试器包括g d b - b d m ( 背景调试工具) ,g d b s e r v e r ( 使用以太网络调试) 等,可使用多种 交叉调试方式。 g n um a k e :m a k e 是一个命令t 具,用于解释m a k e f i l e 中的规则莠执行相关的命令。m a k e f i l e 文件描述了工程中所有文件的编译顺序和规则。m a k e f i l e 文件有自身的书写格式、关键字、函数等, 而且可以使用s h e l l 所提供的绝大部分命令来完成想要的工作。在绝大多数的集成开发环境( i d e ) 中都使用m a k e t i l e ( 不同系统上相应的名称可能不同) ,m a k e 已经成为一种标准的工程编译方法。 _ o c l i n u x 的打印终端 p c l i n u x 中默认终端设备为串1 :3 ,内核在启动时所有的信息均被打印到串1 2 1 终端( 使用皿n t i ( 函数打印) ,同时用户也通过串口终端与系统交互。若在烧写t o t a l s 文件系统时,启动了t e l a e t d ( 远 程登录服务) ,则操作者可以远程登录上系统,从其它终端设备上控制系统的运行。 交叉编译调试工具 交叉编译的过程是在主机上编译链接并生成对应于目标平台指令集的可执行程序、然后在目标 平台上运行生成的可执行程序。支持一种新的处理器,必须具备一些编译汇编工具使用这些工具 生成可运行于对应于相应处理器平台的二进制文件。本文首先说明g c c 编译链接的相关概念。 夺l d ( 1 i n k d e s c r i p t i o n ) 文件:l d 文件指出连接时内存映象格式的文件。 夺c r t 0s ;应用程序编译连接时需要的启动文件,主要是初始化应用程序栈。 p i e ( p o s i t i o ni n d e p e n d e n c e c o d e ) :与位置无关的二进制格式文件,在程序段中必须包括r e l o c 段,从而使代码加载时可以进行重新定位。 内核编译连接时,使用u c s i n u n 1 d 文件形成可执行文件映象,所形成的代码段既可以使用间接 7 东南大学硕士学位论文 寻址方式( 使用r c l o c 段进行寻址) ,也可以使用绝对寻址方式。故可以给编译器更多的优化空间。 因为内核可能使用绝对寻址,所以内核加载剑的内存地址空间必须与l d 文件中给定的内存空间完全 相同i ”, 应用程序的连接与内核连接方式不同。应用程序由内核加载,由于应用稃序的i d 文件给出的内 存空问与应用程序实际被加载的内存位置可能不同,这样在心用程序加载的过程中需要一个重新定 位的过程,即对r e l o c 段进行修正,使得程序进行间接寻址时不至于出错。进行p c l i n u x 的开发至少 需要两套编译连接工具: 夺 二进制_ t 具( b i n u t i l s ) :g n ub i n u t i l s 包中包括了汇编工具、链接器和基本的目标文件处理 工具。对b i n u t i l s 包的设置定义了所需的目标文件的格式和字节顺序。b i n u t i l s 包中的工具均 使用了二进制文件描述符( b f d ) 库来交换数据。通过设置文件c o n f i gb f d ,可以指定默认 的一进制文件格式( 如e l f l i t t l ee n d i a n ) 和任何_ t 具可用的格式。 夺 c 编译器:g n u 编译器g c c 采用“寄存器转换语言”( r t l ) 的方式实现的【1 “。针对不同 体系的机器建立一个新的目标机器,必须指定默认编译参数和定制系统的特定参数。对于 特定的目标系统,可以使用t a r g e t i j i j 宏( 在 文件中) 定义编译器的开关。_ d e f a t a r g e th 目标t - m a k e f i l e 段指定了应该构建的一个额外的例程和其编译的方式。g n u 的文档提供了 所有必需的资辩,使得用户可以为新型的处理器的指令集合提供支持。使用p c l i n u x - a r m h 来指定驮认的编译参数: i # d e f i n et a r g e td e f a u l t ( a r m _ f l a g _ a p c s3 2 1 a r m _ f l a gn oc o t )i w i n d o w sfa d s 工具 a d s 是a r m 公司推出的新一代a r m 集成开发工具,目前已代替s d t 。可在w i n d o w s 下运行, 方便w i n d o w s 用户。在硬件开发系统实现后,可用a d s 对各硬件模块进行测试。a d s 包含各种应 用软件开发工具如 1 n l c ,a r m c p p ,a r m a s m 等,支持a r mc ,c + + ,a r m 汇编等i 本课题研究方法:在l i n u x 服务器上编译生成可在目标开发扳上目标代码,通过w i n d o w s 下的 a d s 软件经串u 下载镜像文件到目标板上调试在超级终端中查看调试信息。待内核和文件系统版 本稳定后,通过镜像烧录工具将b o o t l o a d e r 引导程序、内核镜像、文件系统镜像烧录到f l a s h 中,通 过b o o t l o a d e r 引导程序实现系统的自启动。 p c l i n u x 是开源的,其代码和编译工具均可以从堡竖! :4 些n 女5 :蛭下载,本文采用l i n u x 242 0 内核版本,交叉编译工具是a r m - - e l f - t o o l s - 2 0 0 3 0 3 1 4 s h 。 8 第三章l l c l i n u x 系统分析及移植 第三章l a c l i n u x 系统分析及移植 根据操作系统核心各模块之间的通讯方式,内核系统结构可分为2 大类:微内核( m i c r o k c r n e l ) 和单内核( m o n o l i t h i ck e r n e l ) 模型“q 。微内核中,大部分传统上属于操作系统的代码分离出来放在 了更高的层次上,运行于用户态。内核起到的是消息中继的作用( 接受消息并进行转发) 。单内核 系统中整个系统可以分为许多模块,但在核心运行时,它是一个独立的镜像。 l i n u x 总体上是一个单内核模霉! ,但是在单内核的设计中引入了微内核的许多设计与实现方法 ( 微内核模型是未来的发展趋势因为微内核的可移植性强) 。单内核的组织方式相对简单,其平 台已经对硬件或网络媒质做了抽象无需系统开发者来完成这些t 作。但在嵌入式系统开发中,开 发者要,娈现具体的b s p 包。单内核在太部分状态下运行良好,但移植相对困难。 根据操作系统的可移植性目标。可以把源代码分成两部分:与硬件体系结构相关的部分和与硬 件体系结构无关的部分( “x 内核与源代码非常的庞大,其中与硬件体系结构相关的代码大约为整 个代码的4 ) 。 与硬件体系结构相关部分:此部分代码中包含了由微处理器指令系统提供的汇编语言编写的程 序代码,直接与c p u 硬件交互,故代码可移植性比较弱。与硬件体系结构无关部分:此部分代码是 在其底部代码的支持下工作的,包括算法、运行控制等功能模块,这部分代码用宏定义及其它方式 定义与底层的接口,用c 语言编写此部分代码可移植较好”。 本文前面简单介绍t t c l i n u x 是针对缺乏m m u ( 内存管理单元) 的微控制而设计的l i n u x 系统。 i t c l i n u x 与l i n u x 的最大差异在于内存管理和进程管理。标准l i n u x 针对带m m u 的处理器设计。在 这类处理器上,虚拟地址被送剑m m u ,m m u 把虚拟地址映射为物理地址。通过赋予每个任务不同 的虚拟地址,对物理地址转换映射可支持不同任务之间的保护。p c l i n u x 是通过地址总线对物理 内存进行直接访问。所有程序中访坷的地址都是实际的物理地址,所有的进程都在一个运行空间中 运行( 包括内核进程) ,因此开发人员必须参与内存的管理。 3 1l a c l i n u x 系统简介 嵌入式i _ t c l i n u x 操作系统主要由三个基本部分组成:引导程序、p c l i n u x 内核( 由内存管理、进 程管理和中断处理等构成) 和文件系统口j 。l a c l i n u x 可以通过定制使内核小型化,还可以加上g u i ( 图 形用户界面) 和定制应用程序,并将其放在r o m 、r a m 、f l a s h 或d i s k o n c h i p 中启动。嵌入式 i i c l i n u x 操作系统的内核定制有高度灵活性,开发者可以很容易地对其进行按需配置,来满足实际应 用需要,j l c l i n u x 源代码公开,开发人员只要了解内核原理就可以自己开发部分软件,如增加各类驱 动程序。下面辖详细分析嵌入式操作系统p c l i n u x 。 作为操作系统的核心,p c l i n u x 内核负责管理系统的进程、内存、设备驱动程序、文件系统和网 络系统,决定着系统的各种性能。i l c l i n u x n 核采用模块化的组织结构,通过增减内核模块的方式来 增减系统的功能。下图( 3 - 1 ) 是i x c l i n u x 的系统框架图。 9 东南大学硕士学位论文 图3 - 1p c l i n u x 系统框架图 3 1 1p c l i n u x 的内核组成 应用层 系统内核层 硬件抽象层 p c l i n u x 内核的功能结构与l i n u x 基本相同,为了满足无m m u 处理器的要求,i t c l i n u x 对内 存管理和进程管理进行改写。i t c l i n u x 主要是从l i n u x 2 0 2 4 内核派生而来,沿袭了主流l i n u x 的绝 大部分特性删。由于大多数内核濒代码都被优化t t c l i n u x 的内核要比原l i n u x2 4 内核小的多但 保留了l i n u x 操作系统的主要优点包括稳定性、优异的嘲络能力以及优秀的文件系统支持。p c l i n u x 和l i n u x 的内核代码结构亦大致相同。如下图( 3 2 ) 所示t t c l i n u x 的内核代码结构: l i n u x 一2 ,4 x c o p y 矾g d o c u m e n t a t i o n r e a d m e m a k e f i l e # a r c h # k e m e # d r i v e r # f s n e t i n c l u d e m m l i b s c i p t s 图3 - 2i t c l i n u x 的内核代码结构图 a l p h a a 1 1 1 1 a r n m o m m u # i 3 8 6 m 6 8 k m i p s s p a r e $ 3 9 0 上图中的i l c l i n u x 是基于l i n u x - 2 4 x 内核的。下面对其各个部分分别加以介绍: 一 c o p y i n g :有关f s f ( f r e es o f t w a r ef o u n d a t i o n ) 公共许可证制度g p l 的具体说明。 d o c u m e n t a t i o n :有关l i n u x 内核的文档。 1 0 第三章p c l i n u x 系统分析及移植 r e a d m e :l i n u x 内核的安装和使用的简要说明。 一 m a k e f i l e :重构l i n u x 内核可执行代码的脚本文件。 a r c h :a r c h 是a r c h i t e c t u r e 一词的缩写,内核中与具体c p u 和系统结构相关的代码分别放在下 一层的子甘录中,而相关的h 文件州分州放在i n c l u d e a s m 目录之下。a r c h 目录下的a l p h a 指原 d e c 开发的6 4 位c p u ;a n n 指具有m m u 单元的a r m 内核处理器:a i - m n o m i n t l 指小具有m m u 单元的a r m 内核处理器:i 3 8 6 包括x 8 6 系列中自8 0 3 8 6 以后的所有3 2 位c p u ,也包括a m d k 6 等兼辑系列:m 6 8 k 是指由m o t o r o l a 开发的6 8 0 0 0 系列处理器:m i p s 指r i s c c p u 芯片:s p a r e 指主要用于s u n 工作站等机犁中的r i s cc p u 芯片;s 3 9 0 指的是m m 生产的种大型计算机。 基于某种处理器平台上的系统移植要修改相应文件夹下的源代码。 k e r n e l :进程管理和调度,包括s c h e d c 、f o r k c 、e x i t c 、s i g n a l c 、s y s c 、t i m e c 、r e s o u r 厶d r 眦c 、 s o f t i r q c 、i t i m e r c 等文件。 - d r i v e r :设备驱动程序,包括各种块设备和字符设备的驱动程序。 f s ;文件系统,每个子目录分别对应一个特定的文件系统。还有一些共同的源程序则用于“虚 拟文件系统”( v f s ) 。 -n e t :包含了各种不同网卡和网络规程的驱动程序, - i n c l u d e :包含了所有的,h 文件。如a r c h 子树一样,在i n c l u d e 中也是为荐种c p u 都专设一个子 目录,而通用的子目录m 则根据系统的配置而“符号连接”到具体的c p u 的专用子目录如 m i 3 8 6 、a s m a r m n o m m u 等。除此之外,还有通用的子目录l m u x 、n e t 等。 m m ;内存管理,即虚拟内存管理。 - l i b :通用的工具性子程序,如对出错信息的处理等文件。 3 1 2j t c l i n u x 的内存管理 p c l i n u x 同标准l i n u x 的最大区别在于内存管理。标准l i n u x 是针对带 删的处理器设计的。 在这种处理器上,虚拟地址被送到m m u m m u 把虚拟地址映射为物理地址。通过赋予每个任务不 同的虚拟物理地址转换映射,支持不同任务之间的保护“。对于t t c l i n u x 来说,其设计针对缺乏 m m u 的处理器,不能使用处理器的虚拟内存管理技术。 i c l i n u x 仍然采用存储器的分页管理,系统在启动时把实际存储器进行分页。在加载应用程序 时程序分页加载。但是由于没有m m u 管理实际上p c l i n u x 采用实存储器管理策
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玻璃釉印工设备维护与保养考核试卷及答案
- 烟叶调制员技能操作考核试卷及答案
- 苯乙烯装置操作工技能巩固考核试卷及答案
- 聚偏氟乙烯装置操作工专业技能考核试卷及答案
- 丁基橡胶装置操作工成本预算考核试卷及答案
- 2025-2026学年北师大版数学九年级上册第一次月考押题试卷含解析
- 医学技术喷雾酒精考试题及答案
- 服务心理学(第四版)课件 项目十一 任务一 提高服务业团队管理技巧提高服务业团队管理技巧
- 班组建设与电力安全知识测试卷
- 提升学习质量行动方案范文
- 装修材料购买合同范文
- 幼儿常见传染病
- 《农产品种植技术培训》课件
- 道路危险货物运输安全标准化制度汇编
- 特殊教育机构学生出勤管理规定
- 2024年高校红十字应急救护大赛理论考试题库(含答案)
- 餐厅厨房装修改造工程施工组织设计方案
- 2024玻璃钢贮罐拆除解体施工合同
- 2024-2030年中国病理检查市场专题研究及市场前景预测评估报告
- 第3章 即时定位与地图构建技术课件讲解
- P.E.T.父母效能训练
评论
0/150
提交评论