欢迎来到天天文库
浏览记录
ID:13045562
大小:237.47 KB
页数:11页
时间:2018-07-20
《《嵌入式实时操作系统》》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《嵌入式实时操作系统》课程大作业专业计算机科学与技术学生姓名班级学号任课教师孟海涛完成日期2016年1月14日目录一、背景2二、嵌入式实时操作系统概述22.1嵌入式操作系统22.2嵌入式实时操作系统22.3嵌入式实时操作系统μC/OS-II3三、μC/OS-II中的任务43.1μC/OS-II中任务控制块43.2任务的创建53.3、任务挂起53.4、任务删除53.5、任务恢复63.6、任务调度63.7、任务的同步与通信63.7.1任务的同步与事件63.7.2消息邮箱63.7.3消息队列7四、μC/OS-II的中断与时钟7五、μC/OS-II的移植85
2、.1系统内核 85.2与处理器相关的部分 85.3与应用相关的代码 95.4用户应用系统 10六、结论10一、背景随着计算机技术的迅速发展和芯片制造工艺的不断进步,嵌入式系统的应用日益广泛:从民用的电视、手机等电路设备到军用的飞机、坦克等武器系统,到处都有嵌入式系统的身影。在嵌入式系统的应用开发中,采和嵌入式实时操作系统(简称RTOS)能够支持多任务,使得程序开发更加容易,便于维护,同时能够提高系统的稳定性和可靠性。这已逐渐成为嵌入式系统开发的一个发展方向。二、嵌入式实时操作系统概述2.1嵌入式操作系统嵌入式操作系统是一种支持嵌入式系统应用的操作系统
3、软件。它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器Browser等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、标准设备驱动程序以及工具集等。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件
4、、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。2.2嵌入式实时操作系统嵌入式实时操作系统(EmbeddedReal-timeOperationSystem,RTOS)。嵌入式系统是"用于控制、监视或者辅助操作机器和设备的装置"8嵌入式实时操作系统有很多,如VxWorks、PalmOS、WindowsCE等。这些操作系统均属于商品化产品,价格昂贵且由于源泉代码不公开导致了诸如对设备的
5、支持、应用软件的移植等一系列的问题;而开放源码的RTOS在成本和技术上有其特有的优势,在RTOS领域占有越来越重要的地位,本书介绍μC/OS-II源码公开的实时操作系统,通过对它们各自的特点和性能进行分析和比较,给出相关的数据,为选择一种合适的RTOS提供参考。2.3嵌入式实时操作系统μC/OS-IIμC/OS-II的前射是μC/OS,最早出自于1992年美国嵌入式系统专家JeanJ.Labrosse在《嵌入式系统编程》杂志的5月和6月刊上刊登的文章连载,并把μC/OS的源码发布在该杂志的BBS上。当时就有500多人下载了这份源码。世界上数以千计的工
6、程技术人员将μC/OS应用到了各个领域,如照相机业、发动机控制、网络接入设备、高速公路电话系统、ATM机和工业机器人等。1998年,作者决定出版μC/OS的第二本书《μC/OS-IITheRealTimeKernel》,并设立了正式的网站:www.ΜC/OS-II.com,给μC/OS-II增加了一些新的功能,并且增加了约200页的解释。μC/OS和μC/OS-II是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU上。
7、用户只要有标准的ANSI的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS嵌入到开发的产品中。μC/OS具有执行效率高、占用空间小、实时性能优良和可扩展性能等特点,最小内核可编译至2KB。μC/OS-II已经移植到了几乎所有知名的CPU上。 首先要了解任务的概念。任务其实就是一个线程,或者更通俗点说就是一个函数和与之相关联的一些数据结构构成的一个实体。8三、μC/OS-II中的任务μC/OS-II中任务包含三个部分:1、任务控制块:保存了任务的属性;2、任务堆栈:保存了任务的工作环境;3、任务程序代码:任务的执行部分。3.1μC/OS-I
8、I中任务控制块空任务链表因为此链表中这些控制块还没有与具体任务相关联,所以叫做空任务链表。大小为μC/OS-
此文档下载收益归作者所有