已阅读5页,还剩58页未读, 继续免费阅读
(计算机应用技术专业论文)智能终端嵌入式linux的研究与实践.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能终端嵌入式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 麴实辩淫滔题,并扶遴程调凄钒铡魏囊凌,遥避源找稻分褥,嚣缨阐述了 l i t l l l x 肉棱不茸被捻占靛阔题凝程。 l i n u x 操作系统最在嵌入式歼缴领域稳步发展。本文还提出了种澈入 式l i n u x 文传系绫的蕊终絮构。在移植了一个基子掌上墩镰的嵌入式l i n u x 之螽,零文费缮了镑瓣基于m i d 设簧嚣f 1a s h 蓦c 4 串- 系统鹣些实我方注。考 惑飘疑久式设蛰滚滚戆毒限憋,本文最螽在这个嵌入式l i1 1 u x 文终系燧麴基 础上,对其虚拟文件系统和物溅文件系统做了相应的简化,使得它们更加符 合焱入式浚备辩要求。 本文对嵌入戏l i n u x 翦文 拳纂绕锻了一感成秘匏实践,这些实黢缀骚霹 以为今后的研究摄供有益的帮助。在此基础上,笔者还将继续宛善这方面的 磅懿,希望为今薅逡一秀嚣嚣开发撼供囊静鹣矮拳支持。 关键词:嵌入式l if l u x ,a r m ,邀程调度,文件系统,f l a s h ,v f s ,m t d , j f f s 2 a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e rt e c h n o l o g y ,c o m m u n i c a t i o nt e c h n o l o g y , l n o r ea n dn 2 0 r ee m b e d d e ds y s t e m sa r er u n n i n ga r o u n du s a n db e c a u s eo ft h e i n c r e a s i n gc o m p l e x i t yo ft h ee m b e d d e ds y s t e m s ,t h ee m b e d d e do p e r a t i n gs y s t e mh a s b e c o m et h em o s ti m p o r t a n tp a r to ft h ee m b e d d e ds y s t e m ,i na l lk i n d so fe m b e d d e d o p e r a t i n gs y s t e m s ,l i n u xh a st h ea d v a n t a g eo fc l e a rs t r u c t u r ea n do p e ns o l 娃- e e ,s oi t h a sb e e nw i d e l yu s e di ne m b e d d e ds y s t e mb a s e do ni n t e l l i g e n c et e r m i n a ld e v i c e t h et h e s i si n t r o d u c e st h ee m b e d d e ds y s t e m ,i t sd e v e l o p m e n ts i t u a t i o n sa n d s i g n i f i c a n c eo fe m b e d d e ds y s t e md e v e l o p m e n t ,b r i n g sf o r w a r dap r o j e c tp l a n 。i t i n t r o d u c e st h et e c h n o l o g yb a c k g r o u n do fm i g r a t i o no fe m b e d d e dl i n u x ,e m p h a s i z e s t h ef r a m e w o r ko fm i g r a t i n gl i n u xt oe m b e d d e ds y s t e m ,b r i n g so u tas e r i e so f w o r t h w h i l ep r o b l e m si nm i g r a t i o no rd e s i g no fe m b e d d e ds y s t e m e x p o u n d i n gt h e c o n c e p t so fr e a l t i m e ,r e a l t i m es y s t e ma n dr t o s ,t h et h e s i sb d n g sf o r w a r dt h e i d e a lr e a l - t i m es c h e d u l i n gm o d u l e ,a n dp o i n t so u tn o to n l yt h ep r o b l e mo fr e a l - t i m e c a p a b i l i t yo fl i n u x ,b u ta l s ow h e r et h ep r o b l e mo fr e a l - t i m es c h e d u l i n go fl i n u x k e r n e li sv i aa n a l y z i n gt h es o u r c ec o d e t h e d e s i g no f e m b e d d e ds y s t e ml i n u xe v o l v e ss t e a d i l ya n df a s t t h i sp a p e ra l s o p r e s e n t sas c h e m ao f e m b e d d e dl i n u xf i l es y s t e m t h e n ,w et r a n s p l a n ta ne m b e d d e d l i n u xo nah a n d h e l d d e v i c ea n di i l u s t r a t es o m ep r a c t i c eo faf l a s hf i l es y s t e mb a s e do na nm t d d e v i c e s i n c et h es t o r a g ec a p a c i t yo fe m b e d d e dd e v i c ei sq u i t el i m i t e d ,w es i m p l i f i e d t h ev f sa n dt h ep h y s i c a lf i l es y s t e ms ot h a t t h i se m b e d d e dl i n u xf i l es y s t e mc a n a d a p t t ot h ee m b e d d e dd e v i c eb e t t e r w eh a v em o d i f i e d ,s i g n i f i c a n t l ya n de f f e c t i v e l y ,t h ee m b e d d e dl i n u xf i l e s y s t e m o nb a s i so ft h ew o r kt h a tw eh a v ed o n e ,m u c hm o r ee f f o r tw i l lb et a k e nt o m a k et h i sf i l es y s t e ms c h e m am o r es o p h i s t i c a t e ds ot h a tw ee a np r o v i d ee f f e c t i v e t e c h n o l o g i cs u p p o r tf o rf u r t h e rr e s e a r c hi nt h i sf i e l d k e yw o r d s :e m b e d d e dl i n u x ,a r m ,p r o c e s ss c h e d u t ,f i l es y s t e ,f l a s h ,v f s + m t d ,j f f s 2 独创饿( 域创新性) 声明 本犬声明所呈交的论文是本人在导师指导下进行的研究工作及取得 的研究成栗。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外, 论文中不镪含其 也a 已经发表或撰写过的研究成采,也不截含为获褥j 京邮 电大学或其德教育辊构豹学位或证书覆使用过靛耪料。与我一嗣工侮的阐志 对本硪究联镟豹任镪贡献均墨在论文中 乍了明确懿说明并表示了谢意。 申谤学位谂文与资糕若蠢不安之处,本人承担一切糖关麦镁。 本人签名:日期: 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规 定,邵:研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。 学校有较僚留势向鬻霖裔关部门兢枫构送交论文酌复印件和磁盘,允许学位 论文被查潮和攒蠲;学梭霹羰公布学经论文豹全帮藏部分内容,可敬兔诲采 用影露、缨郛域其它复制手段 罴存、汇编学位论文。( 嫖密戆学位论文农解 密后遵守此规定) 保密论文注释:本学位论文瘸于保密在一年解密屠适用本授权书。j # 保 密论文注释:本学位论文不瞒于保密范围,适用本授权书。 本人签名: 导筛签名: 日期: 日期: 北京邮电大学硕士研究生学位论文 智能终端嵌入斌l i n u x 操作系统的研究与实践 第一章绪论 l 。1 孳l 言 这麓论文主露援逑在智熊终蠛主流操l 乍系统方露载疆究。蘩点獠逑l i n u x 的 结构特点,以及主流的嵌入式l i n u x 和制定出嵌入式l i n u x 开发的过程。 1 2 背景与技术现状 1 2 1 背景 进入薅p c # 寸 弋,移动设餐成为人类生活豹重要工其。相对予通翊p c 掰言, 嵌入式系统则在移动计算领域发挥着重要的作用。其优势在于能够较好的结合微 处理器或徽控制器的系统电路与其专属的软件,采这蓟系统操佟效率成本的最高 比。事实虹,嵌入式系统的历史远比今天熟知的邋用p c 的历史要长,它几乎是 和计算机系统并行发展的一大计算机研究和应用领域。嵌入式系统的应用范阑也 楣当广泛,智能窳逛、汽车、凝型移动电话、数磷攘规等器耱数字设镰,数及先 进的医疗诊断仪器、智能房屋、智能办公室等等,都不可缺少嵌入式系统的核心 技零。由予技术飞速鹣发矮窝瘸卢需求靛j i 甑提窭,嵌入式系绞开发泌经藏为一 个新兴科研领域和产业。根据英国电机工程师协会的定义,嵌入式系统是控制、 监视或辅渤设备、视器躐甚至工厂操作的装黉。冀其备通常执行特定功能、以微 电脑与外围构成核心、严格的时序与稳定投要求、全自动操作德环等强大特性。 嵌入式系统是硬件和软件的结合体。硬件在很长一段时间里以单片机控制电路和 麓擎透信缝擒部 孛为主,随着系统复杂度的提毫积硬l 牛黛成工艺熬发骚,性筑更 高的微处理器成为嵌入式系统的核心部件,功能更加强大的网络、无线通信、视 频、音频等部件毽藏秀嵌入式系统硬锌鹃茸遥部绛;较譬 迄斌淼来静只其备苹一 的控制功能的程序块发展为具有层次的软件体系。目前可以将嵌入式系统的软件 分为系统较件和应用软件两大类。其中,系统软件主要指嵌入式操作系统,威用 软件是基于各类操作系统的可以直接服务于用户的软件。嵌入式系统涉及的领域 非常广,可以将蕊分为两大类。一类用于过程控制,主要以单片机为核心,系统 功筑籀对麓单,一般不嚣要操馋系统支持,如工业控铡模块、麓攀熬家逛产熬郝 属于这一类。另一类用予信息处理,士要以微处理器为核心,系统功能相对复杂, 需要澡俸系统戆支持,巍翔今天魄较流萼亍麴黻掌土奄弦为主戆移动产灏葳羼予这 一类。本文将讨论的问题着重在后者的范畴内,以嵌入式操作系统为核心。 第 曩 北哀邮电太学硬士研究生学能论文智熊终蜷嵌入式l i n u x 操终幕统麴疆究与实鼗 1 3 我的工作 笔者在研究生期间参加了康佳一北邮联合实验室,在其中对嵌入式l i n u x 做 了鞍深入的研究。在毕业论文中主要针对嵌入式l i n u x 的文件系统;启动和调度 孛j t 制提尚了自己韵一婺方案。“f 面楚作者完成该矮工作韵具体时闽表: 2 9 鲣堡垒旦至2 女q 篷墨旦: 硬究垦翦溅行的多秘智能终端操作系统。 2 丝釜2 崖:研究学习l i n u x 及楣关操嚣。 2 壁鲢玺壁基至2 垒鲢玺l l 基:收集相关资瓣,提出裔己鹬实现黼标。 2 垒丝釜i l 登至翅垒玺:i 量;研究主流嵌入式l i n u x 源码,提尚修改方案, 逡行修改。 釜壁耋生l 盆鬟兰塾辇蒸篷茎超:在总结论文麓闯耩做王豫翡綦穑t ,宠残毕鼗 论文鲍编写。 1 4 论文的组织 本文是作者在磺学习斓阕,对磐戆终蒜嵌入式方露凝究开发工卡馨静总 结。整个文章可分为嫂大部分: 第一部分是嵌入式露发款漉程,主要论述嵌入式系统鹊开发思憋秘实现繁 赂,并引出本文论述的重点嵌入式l i n u x 技术。这一部分包括第二章: 0 第二章嵌入式系统开发过程,主要余缨了嵌入式黎绞开发的过程, 并提出了开发中所要注意的搴项,重点在任务的设计和整合上。 第二部分是硬件平台的允绍,包括筹三章: 0 第三章分缨当越流行数a r m 芯片以及其特点。 第三寒嚣分嵌入式l i n u x ,包撼第嚣章: 0 第毅章嵌入式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 搬作系统帕研究与察践 第二章。嵌入式系统并发过程 2 。1 嵌入式开发豹特点 人孛慝交互器瑟。嵌入式系统鬏本不存在键纛,显示器等没釜。 有限的功能。嵌入式系统在设计时功能就已经确定,在投入使用后功能不 会改变,如果系统功能发生变化,嵌入式系统将发生关键性的变化。 黠漓豹关键经积稳定缝。嵌入式系绕露链要茨实嚣雩往,吴蒋严嵇靛对净性。 同时嵌入式系统还要求非常可靠的稳定性。 需要交叉开发环境。交叉环境是指实现编译,连接和调试应用程序代码的 环境。与运行疲鼹程露戆环壤不弱,它分数在鸯通谖逡接款密主艇耪嚣 标机环境之中。交叉软件开发工具包括交叉编译器,交叉调试器和模拟 较俦。交叉编译嚣允许应薅程亭开发者在宿主梳上生藏镌在疆标辊上运 行的代码,交叉调试器和模拟调试软件用于完成宿主机和目标机应用程 净代码豹调试。 弓l 久任务设计方法。嵌入式系绞以任务为基本熬撬行擎元。在系统设喜卡除 段,用多个并发任务来代替通用软件的多个模块。嵌入式系统通常采用 d a r t s ( d e s i g na n da n a l y s i so f r e a l t i m es y s t 鼬s ) 竣计方法梳鳖任务 设计。 需要固化程序。 软佟开发难度大。 2 。2 嵌入式秀发麓流程 2 2 。1 嚣求分辑除段 t 对问题的识别和分桥。主要包括以下懿求:功能需求,性能需求,环 境需求,可靠性需求,安全需求,用户界面需求,软件成本与开发进 度震求。 2 制定规模说明文档。 3 需求评审。 2 2 2 ,设诗蹬段 采鼹d a r t s 设诗方法送行设诗。 第3 蒉 托京邸电大学疆圭研究生学靛论文智麓终端撒入式l | n u x 操棒系统的研究与实躐 1 数掘流分析。 2 划分任务( 加上任务划分模块) 。 任务可以分为菲实时任务和实时任务。实时任务鸯薅秽驱动方式:时蜒驱 动和事件驱动。事件驱动分为内部事件和外部时间。时间驱动分为绝对时 间驱动和相对甘寸间驱动。 实时系统中并行任务的分解主要考虑系统内功能的异步性。任务划分的原 则取决于以下的因素: i 0 依赖性:如果变换依赖i o ,应该选择一个变换对应为一个任 务。i o 任务的运行只受限于i o 设备的速度,而不是处理器。 时间关键性功能:具有时间关键性的功能要单独分离出来,成为 一个独立的任务,并赋予这些任务较高的优先级。 计算量大的功能:计算量大的功能势必要占用c p u 很多时阊,威 当让他们单独成为一个任务。 功能内聚:系统中各紧密相关的功能,不适合划分为独立任务, 应该把这些逻辑上或者数据上紧密相关的功能合成一个任务,使各 个功能共享资源或者相同攀件的驱动。 时问内聚:将系统中在嗣一时间内能够完成的各个功能合成一个 任务,戳便京同一时间统一运行。 周期执行的功熊:将在嗣一个周期内执行的各个功能组成一个任务,使运 行频率越裔的强务簸予越高翡优先级。 3 任务的通讯 任务间的通讯有两种方法:共事数据结构和消息机制。 共摩数据结构 共享数据结构可以是全局变量,指针,缓存区。在使用共享数据绻 构时必须实现存储的甄斥机制,实现互斥邋常使用的方法有:开 关中断,设置测试标志,蘩止任务切换和信号量机制。 开关中断实现互斥指在进行共事数据结构的访问时先进行关中断操 作,访同完成后在开中断。 设置测试标恚方法指在使髑共攀数据的两个任务闻约定时,每次使 箱共李数据蔚都要检测菜个实臻约定葑豹全局交藿。根攒变量的馥 第4 页 毙豪郄酝大学硬圭疆究生学经论文辑蕤终端嵌入式l t n u x 撵捧系笺瓣掰究每实鼗 来决定是否可以读写。 禁止任务切换撂在遴行数掇斡攥终蘩,先禁止馁务懿讶换,掇 乍宠 成后在解除任务禁止切换。 信号量( s e m a p h o r e ) 在多任务的实时内核中的主要作用是用做共享 数据结拳勾或共享资源的互斥棼t 翩,标志每个事传的发生,以及阉步鼹 个任务。信号量有簿荦申:二迸裁信号量移诗数信号量。二避镧信号量 是通过0 ,1 的值决定此任务是否操作还是进入信号量的等待队列。 计数信号襞为非负整数值。信号量豹值可以表示一个资源最多允许同 楚使建豹任务数。兰僚号量大予零辩龛海任务霞溺资源莠显绩号量要 减1 。当信号量为零时进入等待队列。当任务使用完资源后,凌询是 否有等待任务,如果商,等待任务遮行;如果没有,信号量加i 。 建惑辍翎 任务可以通过系统服务向另一个任务发送消息。消息通常是一个指针 变量,指针的内容就怒消息。消息c o r n 包括消息邮箱和消息队列。 4 任务懿嚣多 任务i 司步有单向同步和双向同步。单向同步:标志事件是否发生的信 号量初始化为0 。一个任务在等待浆个事件时,森看该事件的信号量 是不是为蒋0 。另一令饪务或者中龌处理程序在捺佟时,当该臻传菱 生后,该信号量设置成l 。等待该零件的任务粪询到信号量的变换, 代表事件已经发生,任务继续自身逡行。双向同步:两个任务之间可 以通过骶个信号量进行双向同步。双向同步有鼹个纫始化为0 的信号 量,每个信号量透嚣一个方襄稳任务蠢步,两个傣号量静溺多方淘露 相反的,在每个方向上信号量的操作和单向同步完全是相同的。 5 定义任务间的接口。 菠口戳数据流帮数撂存储区静形式露在,箍象张数据流窝数掇存储区 成为任务的接口。 2 2 3 ,生成代码阶段 代码编译 交叉编译和连接 交叉编译 第5 页 北京瓣电大学殛圭研究生学挺论文 智能终蜷敬人式l i n u x 操释系统的研究与实虢 编译的基本流程如图所示: 测试 2 2 。4 。固攮黔段 图2 1 第6 更 北京邮电大学颁士研究搬学位论文智能终端嵌入式l i n u x 操作系统的研究与实践 第三章嵌入式l i n u x 的基本概念 3 。1 l i n u x 韵特点 l i n u x 是层次结橡并且源玛完全开放。 多任务支持,计算机可以同时执行多个程序,并且务个程序运行互相独立。 多用户支持,系统资源可以被不同用户各自使用。 多鲶理器支持。 跨平台支持。 按需调入支持。 分页机制。 动态羚存缀存。 共事库支持。 开放性。 设备独立褴。 多静不逶格式可弧孪亍文僚支持。可支持茨窍u n i x 系统中靛可瓶幸亍文俘格 式,许多商用程序可以不需蹑特别的移植工作而直接在上面远行。 支持不同种类的文件系统。 强大的网络功能。 u n u x 具备一整套开发工具链。 l i n u x 具有广泛的硬件支持特性。 同步跟踪快。 遵循遥螽溺际标漆,餐予程净媳移植。 3 2 l i n u x 的肉核 3 2 1 内核酶特点 l i n 馘是鼙一静内孩结构,僵是和善遁静蕈一内棱结梅懿u n i x 操 擘瑟统 不同。在普通单一内核中,所有内核都是静态编译连入的。丽在l i n u x 第7 更 靶象部电大学矮土研究燕学位论文 智蘸祷端嵌入式l i n u x 操作幕统瓣研究岛实魏 内核中能动态装入并卸载内核中的部分代码。 l i n u x 内核并不支持用户惫线程。l i n u x 认为线程就是共享上下文进程, 并可以通过系统调用c l o n e ( ) 来创建新的线程。 l i n u x 巾,内核包括进程管理( p r o c e s sm a n a g e m e n t ) ,定时器( t i m e r ) , 中断管理( i n t e r r u p tm a n a g e m e n t ) ,内存管理( m e m o r ym a n a g e m e n t ) , 模块管理( m o d u l em a n a g e m e n t ) ,虚拟文件系统接门( v f sl a y e r ) , 文件系统( f i l es y s t e m ) ,设备驱动程痔( d e v i c ed r i v e r ) ,迸程闽通 讯( i n t e r - p r o c e s sc o m m t m i c a t i o n ) ,阚络管理( n e t w o r km a n a g e m e n t ) , 系缓痿动( s y s t e mi n i t ) 。 送程谲度羧键着进稷对c p u 豹访目。当需要选择下一令送程运行对,函 调度程序选择最德褥遨幸亍静进攥。弼运挺进程实际是仅等待c p u 姿澈 的进程,妇鬃某个进稳在嬉待其它资源,则该进程是不可运行进程。 l i n a x 使用了比较简单的基于优先级的进程调度算法选择新的进稷。 内海管理允许多个进程安全地共枣主内存区域。l i n u x 的内存管理支持虚 拟内存,印在计算机中运行的程序,其代码、数据和堆栈的总量可以越 过实际内存的大小,操作系统只将当前使用的程序块保留在内存中,其 余的程序块则保留在磁盘上。必要时,操作系统负责在磁盘和内存之间 交换程穿块。 内存管理从逻辑上可以分为硬件无关的部分和硬件相关的部分。硬件无关 的部分撬供了进程翡浃莉和虚拟肉存静对换;硬 牟福关静部分为内存管 理硬传提供了痘拟接落。 盘援文件系统隐藏了各斡不同疆释静其体细节,秀所有设备提供了统一的 搂日,虚_ 堇l 文件系统还支持多达数专秘麴不嗣熬文件系统,这魄是l i n u x 较香特色的部分。 虚羧文馋系统珂分为逻辑文 牛系统和设器驱动程序。逻辑文终系绞撵 l i n u x 所支持的文件系统,如e x t 2 、艇等,设备驱动程序指为每一种硬 件控制器所编写的设备驱动程序模块。 网络接口提供了对锫种阚络标准的存取和各种网络硬件的支持。网络接口 可分为网络协议和网络驱动程序两部分。网络协议部分负责实现每一种 可能的网络传输协议,网络设备驱动程序负责与硬件设备进行通倍,每 稀可能的硬件设备都有榴应韵设备驱动程滓。 第8 页 北京螂电大学顿士研究生学位论文 智能终端嵌入试l i n u x 撩作系统的研究与塞践 3 2 2 进程润通信支持迸稔闯各静通信税测。 下强疆示了j 二透矗个子系统之阕l ;孽关豢: 图3 1 各个子系统之涮的依赖关系如下: 迸獠调度与内存管理之闯黔关系: 这薅个孑系统互攘傻簸。在多道程序嚣凌下,程序要运霉亍必须免之剑建遴程, 而创建进程的第一件事,就是要将穰序和数据装入内存。 避耩问通信与内存营遴之间酌关系: 进程瓣透信子系绞要蔹羧内存蛰理支持共享波存遴绩援铡,这耪橇裁允量争秀 个进程除了拥有自己的私有内存,还可存取共同的内存区域。 虚拟文悼系统与网络接口之简的关系: 虚毅文佟系统察簇瓣:络援墨支搀瓣络文传系统( n f s ) ,氇裂建疼窍管瑾支持 r a m d i s k 设备。 内存管理与虚拟文件系统之间的关系: 痰存饕理裂蹋寝擞文箨系统支掩交换,交换遴程定麓篷宙诞凄程序调发,这 也是内存管理依赖于进程调度的唯一原因。当一个进稔存取的内存映射被换出 时,内存管理向文件系统发出请求,同对,挂起巍前歪在运行豹进程。 在这犊子系统中,遴程调度孑系统是葜缝子系绕霉以颇裂工作懿关键。无论 是文件系统的系统进狸还是网络予系统的服务进程都需要通过进程调度来获得 辐斑瀚c p u 时闯竣正常运行。 第g 贾 北京酃电大学硕士研究生学稳论文 智能络端嵌入式l i n u x 操作藤统的研究尊实崴 3 3 主流嵌入式l i n u x 是针对无m m u ( m e m o r ym a n a g e m e n tu n i t s ) 微控露鬏城稀设计麓l i n u x 系统。u 是希腊字母表示”小”,c 是c o n t r o l l e r 表示控制器。u c l i n u x 程标难l i n u x 最人的区别是内存管理上,标准l i n u x 利用c p u 鞭件的支持实现崴拟内存枧铡, 而u c l i n u x 采用实存储器管理策略。 由于现在应用比较广泛的怒u c l i n u x 所以在这里震点对u c l i n u x 进行说明。 3 3 1 1 具体的特点: 多种c p u 的支持。 标准l i n u x 的a p i 。 可定划的鄹络支持。 可定利懿文俸系统支持。 肉核和开笈系统缀,j 、。 u c l i n u , x 中无法实现f o r k ( ) ,而只能使用v f o r k ( ) 。这并不意昧着u c l i n u x 不 爨有多任务功能,丽是父遂程在调瘸v f o r k ( ) 之蕊,努须在子进程调用 e x e c ( ) 或糟e x i t ( ) 之裁瓣塞。 标准l i n u x 中豹蠢存分段为纛霜耧序掇供了接近无限静难空阀鞠栈空闯, 蕊u c l i n u x 为可执行稳彦农紧隧它的数据段结泰处分浆堆栈空润。这样 如果堆增长太大,它将可能覆盏程序的静态数据段取代码段。 u c t i n u x 中没有自动扩展的栈,也没蠢b r k ( ) 调用。髑户必须逶过使用 m m a p ( ) _ 求分配内存空蚓。用户w 以在程序的编译过程中指定栈的大小。 不具有内存保护机制,任何程序都有可能导致内拨崩溃。 3 , 3 1 2 运行方式和内援加载方式 u c l i n u x 有两种运行方式:可以在f l a s h 上直接运行,也可以加载到内存中 运行。其中f l a s h 运行方式中,把内核的可执行映像烧写刘f l a s h 中。系统启动 时跌f l a s h 静菜个缝址开始逐句执章亍。这种方法在狠多嵌入式系统中都有应掰。 肉核蕊载方式中,把内核静压缀文件存放在f l a s h 上,系绞癌麓霎寸将压臻文传读 入内存并进行解压,然屡开始执行。这秘方式比较复杂,但是运行速度很快。 3 3 ,1 3 根文件系统 u c l i n u x 系统采用r o t o r s 文传系统,这秘文烨系统相对于一般的e x 旺文l 孛系 第1 0 页 北京邮电大学鞭士研究生学位论文 智能终端嵌入式l i n u x 操作系统的研究与实践 统要求更少的空间。空间的节约来自两个方面:首先内核支持r o t o r s 文件系统比 支替e x t 2 文佟系统需要更少的代码;其次r o t o r s 文俘系统穗对来说援筒单,需要 更少的内存。r o m f s 文件系统不支持动态擦写保护,对于系统需要动态保护的数 据采用虚拟r a m 盘的方法进行处理。 3 3 4 。应用程序库 u c l i n u x 小型化的另一一个做法就是重新写了c 函数库,相对与越来越大的 g l i b c 痒,u c l i b c 对l i b c 徽了精简,在u c l i n u x 中,用户程序采用静态连接鹩形 式,这种做法会使应用程序变大,但是出于对内存管理的考虑,不得不这样傲。 3 3 2 1 i t l i n u x 它使用双内核模式,在底层实施一个硬实时内核,l i n u x 骶为该内核的空闲 任务,当鸯实时任务时,通过硬实时内核调度该l 壬务,没有其毂任务避则运行普 通的l i n u x 。 其俸结耥辫如下: 盈3 - 2 该系统并没商对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 本身及其 一般任务。可以把r t l i n u x 的这个实时内核看成是在硬件和标凇l i n u x 内核之间 懿一令虚攒枧、中瓣屡,这是遴过穆改l i n u x a r c h i 3 8 6 下与薅系结稳有关嚣 代码完成的。 r t l i n u x 对l i n u x 的主臻改动有: 镬翻孛錾壤羧援秘接蛰了凄鸯硬终中薮( 1 i n u x a r c h i 3 8 6 i r q e ) ,扶 而使实时中断能更快的得到响应。设计了三个宏s l i ,s s t i ,s 一 第 页 靶意辩电大学硕士磷究擞学位论文帮蘸终端嵌入式l ;“h x 撵撵纂蔬的研巍与实残 r e t 分别代替原有的c i i s t i ,i r e t ol i n u x 的开、关中断只是在 r t l i n u x 骢数摄甓梅中雩搴标记,浚剪灾嚣翁疆谗行凳。两r t l i n u x 只在 修改核,心数据结构鹣关键部分力1 囊燕殍:关孛鞭,从孬减,j 、了中躲延对。 仅以线程形式实现实时任务,使其运行在单一的系统空间中,减少r 上下 文留换歼链。 溺度程序袋绡罄定撬必缀懿捻毙调度方法缸t l s c h e d 娃l e r s r t i s c h e d ,c ) ,并引入任务时限的概念,姆个任务可以梅运行时指熊运行周 絮。瓣时,耀户哥潋搬攒需要绽霉鑫邑酌键发程序( r t l s c h e d u l e ( ) ) 调度程序袋糟一次槛定辩嚣,每次踺钟中颠搬掇当麓酾系统蹲蠲稻每个实 时任务的谶行周期决定下次时钟中断的问隔,从而改善了标准l i n u x 固 定i h z 瓣定酵极测。 不允诲在爽辩任务中镶麓普通系统调臻,雩l 入宾蹿兹兔述宠融软魏 ( r t f i f o ) 檄稍在实时任务帮普通进程之闻通信。 第 2 菱 北京邮电大举硕士研究生学位论文智能终端嵌入捌:l i n u x 操作系统的研究与实践 第四章。硬件特点 a 跳处理嚣煞3 大特点: 耗电少,成本低,功能强。 1 6 3 2 位双指令集。 全球众多合佟耿律傈谜供应。 4 1 。圭娶处理芯劳 关于硬l 牛部分应该是镬用瑗成懿手掇魄路扳。毽是姿今手枫中黪主要的芯片 组中,有三代a r m 的构架芯片:a r m 7 ,a r m 9 和a r m i o e 。这几款芯片分别有以下 戆一些特点: a r m 7 : 、 具商嵌入式i c e r t 逻辑,调试开发方便。 极低的功耗,遭台对功耗要求较高的应并j ,如使携式产品。 够提供0 。9 鞲l 菸雕z 的三缀流承线结擒。 代码密度离著兼容1 6 能的t h u m b 指令集。 对操作系统的支持广泛,包括w i n d o w sc e 、l i n u x 、p a l m0 s 等。 指令系统与a r m 9 系列、a r m 9 e 系剜和a r m i o e 系列兼容,便于嗣户的产品 升级换代。 主频最高可达1 3 0 m i p s ,高速的运算处理能力能胜任绝大多数的复杂应用。 a r m 7 系列微处理器的主要应用领域为:工业控制、i n t e m c t 设备、网络 秘调制艇调嚣设蛋、移动电话等多秘多媒体和嵌入式疲用。 a r m 9 : 5 缀整数滚水线,指令撬行效率受越。 提供1 1 m i p s m t t z 昀哈馋结构。 支持3 2 位a r m 指令集和1 6 位t h u m b 指令集。 支持3 2 证的高速a m b a 总线接口。 全壤韪戆猁,支持w i n d o w sc e 、l i n u x 、p a l mo s 等多耱主浚嵌入戏操 作系统。 第1 3 美 北京邮电太学硕士研究生学位论文智能终端嵌入式l i n u x 操作蘸统的研巍与实践 m p u 支持实时操作系统。 支持数据c a c h e 和指令c a c h e ,媳有更高的指令和数据处理能力。 a r 1 9 瑟裂擞处理器主要应霜予无线设备、纹器仪表、安全系统、梳顶盒、 高端打印机、数字照相秽l 和数字摄像机等。 通过对德州仪器的j 器片进行了解发现:太多数新型号的芯片都是采用的 a p d 9 躲援黎。 但是如果要是适应下一代躲手机,那a r m 9 也不能满足要求,可能要通过 a r m i o e 才能够满足要求。 a r m l o e : 支持d s p 指令集,适合于需要高速数字信号处理的场合。 6 级整数流水线,指令执行效率更高。 支持3 2 位a r m 指令集程1 6 位t h u m b 掺令集。 支持3 2 位的黼速a m b a 总线接口。 支持v f p i o 浮点处理协处理器。 全性能的m m u ,支持w i n d o w sc e 、l i n u x 、p a l mo s 等多种主流嵌入式操 作系统。 支持数据c a c h e 和指令c a c h e ,具有更商的指令和数据处理能力 主频最高可逸4 0 鳓i p s 。 巍嵌并行读霹操作部佟。 a r m i o e 系列微处理器主要应用予下一代无线设备、数字消费黯、成像设 备、工业控制、通信和信息系统等领域。 第1 4 甄 北京邮嘏大学硕士研究生学能论文橱靛终端嵌入式l i n u x 操作系统的研究与实践 4 2 a r m 芯簧妻奄主要梅架 n l 蝴 图4 1 a r m 体系枧= 奄爨唪;主要有以下这几嫠分缎成:3 2 位a l u ,3 1 个3 2 馁逶焉毒 存器戳及6 个状态寄存器,3 2 8 位乘法器,3 2x3 2 位桶形移位寄存器,措令译 码及控制逻辑,指令流水线和数搦地址寄存器。 第1 5 页 茕衮都毫大学硕士研究生学链论文智靛终端墩入式l i n h 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 进行有针对性的修改。使其 在硬件平台上可以发挥最高效率。在本文所描述的项目中,笔者对嵌入式l i n u x 操作系统的功能主要划分为阻下几个部分: 1 内存管理 实现和优化对系统内存的动态管理,最高效的使用内存资源。由于在多数嵌 入式系统中,没有支撑虚拟内存机制的硬件条件,笔者考虑完全去除l i n u x 中有 关虚叛肉存管理的内容。 2 多任务处理 嵌入式操作系统的多任务处理机制应该在精简的前提下尽可能的离效,并邋 当兼顾实时。笔者力求突破l i n u x 进程调度机制在迸程实时切换方面的局限,设 计和实璃一种灵活可控的抢占式进程调度梳铺。 3 外围资源管理 虽然对于固定的嵌入式系统硬件平台来说,外围设备的种类和数堂也是相对 国定的,僵考虑蓟笔者移禳得弼匏是一个嵌入式l i n u x 的原羹揉僚系统,西而臻 者力求奁嵩效鑫每蔫提下提滋一套努掇资源管理煞可扩展群决方案,戳遥痤将泉交 健的硬馋设备。农本项基的软傍开发过程中,对l i n u x 内核漯代璐进行剪裁,设 计并实现一个能在特定硬件平台上正常i _ 作的嵌入式操作系统是基础,也怒一大 难点。具体体现在目标代码大小和系统功能、性能之间的矛盾处理,其中包括文 件系统在特定运行环境中的设计、针对嗣前l i n u x 进程调度机制在实时应用方面 的改进等等。 嵌入式l i n u x 开发大致涉及三个层次:引器装载程序、l i n u x 内核和图形 第1 6 页 l 塞郏电大学颧研究生学垃论文 簧辘终端嵌入式“h x 搽作系统静磺究与实残 用户界顽( 或称g u i ) 。深入了解引导装载程序、内核和文件系统是如何交互的; 并将研究可用于文件系统、g u i 和引导装裁程序的众多选项中的一部分。 5 1 弓l 导装载程序 弓l 导装载程序逶常是在任舞凝件挠行数第一段代码。在象台式辊这样的常 规系统中,通常将引导装载摆序装入主弓l 导记录( m a s t e rb o o tr e c o r d ,m b r ) 中,或者装入l i n u x 驻窿的磁盘的第一个扇区中。通辫,在台式机或其它系统 | 二,g l o s 将控制移交给引导装载程序。这就提出了一个有趣的问题:谁将引导 装载程序装入( 在大多数情况中) 没有b i o s 的嵌入式设备上昵? 5 1 1 微小的引导代码 某些种类的嵌入式设备具有微小的弓l 导代娼一根据几个字节的掺令一它 将初始化一些d r a m 设置并启用同标上的个串行( 或者u s b ,或者以太网) 端 r : 与主机程序通信。然后,主机程序或装入程序可以使用这个连接将引导装载程 序传送到目标上,并将它写入闪存。 在安装它并给予其控制后,这个引导装载程序执行下列各类功能: 孛刀始化c p u 速度。 初始化内存,包括启用内存库、初始化内存配置寄存器等。 初始化串行端日( 如皋在鲤拯上有的话) 。 痿用撂令数据袁速缓存。 设置难棱撂爨“。 设置参数区域并构造参数结梅和标记( 这是羹要的一步,因为内核在标识 棂设备、更露大小、内存大小以及更多内容黠簧镬翅弓l 导参数 。 执行p o s t ( 热毫舀检) 来标谈存在的设备并报告任筒问题。 为电源管理握供搔起恢复支持。 虢转到内核的开始。 带有弓| 导装载糕痔、参数结构、痰孩霸文 牟系统的系统典型内存布局,翔下 联示: 典型内存蠢局 产肉存璜藕e , 第1 7 负 托寨髂亳大学硕士研究生学能论文 智能蒋端嵌入式l i n u x 操柞系统拍研究与宴哦 b o o t l o a d e r p a r a m e t e ra r e a k e r n e l f i l e s y s t e m 芦蠢存羝瑞t , 嵌入式设备,t 一筵流行鹃并可免费使掰的l i n u x 弓i 导装载程序有b j o b 、 r e d b o o t 帮b o o t l d r 。鼹翥这鎏弓 嚣装鼗程序都羯于罄予a r m 设备土酌l i n u x , 并纛要l f l a s h ji n u x _ 工疑用予安装。 、一璺蛰弓l 导装载耧序安装裂譬撂靛阌存孛,它就会撬辱亍上瑟掇到的耩务孛秀戆 化工 乍。然盾,它准备接收来建主极的晦垓彝文 孛系绫。一旦装入了两垓,g l 导 装载程序就将控制转绘内核。 5 2 实时系统的研究 基于以上对实时、实时系统、实时操作系统的分析和认识,笔者抽象出一种 理想的实对调度模型。理想的其有嶷好实对槛性能的绦作是能够在必要时随时进 行任务鹚挨盼操作。在蟊翁鹊计算辊体系下,中断辊潮麓对实时任务的不可预朝 性徽出最快螭应,是计算凝系绞感知不霹琰翅事 牛熬主滚技术。 露以鼹这样的场豢柬搂述这个淫葱鹣实时调度模型一一任务矗正常运彳亍串, 发,土中颧i n t r i ;i n t r 调整当蕊系统中冬任务熬优先级级别,从露产生了一个毖 任务a 优先缴更糍的任务b ( 或者说,馒原来优先级较任务a 低的任务b 的优先 级高于任务a ) :i n t r i 结粜时( 后) 立即进行任务切换,将任务a 的c p u 执行权交 给任务b 这一场景就是系统在任务切换方面的基本切换单元,任务a 是该单元的入 口,任务b 怒该单元的出口,中断n t r i 是任务切换触发器。整个系统运行的生 命璃期( 也可以讲是c p u 的活动周期) 就是囱这样一系歹| j 任务切换单元组成的任 务镶构成妁。这个任务链熬基本特征是:螽一令切换攀元豹入露是藩一令锈换
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 120万吨每年洗煤厂项目可行性研究报告
- 小组任务设计思路
- 同伴交往辅导课程方案
- 跨境电商英语文案设计
- 金融市场基础知识考试题库及答案
- 健康素养测试题目及答案
- 建筑废弃物资源化综合利用方案(完-整版)
- 技师绿化工试题题库及答案
- 急性呼吸窘迫综合征与多器官功能障碍综合征题库及答案
- 环氧自流平地坪施工方案(完-整版)
- 2026年机械加工企业安全考试题库及答案
- 常见老年慢性病患者的居家护理
- 2027届浙江省七彩阳光、浙南名校、精诚联盟、金兰教育高三上学期8月开学联考物理+答案
- 第9课 安全文明上网 第2课时 课件(内嵌视频)2026-2027学年道德与法治四年级上册统编版
- 2026世界互联网大会文化遗产数字化案例集
- 2026年水利安全员b证考试题库及答案解析
- 供应链协同管理方法论文
- 中国结石用药市场需求前景规模及未来前景展望研究报告
- 《热爱班集体》教学设计-2026-2027学年统编版(新教材)小学道德与法治四年级上册
- 医疗卫生机构数据分类分级指南(试行)
- 2026年高中音乐教师资格证笔试真题及答案
评论
0/150
提交评论