用户名: 密码:
好书推荐
培训报名
大学老师登记
在线 122 人 首 页 | 公司介绍 | 产品中心 | 解决方案 | 代理商专区 | 人才招聘 | 致远电子 | 技术支持 | 销售网点
基于嵌入式实时操作系统的程序设计技术
书 名:
基于嵌入式实时操作系统的程序设计技术
作 者:
周航慈 吴光文
出版社:
北京航空航天大学出版社
ISBN:
7-81077-941-9
定 价:
19.50元
出版日期:
2006-11-1
购买方法:
北航出版社  网上购书
 
 
内容简介
  本书详细介绍了基于嵌入式实时操作系统的程序设计技术,内容有“绪论”、“开发环境”、“任务划分”、“任务设计”、“中断服务程序设计”、“行为同步”、“资源同步”、“数据通信”、“时间管理”、“采样任务设计”、“串行通信任务设计”、“键盘任务设计”、“显示任务设计”、“嵌入式操作系统的剪裁”和“设计实例”。
  书中介绍的内容以源码开放的嵌入式实时操作系统μC/OSII为软件运行环境,以ARM7为硬件环境。 本书内容深入浅出,为加深理解,列举了很多程序设计实例和实验。
  本书可作为高等院校电子类相关专业本科和研究生的学习参考书,也可作为电子技术人员从事嵌入式应用系统研制开发的参考书。
 
前 言
  在上个世纪90年代,单片机在我国迅速普及,已很难找到一种没有使用单片机的电子新产品。作者在那时出版了《单片机应用程序设计技术》和《单片机程序设计基础》两部著作,也算为推动我国单片机应用尽了一份力。由于那时的单片机以8位机为主,本身的硬件资源有限,所处理的问题也不是很复杂,故程序设计方法绝大多数还是“基于裸机编程”的,即不使用操作系统。进入21世纪后,一大批所谓“信息电子产品”开始普及,其特点是处理对象包含多媒体信息流,CPU的信息吞吐量极大提高,系统功能复杂,人机界面丰富,具有网络接口等。这类产品的硬件系统集成度非常高,大多采用32位CPU,存储器资源充足,具备了操作系统所需要的运行条件。这类产品的软件系统规模非常大,如果不使用操作系统来管理,则几乎不可能开发成功,电子工程师熟练掌握“基于嵌入式实时操作系统的程序设计技术”,已经是开发这类信息电子产品的必备条件。

   搞电子产品设计的技术人员几乎都是“电子类”专业出身的,其“硬件”功底不容置疑,但所学软件课程有限,大多只学过“C程序设计”、“单片机原理与应用”和“汇编语言程序设计”这几门课,基本没有学过“数据结构”、“算法分析”和“操作系统”等软件课程,大多数工程技术人员还是靠一边工作一边自学来提高自己。各种软件书籍和教材大多采用“一本正经”的论述风格,对于软件功底不深的自学者来说,就像是难啃的天书。作者是电子类专业“科班出身”的大学教师,长期从事电子专业教学,并以程序设计类课程为主。为了教学需要,自己也自学了若干相关的软件课程,深深体会其中之艰辛。近年来,我开始为电子专业研究生上“嵌入式实时操作系统”的课程,对如何给电子专业讲授这门课有了一些体会,萌生了用“电子专业人员”看得懂的叙述风格写一本书的想法。经过几个月的构思,利用暑假的教学空闲时间撰写了本书,了却了这个心愿。

   本书共分15章。

   第1章是“绪论”,介绍了嵌入式系统和嵌入式实时操作系统的一些基本知识。

   第2章是“开发环境”,介绍了本书内容的硬件环境和软件环境。
   第3章是“任务划分”,介绍了任务划分的基本原则和方法。

   第4章是“任务设计”,介绍了任务函数设计的基本方法和需要注意的问题。

   第5章是“中断服务程序设计”,介绍了中断服务程序的设计步骤。

   第6章是“行为同步”,介绍了几种主要的行为同步手段和实现方法。

   第7章是“资源同步”,介绍了访问共享资源的方法。

   第8章是“数据通信”,介绍了各种通信手段的使用方法。

   第9章是“时间管理”,介绍了时间管理服务的使用场合和方法。

   第10章是“采样任务设计”,介绍了各种不同情况下的采样任务设计方法。

   第11章是“串行通信任务设计”,介绍了串行通信任务中的风险和正确设计方法。

   第12章是“键盘任务设计”,介绍了键盘任务的监控角色和程序设计方法。

   第13章是“显示任务设计”,介绍了显示任务与消息队列的配合方法。

   第14章是“嵌入式操作系统的剪裁”,介绍了有关的系统常量含义和剪裁方法。

   第15章是“设计实例”,介绍了一个完整的设计实例,使读者能够综合理解各章节的内容。

   本书第1章、第2章和第15章由吴光文撰写,第3~14章由周航慈撰写。吴光文参与了书中大部分程序的编写,并完成了全部实验程序的测试工作。周航慈负责全书的策划、内容安排、程序修改、文稿修改和审定。

   本书在编写过程中得到北京航空航天大学出版社和何立民教授与马广云博士的大力支持,得到周立功先生的鼓励和资助,在此表示衷心感谢!

   由于本书涉及知识领域广泛且变化日新月异,加之作者并非“软件专业”科班出身且水平有限及时间仓促,难免有差错和不足之处,甚至包含错误观点,敬请专家和读者指正!力争过一两年再版一次,消除差错,扩充内容,弥补不足。


作者
2006年8月31日
 
目 录
第1章 绪论1
1.1 嵌入式系统的发展历史1
1.2 嵌入式实时操作系统的特点3
1.3 基于嵌入式实时操作系统的程序设计技术4

第2章 开发环境6
2.1 嵌入式实时操作系统的选择6
2.2 CPU芯片的选择7
2.3 嵌入式实时操作系统的移植8
2.4 开发调试环境的建立9
2.5 工程模板的使用9
2.5.1 scf文件组9
2.5.2 *.h文件组10
2.5.3 arm文件组12
2.5.4 target文件组12
2.5.5 μC/OSII文件组15
2.5.6 用户文件组15

第3章 任务划分16
3.1 任务的特性16
3.1.1 任务的动态性16
3.1.2 任务的独立性16
3.1.3 任务的并发性17
3.2 任务划分的目标18
3.3 任务划分的方法18
3.3.1 设备依赖性任务的划分18
3.3.2 关键任务的划分19
3.3.3 紧迫任务的划分21
3.3.4 数据处理任务的划分23
3.3.5 功能聚合任务的划分23
3.3.6 触发条件相同任务的划分23
3.3.7 运行周期相同任务的划分24
3.3.8 顺序操作任务的划分24
3.3.9 任务划分小结25
3.4 任务的可调度性分析25

第4章 任务设计27
4.1 任务函数的结构27
4.1.1 单次执行的任务27
4.1.2 周期性执行的任务31
4.1.3 事件触发执行的任务32
4.2 任务优先级安排35
4.2.1 任务的优先级资源35
4.2.2 任务优先级安排原则36
4.3 任务的数据结构设计37
4.3.1 与操作系统有关的数据结构37
4.3.2 与操作系统无关的数据结构37
4.4 任务设计中的问题38
4.4.1 公共函数的调用38
4.4.2 与其他任务的协调39
4.4.3 共享资源的访问39
4.4.4 与其他任务进行数据通信40
4.5 任务的代码设计过程40
4.5.1 系统总体任务关联图40
4.5.2 任务的关联分析41
4.5.3 任务的程序流程图42
4.5.4 编写任务的程序代码43

第5章 中断服务程序设计45
5.1 中断优先级安排45
5.1.1 中断的优先级资源45
5.1.2 中断优先级安排原则45
5.2 不受操作系统管理的中断服务程序46
5.3 受操作系统管理的中断服务程序52
5.3.1 中断服务程序的结构52
5.3.2 中断句柄53
5.3.3 配置和初始化中断源53
5.3.4 设计与关联任务的通信手段54
5.3.5 编写中断服务程序的功能函数55
第6章 行为同步63
6.1 用于行为同步的通信手段63
6.1.1 二值信号量63
6.1.2 计数信号量64
6.1.3 事件标志组65
6.1.4 消息邮箱65
6.1.5 消息队列66
6.1.6 小结66
6.2 行为同步66
6.2.1 ISR与任务之间的同步66
6.2.2 两个任务之间的单向同步68
6.2.3 两个任务之间的双向同步74
6.2.4 两个以上任务同步一个任务77
6.2.5 多个任务相互同步83

第7章 资源同步90
7.1 关中断90
7.1.1 保障数据可靠性91
7.1.2 保障数据完整性99
7.1.3 关中断小结106
7.2 关调度107
7.3 使用互斥信号量111
7.4使用计数信号量115
第8章数据通信117
8.1全局变量117
8.2内存数据块121
8.3消息邮箱121
8.4消息队列128
第9章时间管理134
9.1控制任务的执行周期134
9.2控制任务的运行节奏135
9.3状态查询135
9.4终止周期性任务136
第10章采样任务设计141
10.1使用延时函数控制采样周期141
10.2使用定时中断控制采样周期144
10.3使用节拍钩子函数进行采样144
10.4使用快速定时中断进行采样148
10.5被动采样148
第11章串行通信任务设计152
11.1通信协议设计152
11.2风险评估153
11.3帧缓冲区154
11.4数据发送155
11.5数据接收158
第12章键盘任务设计162
12.1可靠地获取键盘操作信息162
12.2基于菜单操作的监控流程164
12.2.1系统功能分析和菜单结构设计164
12.2.2监控程序设计164
12.3与显示任务的通信166
第13章显示任务设计167
13.1GUI简介167
13.2画面设计167
13.3与其他任务的接口169
13.4短消息设计170
13.5显示任务设计170
第14章嵌入式操作系统的剪裁176
14.1服务功能的剪裁176
14.1.1任务管理功能的剪裁176
14.1.2通信服务功能的剪裁177
14.1.3其他功能的剪裁179
14.2数据结构的剪裁179
14.2.1与任务有关的数据结构179
14.2.2与通信功能有关的数据结构180
14.2.3其他参数180
第15章设计实例181
15.1实例简介181
15.2硬件系统182
15.3任务分析183
15.3.1实例任务划分183
15.3.2实例任务设计184
15.4程序设计详解186
15.4.1键盘任务186
15.4.2显示任务193
15.4.3使用延时函数的采样任务198
15.4.4使用快速中断的采样任务200
15.4.5使用时钟节拍钩子函数的采样任务201
15.4.6使用定时中断的采样任务203
15.4.7串行口发送任务205
参考文献207
 
首 页 | 公司介绍 | 产品中心 | 电子杂志 | 代理商专区 | 人才招聘 | 致远电子 | 技术支持 | 销售网点
版板所有 © 1999-2008 广州周立功单片机发展有限公司