嵌入式实时操作系统uc_os-II

所需积分/C币:10 2015-03-06 22:10:05 24.15MB PDF
收藏 收藏
举报

嵌入式实时操作系统uc_os-II
有人说,嵌人式系統的应用和发展是计算机技术自桌面系统和网络技术之后,IT产业和 IT技术的又一个新的重大进展。 事实的确如此。就现在的情况来看,在当今人们的生产和生活中嵌人式系统的应用和影 响无处不在。暂且不论火箭、地球卫星、汽车生产线,也不论先进的武器装备系统,就是在日常 生活中人们几乎天天离不开的移动电话、空调器数码相机洗衣机、电饭锅、电热水器等装置 和设备中,都有嵌人式系统暗暗地在发挥着控制作用,从而使这些装置和设备具有了较高的自 动化水平甚至体现出了某种智能性,为人们提供了更为体贴、更为周到的服务。可以期望,就 在不远的将来,普通百姓还会用到地球卫星定位系统高级音像系统智能可视电话智能采暖 设备、个人医疗保健设备家用机器人等更为人性化的装置和设备,从而使人们的生活更舒适, 工怍效率更高。然而,这一切无不依赖于嵌人式系统技术的发展和应用。 众所周知我国经济建设正处在一个高速发展时期我国正在成为世界电字制造业的重要 基地之一,从而形成了对嵌人式系统技术及相关技术人才的巨大需求。面对这种日益广泛而 迫切的需求,各高等院校和培训机构都纷纷开设了与嵌人式系统技术相关的专业和课程,以期 学生在校学习期间就能受到嵌入式系统技术方面的教育和训练。 但是,如何进行这方面的工作却遇到了挑战。从目前的情况来看,至少有两个主要的困 难:一是不论哪个专业都不可能投入较大量的教学时数来专门用于嵌入式系统的教学;二是 掌握嵌人式系统的技和设计方法对学生的基础要求较高,任何一个专业都不可能以嵌人式 系统为培养日标设置该专业的基础课程(至少目前是这样》。因此作者认为在目前的情况下, 嵌人式系统的教学应该依托于各专业的现有课程体系,选准切人点,以学生初步掌握嵌人式系 统的基本概念基本理论基本应用基本设计方法和基本特点为教学目标,设置1~2门小型 课较为合适。 作为嵌入式系统这种比较特殊的计算机系统,其基本构成仍然是硬件和软件两部分。对 于硬件部分的教学,各专业可在原教学内容基础上根据嵌人式系统的硬件特点加以适当的修 改和补充(这样不会增加过多的课时)。而软件部分(主要是嵌入式操作系统),作为计算机专 业可以把原有的操作系统课程在内賽上进行延伸,比如把一个实际的嵌入式操作系统(例如 μC/0S-I当作一个实例来介绍,同时也避免了原来操作系统课程过于空洞的弊端。当然 也可以把嵌入式操作系统单独作为一门小课来讲授。因为计算机专业学生已学过操作系统课 程,所以单独设置的这门小课的内容就可以适当丰富一些比如, CLinux和凵C/OS-I1) 嵌入式实时操作系统C/OS-原理及应用 由于非计算机专业原来就没有操作系统课程,于是就应该单独设置一门嵌入式操作系统 的课程。课程的内容应以系统简单、概念清晰且有较强实用性的嵌人式操作系统为宜。 本书就是为使学生了解和初步掌握人式操作系统特点、体系结构及实际应用而编写的 教学用书。 本书的特点及内容如下: 以源码公开的嵌入式实时操作系统C/OS-1l为核心,介绍了嵌入式操作系统在任 务、任务的调度和管理、任务之间的通信和同步、内存管理等方面的实现和应用特点。 ·语言文字通俗易懂,尽量避免了大量程序源代码的剖析讲解而代之以插图和例题,力 求重点突出。 ●在μC/OS-ⅡI系统的移植的讲解方面,尽量避免读者可能不太熟悉的计算机硬件系 统从而冲击读者学习的重点,而以大多数读者都比较了解和熟悉的51系列单片机为 硬件系统(尽管AC/OS-1在51单片机上应用有些嫌大),以使读者可以集中精力学 习和掌握系统移植方面的知识和方法。另外,鉴于基于ARM核的嵌人式处理器在国 内嵌入式系统应用占有相当大的份额,并且发展态势也越来越猛,因此本书也单独用 了一章的篇幅介绍了pC/OS-在ARM上的移植 ●由于实验条件的限制,也为了学习操作系统这类软件的方便,大多数读者通常还是要 以PC机为学习工具的因此本书的例题几乎都可在PC机中调试和运行。另外,为了 使读者更好地使用例题代码和了解C/Os-Ⅱ在PC机屮的移植作者把相关内容作 为附录收到本书中。 ◆本书的教学时数以不超过30学时为宜其中应有6学时左右的实验和8学时左右的 大型作业。 本书是为教学目的編写的教材,适用于高等院校计算机技术及应用、自动化生产过程 控制、仪器仪表电子技术等专业高年级的教学,同时也可用于工程技术人员的自学和 堽训。 ●阅读和学习本书的内容,须在C语盲程序设计、汇编语言程序设计和微型计算机原理 最好学习过片机原理)等方面具有一定的基础。 全书共9章。参加本书编写的有房红征、李益民、刘德华、胡晓红和任哲。由任哲担任主 编并负责全书的统稿工怍 在本书的策划和編写过程中,得到了很多同仁的关心、指导和帮助。特别是本书有关 ∴…/OS-Ⅱ移植的第7章和第8章分别采用了杨虼先生和周立功先生的方法和程序代码,另 蟊多 前言 外本书还用到了 Jean j. Labrosse先生书中的部分例题代码。为此向为本书做过贡献的人 们表示衷心的感谢! 由于作者在嵌入式系統知识方画的欠缺,尤其是在嵌入式系统教学经验方面的不足,因此 本书无论是在教学内容的选取编排上、例题的选用上还是对于难点、重点的讲解上,一定会有 很多不足甚至错误,在此诚挚希望读者批评指正。作者的电子邮箱为 renzhe71@sina,com。 另外,对pC/OS-Ⅱ在51单片机上的移植感兴趣的读者可与杨屹先生沟通探讨,其网址 为www,arecaS.com,电子邮箱为asd地@163,cm。对"C/OS-Ⅱl在ARM核上的移植感兴 趣的读者可与周立功先生联系,其电子郎箱为lg3 gmcu. com。 作者 2005年5月8日 券: 目录 第1章嵌入式实时操作系统的甚本概念 1.1计算机操作系统 1.I1什么是计算机操作系统……:…4 1.1.2操作系统的作用和功能…………………2 1.2嵌入式系统和嵌人式操作系统…………………………………………3 1.2.1嵌人式系统的基本概念…… 1.2.2嵌入式操作系统………………………………………………………………7 1.2.3实时操作系统需要满足的条件 1.2,4嵌入式系统的任务及嵌人式实时操作系统……11 1.3嵌入式实时操作系统C/Os-I简介 …………12 1.4小结………… 平目中鲁哥导号甲甲中中甲导 1.5练习题…………………………………………………………………………14 第2章μC/0s-I中的任务 2.1任务的基本概念 2.1.1任务的状态…47 2.1.2用户任务代码的一般结构……… 2.1.3系统任务… ………………………20 2.14任务的优先权及优先级别……… …………………21 2.2任务堆栈 ………………………21 2.2.1任务堆栈的创建…………………………………22 2.2.2任务堆栈的初始化 s24 务控制块及任务控块链表……25 2.3.1任务控制块的结构… 25 2.3.2任务控制块链表……………………**“…·26 2.3.3任务控制块的初始化………… 28 2,4任务就绪表及任务调度 --29 24.1任务就绪表的结构………………29 入式实时躁作系统pCOs-Ⅱ原理及应用 2.4.2对任务就绪表的操作……… 2.4.3:任务的调度…………………………132 2.5任务的创建 ………………………………………………*………*…………………37 2.5.1用函数 OSTaskCreate(创建任务…………………37 2.5.2用函数 OSTaskCreateEx()创建任务 ,39 2.5,3创建任务的一般方法……………*139 2.6任务的挂起和恢复…146 2.6.1挂起任务……………… 46 2,6,2恢复任务…,11147 2.7其他任务管理函数…… ……………-…………………………53 2.7.1任务优先级别的修改………………… 2.7.2任务的删除………… ■_遭■■■口曹■■重重 2.7.3查询任务的信息 ■■■■■■■■ """s60 2.8C/Os-I的初始化和任务的启动……… iC 2.8.1pC/Os-的初始化……… ,“160 2.8.2C/OS-II的启动…62 29一个示例…………………………………………………………64 2.10小结……………172 2.11练习题…,a,73 第3章pC/OS-I的中断和时钟 3.1pCOS-的中断………74 3,1.1C/OS-Ⅱ的中断过程 3.1.2中断级任务切换函数……………… h南,■”面自血口曲口,加日加首自血_血口■t 78 31.3应用程序中的临界段……………………………………………… 78 3.21C/Os-Ⅱ的时钟……180 3.3时问管理……………………………………………………………………88 33.1任务的延时………………188 33,2取消任务的延时…1 89 3.3.3获取和设置系统吋问………………………… 3 3.4 …………∴………………………………鼠……!96 3.5练习题… 并野一目录 第4章任务的同步与通信 4.1任务间的同步和事件控制块…………… 98 4.1.1任务间的同步 …………………9 4.1.2事件 …-99 4.1.3事件控制块 ”""""·“+112 生1:4操作事件控制块的函数…………4:4 41.5空事件控制块链表………… …115 .2信号量及其操作… 1115 4.2.1信号量 115 4,2.2信号量的操作…………… 乎!甲日里面寻平看面血军平 面日日函中量中 115 4.3互斥型信号量和任务优先级反转……4 …124 生.3.1任务优先级的反转现象 124 4.3.2互斥型信号量…… 130 4.4消息郎箱及其操作… “"“"“…,133 4.4.1消息邮箱…… ……133 4.4.2消息邮箱的操作+… …1133 4.5消息队列及其操作…… 139 4.5.1消息队列 …"139 4.5,2消息队列的操作 导由日目平日世密 142 4.6小结… 148 4.7练习题…………………………………………………………………………149 第5章信号量集 5.1信号量集的结构 150 51.1倍号量集的标志组 "……………*…150 5.1.2等待任务链表……… 酯■辛易平中曾目日日垂日业自「1 152 5.1.3对等待任务链表的操作……… "154 5.2信号量集的操作…………… "…"…""""155 5.2.1创建信号量集… 电甲中国甲串 155 5.2.2请求信号量集…………… 面音由自由面日善审平壶香面 156 52.3向信号量集发信号… "…………157 5.2,4查询信号量集的状态……….1 153 5.2.5删除信号量集 ………166 A嵌入式实时操作系統pCOS-Ⅱ原理及应用 5.3小结 量是日血自自中中看4哥导平面目■自幽由西归卧甲当品日自市日目菲 會曾「中导中甲日甲日目■■目■■ 16 5.4练习题… …………………167 第6章内存的动态分配 6.1内存控制块… 由量_血pⅡ中事:aa日日由面音章看十里T 168 6.1.1可动态分配内存的划分……………168 6.1.2内存控制块 OS MEM的结构 ……,………169 6.1.3空内存控制块链表 ……170 6.2动态内存的管理… 170 6.2.1创建动态内存分区 ,,……,…………171 6.22请求获得一个内存块………… 4…173 6,2.3释放一个内存块………………""""“““" 175 6.24查询一个内存分区的状态… ■T曾昔曾中!曾「日 ……179 6.3小结……………*……… 184 6.4练习题………………………184 第7章在51单片机上移植μC/os-Il 7,1pC/Os-I移植的一般性问题 ……-……185 7.11可重人函数 ……………185 7.1,2时钟节拍的产生…11186 7.1.3任务堆栈的设计……… ……………,……186 7.2在51系列单片机上移植pCOs-I!…………………187 7,2.1改写文件 OS CPU,H …………“"……,……187 7,2.2任务堆栈的设计…………………………………………188 7.2.3文件 OS CPU O.C的改写…… ……………………………194 7.2.4几点必须注意的事项 …………196 ……4…1::196 7.3应用半例……… 7.3.1LED数码显示器的驱动程序………96 7.3.251单片机串行接口的应用… 198 P.4小结…………"… ……,…………,…206 7.5练习题 “205 第8章在ARMT上移植μC/0s-Il 8.1移植规划 :象…盈 目录 8.1.1编译器的选择…… ………207 8.1.2ARM7工作模式的选择……………*……*……*………………………*…*":::.207 8.2移植…………………………………………………………-………2og 8.2.1文件O忘CPU.H的编写……………………………………………208 8.2.2文件 OS CPU CO的編写 210 8.23文件 OS CPU A.S的编写 ■冒■■罪■■事■■冒百■;『■最看國审冒看;。和上垂非细看南目自曲着由面 216 824关于中断及时钟节拍………… 219 8.3移植pC/Os-ⅡI到LPC2000…………………………………………………221 8.3.1挂接SWI软件中断 +222 8.3,2中断及时钟节拍中断…:6 222 8.3,3一个基于COs-和ARM的应用程序实例……… ■■品 223 8.4小结 H+immm. ………+"225 8.5练习题 ““““““中中“如““如““···中··物44在画出如“mm 225 第章μC/0S-I可剪裁性的实现 9.1文件 OS CFO.H中用于系统裁剪的常量 226 9.2配置常量的解释………………228 9.2,1 OS_MAXEVENTS……+228 922 OS MAX MEM PARTS…………229 9.2.3 O5 MAX QS 量量垂世中_中量售由虚西日团 之29 92.4 OS MAX MEM TASKS…2…14229 g.2.5 OS LOWEST PRIO……-…………………… …1229 9.2.6 OS TASK IDLE STK SIZE ■■■函卓量 230 9.2.7 OS TASK STAT EN :…·230 9.2.8 OS TASK STAT STK SIZE………………………230 92.90 S CPU HOOKS EN…………………………………230 9.2.100 SMBOX_ EN……………·……*…*………41231 9.2.110 S MEM EN……………………………………………………231 92.120sQEN 23 9.2.130 S SEM EN…""……………231 9.2414 OS TASK CHANGE PRIO EN 231 9.2.15Os_ TASK CREATE EN……………………-……………:++::231 9.2.160 S TASK CREATE EXT EN……………----rm232 9.2.17OS_TASK_ DEL EN………………232

...展开详情
试读 127P 嵌入式实时操作系统uc_os-II
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
关注 私信 TA的资源
上传资源赚积分,得勋章
最新推荐
嵌入式实时操作系统uc_os-II 10积分/C币 立即下载
1/127
嵌入式实时操作系统uc_os-II第1页
嵌入式实时操作系统uc_os-II第2页
嵌入式实时操作系统uc_os-II第3页
嵌入式实时操作系统uc_os-II第4页
嵌入式实时操作系统uc_os-II第5页
嵌入式实时操作系统uc_os-II第6页
嵌入式实时操作系统uc_os-II第7页
嵌入式实时操作系统uc_os-II第8页
嵌入式实时操作系统uc_os-II第9页
嵌入式实时操作系统uc_os-II第10页
嵌入式实时操作系统uc_os-II第11页
嵌入式实时操作系统uc_os-II第12页
嵌入式实时操作系统uc_os-II第13页
嵌入式实时操作系统uc_os-II第14页
嵌入式实时操作系统uc_os-II第15页
嵌入式实时操作系统uc_os-II第16页
嵌入式实时操作系统uc_os-II第17页
嵌入式实时操作系统uc_os-II第18页
嵌入式实时操作系统uc_os-II第19页
嵌入式实时操作系统uc_os-II第20页

试读结束, 可继续阅读

10积分/C币 立即下载 >