图书介绍
嵌入式实时操作系统μC/OS-Ⅱ原理及应用 第3版PDF|Epub|txt|kindle电子书版本网盘下载
![嵌入式实时操作系统μC/OS-Ⅱ原理及应用 第3版](https://www.shukui.net/cover/8/35036484.jpg)
- 任哲,房红征,曹靖编著 著
- 出版社: 北京:北京航空航天大学出版社
- ISBN:9787512413191
- 出版时间:2014
- 标注页数:303页
- 文件大小:174MB
- 文件页数:322页
- 主题词:实时操作系统
PDF下载
下载说明
嵌入式实时操作系统μC/OS-Ⅱ原理及应用 第3版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 嵌入式实时操作系统的基本概念1
1.1 计算机操作系统1
1.1.1 什么是计算机操作系统1
1.1.2 操作系统的作用和功能2
1.2 嵌入式系统和嵌入式操作系统3
1.2.1 嵌入式系统的基本概念4
1.2.2 嵌入式操作系统7
1.2.3 实时操作系统需要满足的条件9
1.2.4 嵌入式系统的任务及嵌入式实时操作系统11
1.3 嵌入式实时操作系统μC/OS-II简介12
1.4 小结13
1.5 练习题13
第2章 预备知识14
2.1 开发工具14
2.1.1 Borland C 3.1及其精简版14
2.1.2 多文件程序的编译和连接19
2.2 工程管理工具make及makefile22
2.3 复杂工程项目的管理30
2.3.1 批处理文件与makefile的综合使用30
2.3.2 复杂工程管理示例31
2.4 C指针35
2.4.1 指针的基本概念35
2.4.2 函数指针37
2.4.3 函数指针作为函数参数及回调函数39
2.5 typedef常用方法41
2.6 常用数据类型及数据结构43
2.6.1 程序控制块43
2.6.2 控制块的组织——链表47
2.6.3 位图48
2.7 小结49
2.8 练习题49
第3章 μC/OS-II中的任务50
3.1 任务的基本概念50
3.1.1 任务及其内存结构50
3.1.2 任务的状态52
3.1.3 用户任务代码的一般结构53
3.1.4 系统任务54
3.1.5 任务的优先权及优先级别56
3.2 任务堆栈56
3.2.1 任务堆栈的创建57
3.2.2 任务堆栈的初始化59
3.3 任务控制块及其链表60
3.3.1 任务控制块结构60
3.3.2 任务控制块链表61
3.3.3 任务控制块的初始化63
3.4 任务就绪表及任务调度64
3.4.1 任务就绪表结构64
3.4.2 对任务就绪表的操作66
3.4.3 任务调度67
3.5 任务的创建73
3.5.1 用函数OSTaskCreate()创建任务73
3.5.2 用函数OSTaskCreateExt()创建任务75
3.5.3 创建任务的一般方法75
3.6 任务的挂起和恢复82
3.6.1 挂起任务82
3.6.2 恢复任务82
3.7 其他任务管理函数88
3.7.1 任务优先级别的修改88
3.7.2 任务的删除89
3.7.3 查询任务的信息95
3.8 μC/OS-II的初始化和任务的启动95
3.8.1 μC/OS-II的初始化95
3.8.2 μC/OS-II的启动97
3.9 小结99
3.10 练习题100
第4章 μC/OS-II的中断和时钟101
4.1 μC/OS-II的中断101
4.1.1 μC/OS-II的中断过程101
4.1.2 中断级任务切换函数105
4.1.3 应用程序中的临界段105
4.2 μC/OS-II的时钟107
4.3 时间管理114
4.3.1 任务的延时114
4.3.2 取消任务的延时115
4.3.3 获取和设置系统时间120
4.4 小结122
4.5 练习题123
第5章 任务的同步与通信124
5.1 任务的同步和事件124
5.1.1 任务间的同步124
5.1.2 事件125
5.2 事件控制块及事件处理函数137
5.2.1 事件控制块的结构137
5.2.2 操作事件控制块的函数139
5.2.3 空事件控制块链表141
5.3 信号量及其操作142
5.3.1 信号量142
5.3.2 信号量的操作143
5.4 互斥型信号量和任务优先级反转152
5.4.1 任务优先级的反转现象153
5.4.2 互斥型信号量158
5.5 消息邮箱及其操作161
5.5.1 消息邮箱161
5.5.2 消息邮箱的操作162
5.6 消息队列及其操作167
5.6.1 消息队列167
5.6.2 消息队列的操作170
5.7 小结176
5.8 练习题177
第6章 信号量集178
6.1 信号量集的结构178
6.1.1 基本概念178
6.1.2 信号量集的结构179
6.1.3 对等待任务链表的操作183
6.1.4 空标志组链表183
6.2 信号量集的操作184
6.2.1 创建信号量集184
6.2.2 请求信号量集186
6.2.3 向信号量集发送信号186
6.2.4 查询信号量集的状态192
6.2.5 删除信号量集195
6.3 小结195
6.4 练习题195
第7章 动态内存管理196
7.1 内存控制块196
7.1.1 可动态分配内存的划分196
7.1.2 内存控制块OS_MEM的结构197
7.1.3 空内存控制块链表198
7.2 动态内存的管理198
7.2.1 创建动态内存分区199
7.2.2 请求获得一个内存块201
7.2.3 释放一个内存块203
7.2.4 查询一个内存分区的状态207
7.3 小结212
7.4 练习题212
第8章 在51单片机上移植μC/OS-II213
8.1 μC/OS-II移植的一般性问题213
8.1.1 可重入函数的概念213
8.1.2 时钟节拍的产生214
8.1.3 任务堆栈的设计214
8.2 在51系列单片机上移植μC/OS-II215
8.2.1 文件OS_CPU.H的修改215
8.2.2 任务堆栈的设计216
8.2.3 文件OS_CPU_C.C的修改223
8.2.4 几点注意事项224
8.3 应用举例224
8.3.1 LED数码显示器的驱动程序224
8.3.2 串行接口的应用226
8.4 小结234
8.5 练习题234
第9章 基于ARM的μC/OS-II235
9.1 移植规划235
9.1.1 编译器的选择235
9.1.2 ARM7工作模式的选择235
9.2 移植236
9.2.1 文件OS_CPU.H的编写236
9.2.2 文件OS_CPU_C.C的编写238
9.2.3 文件OS_CPU_A.S的编写245
9.2.4 关于中断及时钟节拍248
9.3 在LPC2000上移植μC/OS-II249
9.3.1 挂接SWI软件中断250
9.3.2 中断及时钟节拍中断250
9.3.3 一个基于μC/OS-II和ARM的应用程序实例251
9.4 小结253
9.5 练习题253
第10章 μC/OS-II在80x86上的移植254
10.1 概述254
10.2 任务切换255
10.2.1 任务切换函数OSCtxSw()255
10.2.2 任务切换宏OS_TASK_SW()257
10.2.3 中断级任务切换函数OSIntCtxSw()258
10.3 系统时钟259
10.3.1 PC中DOS的系统时钟259
10.3.2 PC中μC/OS-II的系统时钟259
10.3.3 μC/OS-II系统时钟中断服务程序261
10.3.4 μC/OS-II系统时钟中断向量的安装261
10.3.5 由μC/OS-II返回DOS262
10.4 小结263
第11章 μC/OS-II可裁剪性的实现264
11.1 文件OS_CFG.H中用于系统裁剪的常量264
11.2 配置常量的解释266
11.2.1 OS_MAX_EVENTS266
11.2.2 OS_MAX_MEM_PARTS267
11.2.3 OS_MAX_QS267
11.2.4 OS_MAX_MEM_TASKS267
11.2.5 OS_LOWEST_PRIO267
11.2.6 OS_TASK_IDLE_STK_SIZE268
11.2.7 OS_TASK_STAT_EN268
11.2.8 OS_TASK_STAT_STK_SIZE268
11.2.9 OS_CPU_HOOKS_EN268
11.2.10 OS_MBOX_EN269
11.2.11 OS_MEM_EN269
11.2.12 OS_Q_EN269
11.2.13 OS_SEM_EN269
11.2.14 OS_TASK_CHANGE_PRIO_EN269
11.2.15 OS_TASK_CREATE_EN269
11.2.16 OS_TASK_CREATE_EXT_EN270
11.2.17 OS_TASK_DEL_EN270
11.2.18 OS_TASK_SUSPEND_EN270
11.2.19 OS_TICKS_PER_SEC270
第12章 在集成开发环境上编译μC/OS-II271
12.1 使用Borland C++4.5编译μC/OS-II271
12.1.1 做法与步骤272
12.1.2 BC精简版与完整版之间的关系275
12.2 使用Visual C++6.0编译μC/OS-II275
12.2.1 DOS程序与Windows程序的区别275
12.2.2 系统时钟的模拟277
12.2.3 系统时钟中断的模拟280
12.2.4 VC运行环境的初始化282
12.2.5 任务切换283
12.3 小结287
12.4 练习题287
附录A 文件PC.C中的函数288
A.1 字符显示函数288
A.1.1 显示一个字符的函数PC_DispChar288
A.1.2 清屏幕一列显示的函数PC_Disp_ClrCol288
A.1.3 清屏幕一行显示的函数PC_Disp_ClrRow288
A.1.4 清屏函数PC_DispClrScr289
A.1.5 显示字符串函数PC_DispStr289
A.1.6 颜色常量的定义289
A.2 保存和恢复DOS环境的函数290
A.2.1 保存DOS环境的函数PC_DSSaveReturn()290
A.2.2 恢复DOS环境的函数PC_DOSReturn()290
A.3 设置和获取中断向量的函数290
A.3.1 设置中断向量的函数PC_VectSet()290
A.3.2 获取中断向量的函数PC_VectGet()290
附录B μC/OS-II中使用的数据类型291
附录C C51开发工具μVision2简介292
C.1 C51语言的扩展292
C.1.1 数据类型292
C.1.2 存储器类型293
C.1.3 存储模式294
C.1.4 指针295
C.1.5 可重入函数296
C.1.6 与汇编语言的接口297
C.1.7 库函数298
C.2 创建项目298
C.2.1 启动μVision2并创建一个项目298
C.2.2 新建一个源文件299
C.2.3 增加和配置初始化代码299
C.2.4 为目标设置工具选项300
C.2.5 Build项目并生成HEX文件300
C.3 常用的菜单选项301
C.3.1 视图菜单View301
C.3.2 项目菜单Project301
C.3.3 调试菜单Debug301
C.3.4 外围器件菜单Peripherals302
参考文献303