新闻资讯
看你所看,想你所想

嵌入式实时作业系统μC/OS原理与实践

嵌入式实时作业系统μC/OS原理与实践

嵌入式实时作业系统μC/OS原理与实践

基本介绍

  • 书名:嵌入式实时作业系统μC/OS原理与实践
  • 作者:卢有亮
  • ISBN:9787121154416, 7121154412 
  • 页数:280
  • 出版社:电子工业出版社
  • 出版时间:2012年2月1日
  • 装帧:平装
  • 开本:16

内容简介

《嵌入式实时作业系统μC/OS原理与实践》内容翔实,图文并茂,採用逐步深入、反覆印证的方法,从数据结构的设计入手,再到代码分析、示例验证的剖析方法,逐层深入讲解,给出在虚拟平台下的移植示例和针对各章内容示例,并给出了基于NIOS II的FPGA系统上移植的例子。
《嵌入式实时作业系统μC/OS原理与实践》适用于计算机、电子、通信、自动化及相关专业大学本科、研究生,也适用于广大嵌入式开发工程技术人员、电子技术研究人员、作业系统研究人员。

编辑推荐

《嵌入式实时作业系统μC/OS原理与实践》μC/OS是高实时性、多任务的作业系统,也是原始码对非商业用途开放的作业系统,笔者结合自己的实际工作经验,通过本书详细阐释μC/OS的系统原理及实战技巧。《嵌入式实时作业系统μC/OS原理与实践》对最新版本的μC/OSII-2.91进行深入剖析,从实时作业系统的原理开始,对重要的数据结构和代码结合相关实例进行详细解析,以便于读者掌握。通过《嵌入式实时作业系统μC/OS原理与实践》的学习,能够帮助读者全面、深入地掌握嵌入式实时作业系统的基本原理,全方位接触μC/OS,对所学知识融会贯通,能够灵活套用到实际的项目当中。

目录

Contents
第1章 实时作业系统基础 1
1.1 作业系统概述 1
1.1.1 什幺是作业系统 2
1.1.2 作业系统基本功能 3
1.2 实时作业系统概述 4
1.2.1 什幺是实时作业系统 4
1.2.2 实时作业系统的基本特徵 4
1.3 任务 5
1.3.1 任务简介 5
1.3.2 多任务 5
1.3.3 任务状态 7
1.3.4 任务切换 8
1.3.5 可重入函式和不可重入函式 9
1.4 基于优先权的不可剥夺核心 11
1.4.1 核心 11
1.4.2 基于优先权的调度算法 11
1.4.3 不可剥夺型核心和可剥夺型核心 12
1.5 同步与通信 13
1.5.1 同步 13
1.5.2 互斥 14
1.5.3 临界区 14
1.5.4 任务事件 15
1.5.5 信号量 15
1.5.6 互斥信号量 16
1.5.7 事件标誌组 17
1.5.8 讯息信箱和讯息伫列 17
1.6 中断和时钟 18
1.7 记忆体管理 20
习题 20
第2章 任务管理 21
2.1 任务管理数据结构 22
2.1.1 任务控制块 22
2.1.2 空闲鍊表和就绪鍊表 27
2.1.3 任务优先权指针表 30
2.1.4 任务堆叠 30
2.1.5 任务就绪表和就绪组 32
2.2 任务控制块初始化 38
2.2.1 代码解析 38
2.2.2 流程分析 40
2.3 作业系统初始化 41
2.3.1 代码解析 42
2.3.2 流程分析 47
2.4 任务的创建 48
2.4.1 OSTaskCreate代码解析 48
2.4.2 OSTaskCreate流程分析 51
2.4.3 OSTaskCreateExt代码解析 52
2.4.4 OSTaskCreateExt流程分析 55
2.5 任务的删除 56
2.5.1 任务删除代码解析 57
2.5.2 任务删除流程分析 60
2.5.3 请求删除任务代码解析 62
2.5.4 请求删除任务流程 63
2.6 任务挂起和恢复 64
2.6.1 OSTaskSuspend代码解析 65
2.6.2 OSTaskSuspend流程分析 67
2.6.3 OSTaskResume代码解析 68
2.6.4 OSTaskResume流程分析 69
2.7 任务的调度和多任务的启动 70
2.7.1 任务调度器 71
2.7.2 任务切换函式 73
2.7.3 中断中的任务调度 78
2.7.4 多任务的启动 80
2.8 特殊任务 81
2.8.1 空闲任务OS_TaskIdle 81
2.8.2 统计任务OS_TaskStat 82
2.9 任务管理总结 84
习题 85
第3章 中断和时间管理 86
3.1 中断管理 86
3.1.1 中断管理核心思路 86
3.1.2 中断处理的流程 88
3.1.3 时钟中断服务 88
3.2 时间管理 90
3.2.1 时间管理主要数据结构 90
3.2.2 时间的获取和设定 90
3.2.3 任务延时函式OSTimeDly 91
3.2.4 任务按分秒延迟函式OSTimeDlyHMSM 92
3.2.5 延时恢複函数OSTimeDlyResume 94
习题 97
第4章 事件管理 98
4.1 事件管理的重要数据结构 98
4.1.1 事件控制块(ECB) 98
4.1.2 事件等待组和事件等待表 100
4.1.3 事件控制块空闲鍊表 101
4.2 事件管理程式 102
4.2.1 事件控制块(ECB)初始化 102
4.2.2 事件等待表初始化 103
4.2.3 设定事件等待 103
4.2.4 取消事件等待 105
4.2.5 将等待事件的任务就绪 106
4.3 信号量管理 107
4.3.1 信号量的建立OSSemCreate 108
4.3.2 信号量的删除OSSemDel 111
4.3.3 请求信号量OSSemPend 114
4.3.4 提交信号量 118
4.3.5 无等待请求信号量 119
4.3.6 放弃等待信号量 120
4.3.7 信号量值设定 122
4.3.8 查询信号量状态 123
4.3.9 信号量套用举例 124
4.4 互斥信号量管理 129
4.4.1 互斥信号量的建立 131
4.4.2 请求互斥信号量 133
4.4.3 互斥信号量的删除 139
4.4.4 发互斥信号量 142
4.4.5 无等待请求互斥信号量 145
4.4.6 查询互斥信号量状态 147
4.4.7 改变任务的优先权并重新就绪 148
4.4.8 互斥信号量套用举例 149
4.5 事件标誌组管理 154
4.5.1 事件标誌组数据结构 155
4.5.2 事件标誌组初始化 157
4.5.3 创建事件标誌组 159
4.5.4 事件标誌组阻塞函式 160
4.5.5 请求事件标誌 162
4.5.6 删除事件标誌组 169
4.5.7 提交事件标誌组 172
4.5.8 标誌节点任务就绪 175
4.5.9 无等待的请求事件标誌 176
4.5.10 事件标誌管理套用举例 179
习题 184
第5章 讯息管理 186
5.1 讯息信箱 186
5.1.1 建立讯息信箱 187
5.1.2 等待讯息 190
5.1.3 发讯息 194
5.1.4 删除讯息信箱 196
5.1.5 放弃等待信箱 199
5.1.6 无等待请求讯息 201
5.1.7 查询讯息信箱状态 202
5.1.8 讯息信箱的例子 203
5.2 讯息伫列 206
5.2.1 讯息伫列数据结构 207
5.2.2 初始化讯息伫列 210
5.2.3 建立讯息伫列 211
5.2.4 发讯息到讯息伫列 213
5.2.5 等待讯息伫列中的讯息 214
5.2.6 删除讯息伫列 217
5.2.7 取得讯息伫列的状态 220
5.2.8 讯息伫列套用举例 221
习题 225
第6章 记忆体管理 226
6.1 记忆体管理数据结构 227
6.1.1 记忆体控制块 227
6.1.2 记忆体控制块实体 227
6.1.3 空闲记忆体控制块鍊表 227
6.1.4 记忆体分区 228
6.2 记忆体控制块初始化 228
6.3 创建记忆体分区 230
6.4 记忆体分区获取 233
6.5 记忆体分区释放 234
6.6 查询记忆体分区的状态 235
6.7 记忆体管理实例 236
习题 239
第7章 移 植 240
7.1 移植说明 240
7.1.1 μC/OS-II的代码结构 240
7.1.2 作业系统中与CPU相关的代码解析 244
7.1.3 μC/OS-II移植步骤 247
7.2 在VISUAL C++6.0上实现基于WINDOWS的虚拟ΜC/OS-II移植 248
7.2.1 目录结构和工程的建立 248
7.2.2 包含档案includes.h 249
7.2.3 os_cpu.h中修改的代码 250
7.2.4 os_cpu.c中修改的代码 251
7.2.5 主程式代码实现 256
7.2.6 移植测试 257
7.3 在基于NIOS软核的FPGA嵌入式系统下的ΜC/OS-II移植 257
7.3.1 系统结构 257
7.3.2 NIOS-II暂存器 260
7.3.3 os_cpu.h的移植代码 262
7.3.4 os_cpu.c的移植代码 263
7.3.5 os_cpu.s的移植代码 266
7.3.6 工程的创建和移植测试 269
习题 274

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com