(通信与信息系统专业论文)嵌入式操作系统的设计与实现.pdf_第1页
(通信与信息系统专业论文)嵌入式操作系统的设计与实现.pdf_第2页
(通信与信息系统专业论文)嵌入式操作系统的设计与实现.pdf_第3页
(通信与信息系统专业论文)嵌入式操作系统的设计与实现.pdf_第4页
(通信与信息系统专业论文)嵌入式操作系统的设计与实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(通信与信息系统专业论文)嵌入式操作系统的设计与实现.pdf.pdf 免费下载

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

文档简介

abs t ract e m b e d d e d s y s t e m d e s i g n i s a t r e n d i n t h e d e v e l o p m e n t o f m o d e r n e l e c t r o n i c t e c h n o l o g y . i t h as b e e n u s e d in e v e ry w a lk o f l i f e , s u c h a s c o m m u n i c a t i o n s , t h e f i e ld o f c o n t r o l l i n g . a t t h e s a m e t i m e , e m b e d d e d o p e r a t i o n s y s t e m p l a y s t h e m o s t i m p o r t a n t r o l e i n e m b e d d e d s y s t e m . s o t h e w r i t e r i n t e n d s t o p o rt a n e m b e d d e d o p e r a t i o n s y s t e m t o t h e h a r d w a r e p l a t f o r m b a s e d o n a r m e m b e d d e d m i c r o - p r o c e s s o r , a n d b u i l d s a w h o l e e mb e d d e d s y s t e m. t h i s t h e s i s w i l l i n t r o d u c e t h e r e a l - t i m e e m b e d d e d o p e r a t i o n s y s t e m - - - u c / o s a n d a n a l y z e i t s k e r n e l . t h e n p r e s e n t t h e m i c r o - p r o c e s s o r e p 7 3 1 2 , w h i c h i s b as e d o n a r m a r c h i t e c t u r e , a n d t e l l y o u h o w i t w o r k s . a ft e r w a r d s , s h o w t h e p r o c e s s o f p o rt i n g u c / o s t o t h e h a r d w a r e p la t f o r m , a n d f o c u s o n t h e p r o b l e m d u r i n g t h e w o r k a n d h o w t o r e s o l v e t h e m . a t l a s t , b r i n g f o r w a r d t h e s c h e m e f o r i m p r o v i n g t h i s s y s t e m p e r f o r m a n c e . k e y w o r d s : e m b e d d e d o p e r a t i o n s y s t e m , r e a l - t i m e , u c / o s 厂 t a s k , p o rt 第四章 第一节 第二节 第三节 第四节 第五节 第六节 第七节 第八节 第九节 参考文献 致谢 u c / o s 在e p 7 3 1 2 平台上的移植. .” 二 ” .“ . “ . ” 二 “ ” “ “ 二 ” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 8 e p 7 3 1 2目 标板说明. . . . . . ” ” . . . “ . “ 二 “ . . . . . . . . . . . . . . . . . . . .” ” 二 “ . . . . . 3 8 u c / o s 操作系统的文件结构二 “ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 9 4041邹51幻55豹58 开发工具. . . ” .“ . . . . ” ” . ” . . . “ . . . “ . . . . ” . ” . ” :. 硬件启动程序. ” . . . “ . ” . ” :.“ ” :. ” . “ . ” :.“ . ” . . . . . . . . . . . . . . .” . . ” . 设备驱动程序” ” . . . . . . ” . . . . ” . . . . . . ” . . . . . . . ” “ . . u c / o s 系统中 硬件相关文件“ ” . . ” . ” ” . . . . . . ” ” 二 ” . “ 操作系统与应用程序的启动” . . . . . . .” ,. . . . . . . . . . . . . . . . . ” “ 二 ” .“ 调试经验. ” ” . . .” . “ 二 ” . . “ . ” . . “ . ” . ” . . . . . .“ . . ,. . . 总结与展望二 “ 二 “ . ” . ” . . . ” . ” . . “ . “ 二 ” . . . . . . “ ” . . . . ,. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 。 5 , 图表 目录 图 表 二一 1 任务 状态转换图 价 价 、 , , . . 8 图 表二 一 2 空 任 务 控 制 块 链 表 价 、 , . . , . . . .、. . 一、 .一 1 0 图表 二一 3就绪表 . . . . . . . . . . . . . . . . . . . . , 1 1 图 表二 一 4 事 件 的 等 待 任 务 列 表 价 4 t 卜 , , . . . . . . . . . “ . . . . 1 6 图 表 二 一 5空闲事 件控制块链表 卜 . . . . .“ . . .1 . . . . .二1 7 图表 二一 6任务、中断服务子程序和信号量之间的关系 4 , . . . 、 . . . 一1 9 图 表二 一 7消 息 队 列的 数 据 结 构 】 1 . . . , “ . . . , . 一 , . . . . . 2 0 图表 二一 8空闲队列控制块链表 , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1 图表 二一 9消息队列是循环缓冲区 . . . . . . . . . . . . . , . . . . . . . . . . . . . . . . . . 二 2 2 图表 二一 1 0内存分区 1 , . . . . . . . . . . . . , . . . . . . . . . . . . . . . . . 2 3 图表 二一 1 1空闲内存控制块链表 、 . . . 、 . . . . . . . . . 二 2 4 图 表 二一 1 2内 存分区结构 , , . . . . . . . . 2 4 图 表 二一 1 3调用o s i n i t o 后的数据结构 价 1 。 一 2 6 图表 二一 1 4空缓冲区 、 , . . . . . . . . . . . 、 . “ , . . . . . . . . . . . . . . 2 7 图 表 三 一 1 a r m 7 2 0 t 框图 . . . . . . . . 2 8 图 表三 一 2 e p 7 3 1 2 功 能 框图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9 图表 二一 3 a r m内部寄存器 1 “ 、 . . . . . , . . . . . . 3 1 图 表二 一 4处 理器 模式 控 制 - . . . . , . . . . . . . , , 、 . . . . . . . . . . 3 2 图表 二一 5中断类型 “ t . . . . . 一 3 2 w 表二 一 6 s e c t io n t r a n s la t io n- . . . . . . , . . . . . . . . . . . . . . . .一, .t. 3 3 图 表三 一 7 l a r g e p a g e t r a n s la t io n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 二 . 3 4 图 表三 一 8 s m a ll p a g e t r a n s l a t io n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .一一 3 4 图 表 二 一 9虚 拟地址映射 , , . . . . . . . . . . . . . . 3 5 图表 三一 1 0多种文件的编译和链接过程 价 、 , 一 3 6 比 6,1气了ouq钾n6 ,j,jfj内j凡j4工、 图表 三一 1 l t p c s 标准 价 价 图表 三一 1 2内启动方式下的内 存分配 图表 三一 1 3外启动方式下的内 存分配 图表 四 一 1目 标板系统框图 . . 图表 四一 2 u c / o s 系统结构 . . . . 图表 四一 3硬件地址分配 、 一 图表 四一 4优先级逆转. . . . . . . . . . . . . . . . . . . . . . . . . .、 一 第一章 绪论 第一章 绪论 第一节嵌入式系统的发展与现状 当 今世界,以计算机技术、 芯片技术和软件技术为核心的数字化技术取得了 迅猛发展, 不仅广泛渗透到社会、 经济、 军事、 交通、 通信等相关行业, 而且深入到家电、 娱乐、 艺术、 社会文化等各个领域,掀起了一 场数字化技术革命。 现代控制技术、多 媒体技术与 i n t e m e t 的 应用与普 及, 促使消费电 子、 计 算机、 通 信一体化( 3 c ) 趋势步伐加快, 嵌 入式技术再 度成 为一个研究热点。 嵌入式系统是以应用为中心, 软硬件可裁减, 适应应用系统对功能、 可靠性、 成本、 体 积、 功耗等综合性严格要求的专用计算机系统。 嵌入式系统主要由嵌入式处理器、 相关支撑 硬件、嵌入式操作系统及应用软件系统等组成, 它是集软硬件于一体的 可独立工作的器件。 综观嵌入式技术的发展,大致经历了以下3 个阶段: 第1 阶段是嵌入技术的早期阶段, 以 功能简单的专用计算机或单片机为核心的 可编程控 制器形式存在, 具有监测、 伺服、 设备指示等功能。 这种系统大部分应用于各类工业控制和 飞 机、 导弹等武器装备中, 早期系统中一般没有操作系统的支持, 通过汇编语言编程对系统 进行直接控制, 运行结束后清除内 存。 这一阶段系统的主要特点是: 系统结构和功能都相对 单一,处理效率较低,存储容量较小,几乎没有用户接口,比较适合于各类专用领域中. 第2 阶段是以嵌入式c p u和嵌 入式操作系统为标志的嵌入式系统。 这一阶段系统的主 要特点是: 计算机硬件出现了高可靠、 低功耗的嵌入式,如p o w e r p c等,各类商业嵌入式 操作系统系统开始出 现并得到迅速发展, 嵌入式操作系统能运行于各种不同类型的微处理器 上, 兼容性好; 操作系统内 核精小、 效率高, 并具备高度的模块化和扩展性: 具备文件和目 录管理、 设备支持、 多任务、 网 络支持、 图形窗口以 及用户界面等功能: 具各大量的应用程 序接口 ( a p i ) , 开发应用程序简单: 嵌入式应用软件丰富。 第3 阶段是以 芯片技术和i n t e m e t 技术为标志的嵌入式系统。 微电子技术发展迅速, s o c ( 片上系统)使嵌入式系统越来越小, 功能却越来越强。目 前大多数嵌入式系统还孤立于 i n t e m e t 之外,但随着i n t e m e t 的发展以及i n t e m e t 技术与信息家电、工业控制技术等结合日 益密切,嵌入式技术与i n t e m e t 技术的结合将推动嵌入式技术的快速发展。 近儿年嵌入式系统的技术发展有了以卜 显著的变化: .新的处理器越来越多, 一方面, 嵌入式操作系统自 身结构的设计更易于 移植, 以便在短 时间内 支持更多种微处理器; 另一方面, 系统应能使用驱动程序开发与配置环境, 造就 一个新的b s p( 板级支持包) 和驱动程序结构, 以适应微处理器不断升级变化所产生的 需求 . 开放源码之风己 波及嵌入式操作系统厂家。 数量相当多的嵌入式操作系统厂家出 售产品 时,就附加了 源程序代码并含生产版税 . 后p c时代更多的 产品使用嵌入式操作系统, 它们对实时性要求并不高, 如手持设备等. 微软公司的wi n c e . p a l m o s . j a v a o s 等产品就是顺应这些应用而开发出来的。 值得 注意的是随着i n t e rn e t 及芯片技术的 快速发展,消费电子产品的需求日 益扩大, 原来只 第一章 绪论 关注实时操作系统市场的厂家纷纷进军消费电 子产品市场推出了 各自 的解决方案, 使嵌 入式操作系统市场呈现出相互融合的趋势 . 电 信设 备、控制系统要求的高可靠性,对嵌入式操作系统提出了新的要求 . 各类通用机上使用的新技术、 新观念正逐步移植到嵌入式系统中, 如移动数据库、 移动 代理等, 嵌入式操作系统也出 现了荃于面向 对象的分布式技术, 如实时c o r b a 、 嵌入 式c o r b a ,嵌入式软件平台正逐步形成 .各种嵌入式l i n u x 操作系统正迅速发展, 已 经形成了能与win d o w s c e等嵌入式操作系 统进行有力竞争的局面。 嵌入式l i n u x 操作系统的迅速崛起, 主要由于人们对自由 软件 的渴望与嵌入式系统应用的特制性, 要求提供系统源码层次上的支持, 而嵌入式l i n u x 正适应了 这一需求, 它具有开放源代码, 系统内 核小、 效率高、 内 核网络结构完整等特 点,裁减后的系统很适于如信息家电等嵌入式系统的开发 . 面向定 制趋势, 在系统级整合改造并支持应用特制的 性能, 即在定制的或商品化的硬件 上提供高性能和高可靠性系统服务, 将操作系统的功能和内存需求定制成每个应用所需 的系统, 这同时也对嵌入式系统的设计提出了挑战 . 嵌入式系统的多媒体化和网 络化方向 趋势, 特别是i n t e rn e t 与和无线网络的结合 . 基于知识的嵌入式系统也已 开始出现 上述变化孕育嵌入式系统将进入一个快速发展时期, 在不久的将来, 嵌入式系统应用将 越来越多样化, 为用户提供更多的选择方案。 它不仅仅局限于传统的控制领域, 将广泛应用 于 信息家电、工业、 农业、商业、服务业等各行业,而且将渗透到社会和家庭的各个角落。 嵌入式系统的未来将更加绚丽缤纷、丰富多彩。 第二节嵌入式操作系统的特点与分类 作为嵌入式系统灵魂的嵌入式操作系统是随着嵌入式系统的发展而出 现的, 它是嵌入式 系统发展到一定阶段的产物。嵌入式操作系统的出 现, 将大大提高嵌入式系统开发的效率, 改变以 往嵌入式软件设计只能针对具体的 应用从头做起的历史。 在嵌入式操作系统之上开发 嵌入式系统将减少系统开发的工作量, 增强嵌入式应用软件的可移植性, 使嵌入式系统的开 发更具有科学性。可以 说嵌入式操作系统的出 现为嵌入式系统的发展铺平了道路。 嵌入式操作系统并不是简单嵌入的操作系统, 它与通常意义上的操作系统有一定的区 别。 嵌入式操作系统负责嵌入式系统的全部软、 硬件资源的分配、 调度工作, 控制并协调并 发活动, 具有一般操作系统的荃本功能, 如任务调度、 同步机制、 中断处理,同时它必须体 现其所在系统的特征, 能够通过装卸某些模块来达到系统所要求的功能。 嵌入式操作系统是 以 库的 形 式 提 供 给用 户, 用 户 可 以通过 操 作系 统的a p i ( a p p l ic a t io n p r o g r a m m in g i n t e r f a c e ) 使用嵌入式操作系统。与通用操作系统相比,嵌入式操作系统具有如f 一些特征: ( 1 ) 小巧:嵌入式系统所能提供的资源有限, 所以 嵌入式操作系统必须做到小巧以 满 足嵌入式系统的硬件限制。 ( 2 ) 实时性:大多数嵌入式系统工作在实时性要求很高的环境中。这就要求嵌入式操 作系统必须将实时性作为一个重要的发面来考虑。 在信息时代, 人们必须在有效的时间内 对 第一章 绪论 到来的 信息 进行处理, 从而为 进一 步的 决 策分 析争 取时间。 所以 嵌入式操作系统必 须体 现一 定的实时性。 ( 3 ) 可装卸:由于嵌入式系统需要根据应用的 要求进行装卸,所以嵌入式操作系统也 必须能够根据应用的要求进行装卸, 去除多余的部分, 或者简化相应的模块。 这些特征在嵌 入式系统的模块划分中必须事先考虑周全。 ( 4 )固化代码:在嵌入式系统中,嵌入式操作系统与应用软件被固化在嵌入式系统计 算机的r o m中。 辅助存储器在嵌入式系统中使用很少, 因此, 嵌入式操作系统的文件管理 功能应该能够很容易地拆卸,取而代之的是各种内存文件系统。 ( 5 ) 弱交互性:大多数嵌入式系统的工作过程不需要人的干预。嵌入式操作系统的 用 户接口一般不提供操作命令,它通过系统调用命令向用户程序提供服务。 ( 6 )强稳定性:嵌入式系统一旦开始运行就不需要人过多的干预.在这种条件下, 要 求负责系统管理的嵌入式操作系统具有较高的稳定性。 ( 7 ) 统一的接口:随着各种各样的嵌入式操作系统的出 现, 人们有必要对嵌入式系统 提供的接口进行约定, 从而为嵌入式应用软件的设计者提供统一的服务接口, 为嵌入式应用 软件的运行提供平台的无关性。 嵌入式操作系统按实时性能可以分为两类。 一类是面向控制、 通信等领域的强实时操作 系统如w in d r iv e r 公司 的v x w o r k s , p s o s . q n x系 统软 件公司的q n x . a t 的n u c le u s 等。 其中 在国内 市场中v x w o r k s 和p s o s 有较大 影响。 另一 类是面向消费电 子产品的 弱实 时 操 作系统, 这类产品包括个人数字助理( p d a ) 、 移动电 话、机顶盒、电子书、w e b p h o n e等, 比 较著名的有w i n d o w s c e . p a l m o s 。 这些操作系统都是商业化的。 目 前还有一些嵌入式操作系统是源代码公开,如:u c / o s , l i n u x 等。这些操作系统满 足一定的实时性要求,比其他商用操作系统更具有价格竞争力。 第三节实时操作系统 ( r t o s )概述 目 前嵌入式应用领域的一个发展倾向是采用实时多任务操作系统( r e a l t i m e o p e r a t i o n s y s t e m , r t o s ) 。 过去 一个单 片机 应用程 序所 控制的 外设 和履行的 任务不多, 采取一 个 主 循 环和儿个顺序调用的子程序模块即可满足要求。 目前单片机芯片本身的性能大幅度提高,可 以适应应用复杂化这一要求,问题在于软件上。 随着应用的复杂化, 一个嵌入式控制器系统 可能要同时控制/ 监视很多外设,要求有实时响应,有很多处理任务,各个任务之间有多种 信息传递, 如果仍采用原来的程序设计方法存在两个问题。一是中断可能得不到及时响应, 处理时间过le , 这对于一些控制场合是不允许的, 对于网络通信方面则会降低系统整体的信 息流量。 止是系统任务多, 要考虑的各种可能也多, 各种资源如调度不当就会发生死锁, 降 低软件可靠性,程序编写任务量成指数增加。 实时操作系统是一段在嵌入式系统启动后首先执行的背景程序, 用户的应用程序是运行 于r t o s 之上的 各个任务, r t o s 根 据各个 任务的 要求, 进行资 源( 包括存储器、 外设 等 ) 管 理、消息管理、任务调度、异常处理等工作。在r t o s 支持的系统中,每个任务均有一个优 先级, r t o s根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。 _l 程 师在编写程序时, 可以分别编写各个任务, 不必同时将所有任务运行的各种可能情况记在心 中,大大减小了程序编写的1 _ 作量,而且减小了出错的可能,保证最终程序具有高可靠性。 第一章 绪论 实时多 任务操作系统,以分时方式运行多个 任务. 看上去好象是多个任务 “ 同时” 运 行。 任务之间的 切换应当以 优先级为根据, 只有优先服务方式的r t o s 才是真正的实时操作 系统, 时间 分片方式和协作方式的r t o s并不是真正的“ 实时” . r t o s也体现了一种新的 系统设计思想和一个开放的软件框架, 工程师可以 在不大量变动系统其它任务的情况下增加 或去掉一个任务; 一个项目 开发的过程中, 可以 有多个工程师同时进行系统的软件开发, 各 个人之间只要制订好规程和协议即可, 既缩短了开发时间, 又降低了最终软件产品对于具体 某个开发者个人的依赖性。 为r t o s 设计的成熟和通用的任务可以以库函数的形式供其它人 继续利用, 和c语言的设计思想一致。因此可以说r t o s是嵌入式软件的编写从 “ 小生产 方式”进入 “ 大生产方式”的必然产物。 实时多 任务 操作系统一般以 源代码形式 供应 用户, 作为p r o j e c t 源程序的一部 分参加编 译和汇编, 最终在用户代码中占 有一部分。 例如c m x的r t o s 在8 0 c s i x a系统中采用大 模式编译增加代码量3 3 1 0 字节,最大中断潜伏时间在3 0 m时钟下为2 . 9微秒。 实时操作系统 ( r t o s )的研究是从六十年代开始的。从系统结构上看, r t o s到现在 已经历了如下三个阶段: 1 . 早期的实时操作系统 早期的实时操作系统, 还不能称为真正的r t o s , 它只是小而简单的、带有一定专用性 的软件, 功能较弱, 可以认为是一种实时监控程序。 它一般为用户提供对系统的初始化管理 以 及简单的实时时钟管理,有的实时监控程序也引入了 任务调度及简单的任务间协调等功 能, 属于这 类实时监控程序的有 r t m x等。这个时期, 实时应用较简单,实时性要求也不 高。应用程序、实时监控程序和硬件运行平台往往是紧密联系在一起的。 2专用实时操作系统 随着应用的发展, 早期的r t o s己 越来越显 示出明 显的不足了。 有些实时系统的开发者 为了 满足实时应用的需要, 自己 研制与特定硬件相匹配的实时操作系统。 这类专用实时操作 系 统在国 外 称为r e a l- t im e o p e r a t i n g s y s t e m d e v e l o p e d in h o u s e 。 它是在早期用户为 满足自 身开发需要而研制的, 它一般只能适用于 特定的 硬件环境, 且缺乏严格的评测, 移植性也不 太好。属于这类实时操作系统的有i n t e l 公司的i ma x 8 6 等。 3 . 通用实时操作系统 在各种专用r t o s 中, 一些多任务的机制如基于 优先级的调度、 实时时钟管理、 任务间 的 通信、 同步互斥机构等基本上是相同的, 不同的只是面向 各自 的硬件环境与应用目 标。 实 际上, 相同的多任务机制是能够共享的, 因而可以把这部分很好地组织起来, 形成一个通用 的实时操作内核。 这类实时操作系统大多 采用软组件结构, 以一个个软件. 标准组件“ 构成通 用的实时操作系统,一方面,在 r t o s内核的最底层将不同的硬件特性屏蔽掉:另一方面, 对不同的应用环境提供了 标准的、 可剪裁的系 统服务软组件。 这使得用户可根据不同的实时 应用要求及硬件环境选择不同的软组件, 也使得实时操作系统开发商在开发过程中减少了 重 复性_工 作。 这类通用实 时操 作系 统, 有w in d r iv e : 公司 的p s o s + 和v x w o r k s , i n t e l 公司 的ip, m x 3 8 6 , r e a d y s y s te m公 司( 后与m ic r o t e c r e s e a r c h 合并) 的v r t x 3 2 等。 它们一般 都提供了 实 时 性较好的内 核、 多 种任务 通信 机制、 基于t c p / i p 的网 络组件、 文件管理及i / o服务, 提供 了 集编辑、 编译、调 试、 仿真为一体的集成开发 环境, 支持用户使用c , c 什进行应用程序 的开发。 第一章 绪论 实时操作系统经过多 年的 发展, 先后从实 模式进化到保护模式, 从 微内 核技术进化到到 超微内 核技术, 在系统规模上也从单处理器的r t o s发展到支持多处理器的r t o s和网络 r t o s , 在操作系统研究领域中形成了一个重要分支. r t o s 是操作系统研究的一个重要分支,它与一般商用多任务o s 如u n i x , win d o w s . m u lt i f i n d e r 等有共同 的 一 面, 也有 不同的一 面。 对于商用多 任务o s , 其目 的是 方便用户管 理计算机资源, 追求系统资源最大利用率;而r t o s 追求的是实时性、 可确定性、可靠性. 评价一个实时操作系统一般可以 从任务调度、 内 存管理、 任务通讯、 内 存开销、 任务切换时 间、 最大中断禁止时间等几个方面来衡量。 i 、 任务调度机制: r t o s的实时性和多任务能力在很大程度上取决于它的任务调度机制。从调度策略上 来讲, 分优先级调 度策略和时间片轮转调度策略; 从调度方式上来讲, 分可抢占、 不可抢占、 选择可抢占 调度方式:从时间片来看,分固定与 可变时间片轮转。 2 . 内存管理:分实模式与保护模式。 3 . 最小内存开销: r t o s 的设计过程中, 最小内存开销是一个较重要的指标, 这是因为在工业控制领域中 的某些工控机 ( 如上下位机控制系统中的下位机) ,由于基于降低成本的 考虑,其内 存的配 置一般都不大, 例如康拓 5 0 0 0系列 5 1 8 5板,其基本内存配置仅为 2 5 6 k s r a m十1 2 8 k e p r o m, 而在这有限的 空间内不仅要装载实时操作系统, 还要装载用户程序。 因 此, 在r t o s 的设计中, 其占用内存大小是一个很重要的指标, 这是r t o s 设计与其它操作系统设计的明 显区别之一。 4 . 最大中断禁止时间: 当r t o s 运行在核态或执行某些系统调用的时候, 是不会因为外部中断的到来而中断执 行的。 只有当r t o s 重新回到用户态时才响应外部中断 请求, 这一过程所需的最大时间就是 最大中断禁止时间。 5 . 任务切换时间: 当由于某种原因使一个任务退出运行时, r t o s 保存它的运行现场信息、 插入相应队列、 并依据一定的调度算法重新选择一个任务使之投入运行, 这一过程所需时间称为任务切换时 间。 第四节课题的提出及意义 在嵌入式应用中使用实时操作系统 ( r t o s )已 成为当前嵌入式应用的一个热点、一种 时尚。 一个好的实时 操作系统能够大大提高控制产品的研制效率, 缩短开发时间, 更有利于 多人的分_ i 二 协作。 商业的实时操作系统具有强火的功能、 良 好的接口。 但其昂贵的价格限制了它在为数众 多的低端低成本的嵌入式场合的应用。 并且对这些场合来讲, 一个包含网络协议栈、 文件管 理、 完整的内存管理的 操作系统实在是显得过于庞大和强大了, 它们需要的仅仅是一个稳定 的、包含任务管理和进程调度的实时内核。 u c / o s是一个开放源代码的、精简的实时内核。它功能强大,提供了任务管理、进程 第一章 绪论 调度、 任务间通信、内存管理等功能。 它具有如下特点: ( i )可移植性 ( p o r t a b l e ) 。绝大部分u c / o s 的源码是用移植性很强的a n s i c写的。 和微处理器硬件相关的那部分使用汇编语言写的。而汇编语言写的部分己经压到最低限 度, 使得u c / o s 便于移植到其他处理器上。 ( 2 ) 可固化 ( r o m a b l e ) , u c / o s是为嵌 入式应用而设计的,这就意味着, 只要有固 化手段 ( c编译、连接、下载和固化) , u c / o s 可以嵌入到用户产品中成为产品的一部分. ( 3 ) 可裁减 ( s c a l a b l e ) 。这种可裁减性是靠条件编译实现的。只要在用户的 应用程序 中 ( 用# d e f i n e c o n s t a n t s 语句) 定义那些u c / o s 中的功能是应用程序需要的就可以了 。 这样 可以减少产品中所需的存储器空间 ( r o m和r a m) . ( 4 ) 占 先式 ( p r e e m p t iv e ) . u c /o s 是基于 优先 级的、 抢占 式的实时内 核。 它总是 运行 就绪条件下优先级最高的任务。大多 数商业内 核也是占 先式的, u c / o s在性能上和它们类 似。 ( 5 ) 多任务。u c / o s 可以管理6 4 个任务, 然而,目 前这一版本保留8 个给系统。 应 用程序最多可以 有5 6 个任务. ( 6 ) 可确定性。 全部u c / o s 函数的调用与服务的执行时间具有其可确定性。 也就是说, 全部u c / o s 的函数调用与服务的 执行时间是可知的, u c / o s 系统服务的 执行时间不依赖于 应用程序任务的多少。 ( 7 ) 任务栈。 每个任务都有自 己 独立的栈, u c / o s 允许每个任务有不同的 栈空间,以 压低应用程序对r a m的需求。 ( 8 ) 系统服务。 u c / o s 提供很多的系统服务, 如消息队列、邮箱、 块大小固 定的内 存 的中请与释放、时间相关函数等。 ( 9 )中断管理。中断可以 使正在执行的任务暂时挂起。如果优先级更高的 任务 被该中 断唤醒,则高 优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可达2 5 5 层。 ( 1 0 ) 稳定性和可靠性。 u c / o s己 经成功地应用到几百个嵌入式的商业应用中,被证明是一个成熟稳定的实时 内核。我们的课题就是在以a r m 7 2 0 t为内核的微处理器 e p 7 3 1 2上移植 u c / o s ,同时对 u c / o s进行改进,使其支持网络功能,搭建一个通用的嵌入式系统平台,为将来的应用打 卜 基础。 第二章u c / o s 内 核原理 第二章u c / o s内核原理 第一节任务管理 2 . 1 . 1 任务的基本概念 任务现在己成为操作系统和并发程序设计中的一个非常重要的概念。 一般认为程序是存 储在磁盘上包含可执行机器指令和数据的静态实体; 而任务是具有一定功能的程序关于一个 数据集合的一次运行活动, 是处于活动状态的计算机程序. 任务是一个随执行过程不断变化 的实体.和程序要包含指令和数据一样,任务也包含程序计数器和所有 c p u寄存器的值, 同时它的堆栈中存储着如子程序参数、 返回地址以及变量之类的临时数据。 当前的执行程序, 或者说任务, 包含着当前处理器中的活动状态。 在多处理操作系统中, 任务具有独立的权限 和职责。 如果系统中某个任务崩溃, 不会影响到其余的 任务. 每个任务运行在各自 的地址空 间中,通过一定的通讯机制,它们之间才能发生联系。 u c / o s 控制下的任务在其生存期内可能处于五种基本状态,如图所示: 休眠态:任务驻留在程序空间中, 还没有交给u c / o s 管理 就绪态:任务本身具备运行条件,等待c p u 运行态:任务占有c p u ,正在运行 等待态:等待除c p u之外的 其他资源或条件 ( 如信号量) ,不能运行 中 断态:正在运行的 任务被中断, 进入中断服务子程序 第二章u c / o s 内 核原理 图表 二一 1任务状态转换图 2 . 1 . 2 基本数据结构 实时操作系统u c / o s 对任务的管理与调度主要是通过任务 控制块和任务就绪表来实 现 的。 任务控制块是一个数据结构,它与任务是一一对应的。在操作系统初始化o s i n i t时, 系统申请了一块r a m空间来存储空闲任务控制块。 一旦任务建立, 系统就会分配一个任务 控制块 ( t a s k c o n t r o l b l o c k s ) o s t c b给该任务。当任务的c p u使用权被剥夺时, u c / o s 用它来保存该任务的状态。当任务重新得到c p u使用权时。任务控制块能确保任务从被中 断的 那一点 继续执行 下去。 o s jc b 全部 驻留 在r a m中, 在任务建 立的时候, o s jc b 被 初始化。下面就是任务控制块的具体结构: t y p e d e f s t r u c t o s t c b o s _ s t k o s t c b s t k p t r ;/ * p o i n t e r t o c u r r e n t t o p o f s t a c k * / w os t as k cr e a t e e xt e n v o i d o s t c b e x t p t r ;/ * p o i n t e r t o u s e r d e f i n a b l e d a t a f o r t c b e x t e n s i o n * / o s s t k o s t c b s t k b o tt o m; / * p o i n t e r t o b o tt o m o f s t a c k * / i n t 3 2 u o s t c b s t k s i z e ; / * s i z e o f t a s k s t a c k ( i n b y t e s ) / i n t 1 6 u o s t c b o p t ;/ . t a s k o p t i o n s a s p a s s e d b y o s t a s k c r e a t e e x t o / i n t 1 6 u o s t c b i d ;/ * t a s k i d ( 0 . . 6 5 5 3 5 ) * / # e n d i f s t r u c t os s t r u c t o s: o s t c b n e x t ; o s t c b p r e v ; / *p o i n t e r t o n e x t t cb i n t h e t cb l i s t * / / p o i n t e r t o p r e v i o u s t c b i n t h e t c b l i s t / # i f ( o s q _ e n/ * p o i n t e r t o e v e n t c o n t r o l b l o c k* / # e n d i f 第二章u c / o s 内核原理 # i f ( o s _ q es e n / * me s s a g e r e c e i v e d fr o m o s mb o x p o s t ( ) o r o s q p o s t p. / # e n d i f i nt1 6 u i nt 8 u i nt8 u o s t c b d l y ; os t c b s t a t ; o s t c b p r i o ; / n b r t i c k s t o d e l a y t a s k o r , t i m e o u t w a i t i n g f o r e v e n t * / / t a s k s t a t u s */ / t a s k p r i o r i ty ( 0 = h i g h e s t , 6 3 一 l o w e s t ) . / o s t c b x ;/ * b i t p o s i t i o n i n g r o u p c o r r e s p o n d i n g t o t a s k p r i o r i ty ( 0 . .7 ) / o s t c b y ;/ . i n d e x i n t o r e a d y t a b l e c o r r e s p o n d i n g t o t a s k p r i o r i ty / o s t c b b i t x ;/*b i t m a s k t o a c c e s s b i t p o s i t i o n i n r e a d y t a b l e * / o s t c

温馨提示

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

评论

0/150

提交评论