当前位置:在线查询网 > 在线百科全书查询 > 嵌入式实时操作系统μC/OS-2

嵌入式实时操作系统μC/OS-2_在线百科全书查询


请输入要查询的词条内容:

嵌入式实时操作系统μC/OS-2


基本信息

出版社:北京航空航天大学出版社

页码:582 页

出版日期:2003年05月

ISBN:9787810772907

条形码:9787810772907

版本:第1版

装帧:平装

开本:16

正文语种:中文

外文书名:Meets Requirements for Safety-Critical Systems

内容简介 《嵌入式实时操作系统μC/OS-2(第2版)》是icroC/OSIITheRealTimeKernel一书的第2版本,在第1版本(V2.0)基础上做了重大改进与升级。通过对μC/OSII源代码的分析与描述,讲述了多任务实时的基本概念、竞争与调度算法、任务间同步与通信、存储与定时的管理以及如何处理优先级反转问题;介绍如何将μC/OSII移植到不同CPU上,如何调试移植代码。在所附光盘中,给出已通过FAA安全认证的μC/OSIIV2.52的全部源码以及可在PC机上运行的移植范例。

μC/OSII是著名的、源码公开的实时内核,是专为嵌入式应用设计的,可用于各类8位、16位和32位单片机或DSP。从μC/OS算起,该内核已有10余年应用史,在诸多领域得到了广泛应用。

作者简介 Jean J.Labrosse,1957年生于加拿大蒙特利尔。自幼酷爱电子学,着迷于迪斯科舞厅中的灯光和音响系统。作为业余嗜好,大学读书期间曾开过一家名为:Mephistronique的公司。大学3年级时,开始涉足微处理器的精彩世界。从Intel8080开始,然后是.MOTOROIA6800,接着是Zilog的Z-80,并将它们应用于其业余产品的设计。1983年获电子工程硕士学位后,在一家医用电子企业工作过两年,设计过一些基于微处理器的系统,用汇编语言编程。后到一家制造往复式发动机的公司工作,学会并开始在产品设计中使用C语言编程。4年后转到Dylqalco Control公司工作,开始使用RTOS,并发现KIOS中的一处严重隐患,从而萌生了用业余时间自己写RTOC熔的想法。在1992年5月和6月期Embedded SystemProgramming 杂志上发表了最初的RTOS,名为μCOS。到1992年底,写成了介绍μC/OS的书,1999年出版了介绍μC/OS-Ⅱ的书,该书第2版于2002年出版。2000年还出版了.Embedded System Buliding Block一书。

Jean J.L,abrosse先生长期从事嵌入式系统的开发研究。从1993年开始,每年都会在美国的嵌入式系统年会上做数次演讲报告,并成为大会的顾问委员会成员。1999年,建立了Micrium公司,提供高质量的嵌入式软件和解决方案,出售BC/OS-Ⅱ及其他软件的商用许可证。

工作并非一切,更美好的足与妻子、儿女同享受生活。

邵贝贝,清华大学教授,博士生导师。曾工作于中国科学院高能物理所。1982一1984年、1999-2000年在欧洲核研究中心(CERN)工作,1987一1988年在意大利都灵大学工作,1992一1994年在美国SSC工作。

邵贝贝教授致力于核电子学与仪器、数据采集与控制系统及计算机嵌入式应用系统的研究。所研究的微弱信号检测技术曾获科技进步一等奖。近期主要著作和译著有(《MOTOROLA单片机68HCll开发技术》、《微控制器应用与开发技术》、《MicroC/OS-Ⅱ——源码公开的实时嵌入式操作系统》及《MO"rORO[A DSP型16位单片机原理与实践》等。现任清华大学MOTOROLA MCU/DSP应用开发研究中心主任和中国单片机学会理事。

媒体推荐 如果您从未用过RTOS,那么这本书将让您掌握RTOS——开发应用程序的得力工具;如果您打算选购商用RTOS,那么这本书为您揭示RTOS的内在奥秘。

——JackGanssle,顾问,教师,作家

编辑推荐 《嵌入式实时操作系统μC/OS-2(第2版)》介绍μC/OS-Ⅱ的设计与实现,讲解多任务实时系统的基本原理。读者可以学到内核结构、调度算法、任务切换、时间管理、任务问通信与同步及存储空问的动态分配等知识。与《嵌入式实时操作系统μC/OS-2(第2版)》的前一版本相比,书中程序的解释全部重新写过,给出了更详尽的说明,以便于理解;系统功能函数的描述从l章扩充到了6章,其中2章用以描述新增加的功能函数:互斥型信号量(mutex)和事件标志组函数;重写了程序移植指南,新增加了移植过程中的调试技巧等内容;编程规约函数以及变量等的速查手册也编排在附录中。

附带的光盘包含了υC/OS-ⅡV2.52的全部源代码,以及移植到Intel 80x86处理器上的范例,在实模式模块方式下编译。只需几分钟,就可以在用户PC机的Windows环境下测试υC/OS-Ⅱ的一些特性。

υC/OS-Ⅱ是一种可移植、可固化、可裁剪及可剥夺型的多任务实时内核(RTOS),适用于各种微处理器和微控制器。其性能足可媲美于商用内核,在某些方面甚至更佳。所有代码用ANSI的C语言编写,故具有良好的可移植性。实际上υC/OS-Ⅱ已经被移植到40多种处理器架构中,从8位到64位的各种CPU。自1992年起,υC/OS-Ⅱ已在全世界从照相机到航空没备等各个领域得到广泛应用。这个RTOS的健壮性、可靠性和安全性已经得到了广泛的证明。对于各类系统,包括一些对安全性要求极为苛刻的系统,它都能够胜任。

目录

概述

第1章初识μC/OSII

1.00安装μC/OSII

1.01范例1

1.02范例2

1.03范例3

1.04范例4

第2章实时系统概念

2.00前/后台系统

2.01代码的临界段

2.02资源

2.03共享资源

2.04多任务

2.05任务

2.06任务切换

2.07内核

2.08调度

2.09不可剥夺型内核

2.1 0可剥夺型内核

2.1 1可重入函数

2.1 2时间片轮番调度法

2.1 3任务优先级

2.1 4静态优先级

2.1 5动态优先级

2.1 6优先级反转

2.1 7任务优先级分配

2.1 8互斥条件

2.1 8.01关中断和开中断

2.1 8.02测试并置位操作

2.1 8.03禁止,然后允许任务切换

2.1 8.04信号量

2.1 9死锁

2.2 0同步

2.2 1事件标志

2.2 2任务间通信

2.2 3消息邮箱

2.2 4消息队列

2.2 5中断

2.2 6中断延迟

2.2 7中断响应

2.2 8中断恢复时间

2.2 9中断延迟、响应及恢复

2.3 0中断处理时间

2.3 1非屏蔽中断

2.3 2时钟节拍

2.3 3对存储器的需求

2.3 4使用实时内核的优、缺点

2.3 5实时系统小结

第3章内核结构

第4章任务管理

第5章时间管理

第6章事件控制块

第7章信号量管理

第8章互斥型信号量管理

第9章事件标志组管理

第10章消息邮箱管理

第11章消息队列管理

第12章内存管理

第13章移植μC/OSII

第14章μC/OSII在80x86上的移植

第15章μC/OSII在带有硬件浮点运算单元的80x86上的移植

第16章μC/OSII参考手册

第17章μC/OSII配置手册

第18章PC中的功能函数

附录AC语言编程规约

附录BμC/OSII的使用许可证

附录CμC/OSII速查手册

附录D工具程序

附录E参考文献

附录F本书所附光盘

……

序言 本书是Jean J.Labrosse先生撰写的Micro C/OS-Ⅱ The Real-Time Kernel一书第2版本的中译本,原文书于2002年出版。该书的第1版本面世于1999年,其中译本名为《υC/OS-II——源码公开的实时嵌入式操作系统》,2001年由中国电力出版社出版。

与第1版本比较,第2版本增添了许多新内容。原文书第1版本的内容只有12章,而第2版本扩展到18章。第1版本的正文只有357页,其余的122页是υC/OS-II V2.00的源程序清单,源码同时也附在一张3寸软盘上;而第2版本有598页,且去掉了υC/OS-II的源程序清单,仅将其附在随带的光盘上。粗略地说,书中有250页是全新的。其中如何测试实时内核中的每个函数及如何调试RTOS,对于拟将υC/OS-II移植到其他CPU上去的读者会特别有用。作者对原有的约350页内容也做了修订,在编排风格上也有不少改变,使之更便于学习和查阅。

原文书第1版本给出的是υC/0S-II V2.00的全部源代码,第2版本给出的是υC/OS-II V2.52的全部源代码。新版本增加了一些新的功能函数,如mutex,Event-flag及浮点运算。最重要的是,υC/OS-II V2.52通过了美国航空航天管理局(FAA)的安全认证,可以用于飞机、航天器等与人性命攸关的控制系统中。也就是说,用户可以放心地使用υC/OS-II V2.52,放心地使用本书中提供的源代码。

提倡在计算机嵌入式应用中使用实时操作系统RTOS(Real Time Operating System),是因为RTOS将应用分解成多任务,简化了应用系统软件的设计;RTOS使控制系统的实时性得到保证,可以接近理论上能达到的最好水平;良好的多任务设计,有助于提高系统的稳定性与可靠性。嵌入式RTOS是多年来计算机专家们潜心研究的成果,是他们智慧的结晶。嵌入式系统应用的范围不胜枚举,在一个现代化的社会里,可以说,只要能想到的领域都有计算机的嵌入式应用。开发嵌入式应用的工程师,往往只是他相关领域的专家,对计算机的理解,尚不能与计算机专家们相比,这就是国外人士提到的嵌入式应用工程师与计算机专家之间的“缝隙(gap)”。把计算机专家的研究成果拿给嵌入式应用开发的工程师使用,是填补这一缝隙的好方法。

在我国广泛地提倡学习和使用RTOS还是最近几年的事。这是由于RTOS的商业软件价格昂贵,著名的商业RTOS需几万美元,而且其中大部分是不提供源码的,即是所谓的黑盒子,不便于学习和使用。另外早年的单片机存储器资源有限,容不下RTOS本身的开销。随着半导体技术的飞速发展,片上系统(systern on chip)成为嵌入式应用的发展趋势,RTOS的使用也随之越来越普及。

开卷有益。在产品中用也好,不用也好,对于嵌入式应用工作者,学习和理解RTOS是绝对必要的,故译者更看中υC/OS-II用做教材的意义。

文摘 插图:

我试着让那几个很简单的任务运行起来,竟用了2个月时间。我一天到晚给该厂商打电话求援。该厂商声称,内核B是用C语言写的;不管怎样,我须用汇编语言给程序中每个对象初始化。虽然该厂商很耐心,但我实在是够了!产品的开发也耽误了。我真是不想再花时间去调试那个廉价的内核了。后来得知,我是该厂商的第一个客户。这个内核实际上没有完全测试和调试过。

还是回到正路上来,我决定使用内核A。5个用户的价格是5000$,此外,我的每个产品还要付200$的内核使用费。在当时,那可是一笔很大的开支,就算是花钱买个心里踏实吧。用了2天时间,内核转起来了。项目进展到3个月上,我的一个工程师发现,内核好像有毛病(bug)。当内核中的这个毛病被确认无疑后,我把我的代码寄给了该厂商。此时,厂商提供的90天的担保已经过期了。为了得到答复,我还须支付每年500$的维护费。我和销售商争辩了好几个月,我认为,他们应该尽快处理这一处毛病才是,我实际是在为他们做好事;可是,他们不予理睬。最后,我只好认了,又签了程序维护合同,而该厂商6个月以后才处理了那个毛病。是的,6个月以后!我简直气坏了,最要紧的是,我的产品开发耽误了。用了将近1年的时间,内核A才在我的产品中稳定运行。然而,我得承认,从那儿以后,内核A再没有什么问题了。 渐渐地,我自然会想到,写个实时内核有那么难吗?不就是不断地保存、恢复CPU的那些寄存器嘛。那是我决定试试写我自己的实时内核时的情景,主要是用业余时间、晚上和周末。也用了大约1年的时间,才使内核转起来,在某些方面还比内核A好。我并不想开公司去卖这个内核,因为当时市场上已经有大约50个实时内核的产品了,人们会想,怎么又多出一个来了呢?