图书介绍

嵌入式实时操作系统μC/OS-Ⅱ原理及应用PDF|Epub|txt|kindle电子书版本下载

嵌入式实时操作系统μC/OS-Ⅱ原理及应用
  • 任哲,房红征,曹靖编著 著
  • 出版社: 北京:北京航空航天大学出版社
  • ISBN:9787512422087
  • 出版时间:2016
  • 标注页数:311页
  • 文件大小:53MB
  • 文件页数:331页
  • 主题词:实时操作系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

嵌入式实时操作系统μC/OS-Ⅱ原理及应用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-Ⅱ简介12

1.4 通用操作系统与嵌入式操作系统的异同13

1.5 小结15

1.6 练习题15

第2章 预备知识16

2.1 开发工具16

2.1.1 Borland C 3.1及其精简版16

2.1.2 多文件程序的编译和连接21

2.2 工程管理工具make及makefile24

2.3 复杂工程项目的管理32

2.3.1 批处理文件与makefile的综合使用32

2.3.2 复杂工程管理示例33

2.4 C指针37

2.4.1 指针的基本概念37

2.4.2 函数指针39

2.4.3 函数指针作为函数参数及回调函数41

2.5 typedef常用方法43

2.6 常用数据类型及数据结构45

2.6.1 控制块46

2.6.2 同类控制块的登记造册50

2.6.3 队列与堆栈52

2.6.4 位图54

2.7 程序流程转移的中断实现方法55

2.8 小结56

2.9 练习题56

第3章 μC/OS-Ⅱ中的任务57

3.1 任务的基本概念57

3.1.1 任务及其种类57

3.1.2 任务的状态59

3.1.3 用户任务代码的一般结构60

3.1.4 系统任务63

3.1.5 任务的优先权及优先级别64

3.2 任务堆栈65

3.2.1 任务堆栈的创建65

3.2.2 任务堆栈的初始化67

3.3 任务控制块及其链表68

3.3.1 任务控制块结构68

3.3.2 任务控制块链表69

3.3.3 任务控制块的初始化71

3.4 任务就绪表及任务调度72

3.4.1 任务就绪表结构72

3.4.2 对任务就绪表的操作74

3.4.3 任务调度76

3.5 任务的创建81

3.5.1 用函数OSTaskCreate()创建任务81

3.5.2 用函数OSTaskCreateExt()创建任务83

3.5.3 创建任务的一般方法83

3.6 任务的挂起和恢复90

3.6.1 挂起任务90

3.6.2 恢复任务90

3.7 其他任务管理函数96

3.7.1 任务优先级别的修改96

3.7.2 任务的删除97

3.7.3 查询任务的信息103

3.8 μC/OS-Ⅱ的初始化和任务的启动103

3.8.1 μC/OS-Ⅱ的初始化103

3.8.2 μC/OS-Ⅱ的启动105

3.9 小结107

3.10 练习题108

第4章 μC/OS-Ⅱ的中断和时钟109

4.1 μC/OS-Ⅱ的中断109

4.1.1 μC/OS-Ⅱ的中断过程109

4.1.2 中断级任务切换函数113

4.1.3 应用程序中的临界段113

4.2 μC/OS-Ⅱ的时钟115

4.3 时间管理122

4.3.1 任务的延时122

4.3.2 取消任务的延时123

4.3.3 获取和设置系统时间128

4.4 小结130

4.5 练习题131

第5章 任务的同步与通信132

5.1 任务的同步和事件132

5.1.1 任务间的同步132

5.1.2 事件133

5.2 事件控制块及事件处理函数145

5.2.1 事件控制块的结构145

5.2.2 操作事件控制块的函数147

5.2.3 空事件控制块链表149

5.3 信号量及其操作150

5.3.1 信号量150

5.3.2 信号量的操作151

5.4 互斥型信号量和任务优先级反转160

5.4.1 任务优先级的反转现象161

5.4.2 互斥型信号量166

5.5 消息邮箱及其操作169

5.5.1 消息邮箱169

5.5.2 消息邮箱的操作170

5.6 消息队列及其操作175

5.6.1 消息队列175

5.6.2 消息队列的操作178

5.7 小结184

5.8 练习题185

第6章 信号量集186

6.1 信号量集的结构186

6.1.1 基本概念186

6.1.2 信号量集的结构组成187

6.1.3 对等待任务链表的操作191

6.1.4 空标志组链表191

6.2 信号量集的操作192

6.2.1 创建信号量集192

6.2.2 请求信号量集194

6.2.3 向信号量集发送信号194

6.2.4 查询信号量集的状态200

6.2.5 删除信号量集203

6.3 小结203

6.4 练习题203

第7章 动态内存管理204

7.1 内存控制块204

7.1.1 可动态分配内存的划分204

7.1.2 内存控制块OS_MEM的结构205

7.1.3 空内存控制块链表206

7.2 动态内存的管理206

7.2.1 创建动态内存分区206

7.2.2 请求获得一个内存块208

7.2.3 释放一个内存块211

7.2.4 查询一个内存分区的状态215

7.3 小结220

7.4 练习题220

第8章 在51单片机上移植μC/OS-Ⅱ221

8.1 μC/OS-Ⅱ移植的一般性问题221

8.1.1 可重入函数的概念221

8.1.2 时钟节拍的产生222

8.1.3 任务堆栈的设计222

8.2 在51系列单片机上移植μC/OS-Ⅱ223

8.2.1 文件OS_CPU.H的修改223

8.2.2 任务堆栈的设计224

8.2.3 文件OS_CPU_C.C的修改231

8.2.4 几点注意事项232

8.3 应用举例232

8.3.1 LED数码显示器的驱动程序232

8.3.2 串行接口的应用234

8.4 小结242

8.5 练习题242

第9章 基于ARM的μC/OS-Ⅱ243

9.1 移植规划243

9.1.1 编译器的选择243

9.1.2 ARM7工作模式的选择243

9.2 移植244

9.2.1 文件OS_CPU.H的编写244

9.2.2 文件OS_CPU_C.C的编写246

9.2.3 文件OS_CPU_A.S的编写253

9.2.4 关于中断及时钟节拍256

9.3 在LPC2000上移植μC/OS-Ⅱ257

9.3.1 挂接SWI软件中断258

9.3.2 中断及时钟节拍中断258

9.3.3 一个基于μC/OS-Ⅱ和ARM的应用程序实例259

9.4 小结261

9.5 练习题261

第10章 μC/OS-Ⅱ在80x86上的移植262

10.1 概述262

10.2 任务切换263

10.2.1 任务切换函数OSCtxSw()263

10.2.2 任务切换宏OS_TASK_SW()265

10.2.3 中断级任务切换函数(OSIntCtxSw()266

10.3 系统时钟267

10.3.1 PC中DOS的系统时钟267

10.3.2 PC中μC/OS-Ⅱ的系统时钟267

10.3.3 μC/OS-Ⅱ系统时钟中断服务程序269

10.3.4 μC/OS-Ⅱ系统时钟中断向量的安装269

10.3.5 由μC/OS-Ⅱ返回DOS270

10.4 小结271

第11章 μC/OS-Ⅱ可裁剪性的实现272

11.1 文件OS_CFG.H中用于系统裁剪的常量272

11.2 配置常量的解释274

11.2.1 OS_MAX_EVENTS274

11.2.2 OS_MAX_MEM_PARTS275

11.2.3 OS_MAX_QS275

11.2.4 OS_MAX_MEM_TASKS275

11.2.5 OS_LOWEST_PRIO275

11.2.6 OS_TASK_IDLE_STK_SIZE276

11.2.7 OS_TASK_STAT_EN276

11.2.8 OS_TASK_STAT_STK_SIZE276

11.2.9 OS_CPU_HOOKS_EN276

11.2.10 OS_MBOX_EN277

11.2.11 OS_MEM_EN277

11.2.12 OS_Q_EN277

11.2.13 OS_SEM_EN277

11.2.14 OS_TASK_CHANGE_PRIO_EN277

11.2.15 OS_TASK_CREATE_EN277

11.2.16 OSTASK_CREATE_EXT_EN278

11.2.17 OS_TASK_DEL_EN278

11.2.18 OS_TASK_SUSPEND_EN278

11.2.19 OS_TICKS_PER_SEC278

第12章 在集成开发环境上编译μC/OS-Ⅱ279

12.1 使用Borland C++4.5编译μC/OS-Ⅱ279

12.1.1 做法与步骤280

12.1.2 BC精简版与完整版之间的关系283

12.2 使用Visual C++6.0编译μC/OS-Ⅱ283

12.2.1 DOS程序与Windows程序的区别283

12.2.2 系统时钟的模拟285

12.2.3 系统时钟中断的模拟288

12.2.4 VC运行环境的初始化290

12.2.5 任务切换291

12.3 小结295

12.4 练习题295

附录A 文件PC.C中的函数296

A.1 字符显示函数296

A.1.1 显示一个字符的函数PC_DispChar296

A.1.2 清屏幕一列显示的函数PC_DispClrCol296

A.1.3 清屏幕一行显示的函数PC_DispClrRow296

A.1.4 清屏函数PC_DispClrScr297

A.1.5 显示字符串函数PC_DispStr297

A.1.6 颜色常量的定义297

A.2 保存和恢复DOS环境的函数298

A.2.1 保存DOS环境的函数PC_DOSSaveReturn()298

A.2.2 恢复DOS环境的函数PC_DoSReturn()298

A.3 设置和获取中断向量的函数298

A.3.1 设置中断向量的函数PC_VectSet()298

A.3.2 获取中断向量的函数PC_VectGet()298

附录B μC/OS-Ⅱ中使用的数据类型299

附录C C51开发工具μVision2简介300

C.1 C51语言的扩展300

C.1.1 数据类型300

C.1.2 存储器类型301

C.1.3 存储模式302

C.1.4 指针303

C.1.5 可重入函数304

C.1.6 与汇编语言的接口305

C.1.7 库函数306

C.2 创建项目306

C.2.1 启动μVision2并创建一个项目306

C.2.2 新建一个源文件307

C.2.3 增加和配置初始化代码307

C.2.4 为目标设置工具选项308

C.2.5 Build项目并生成HEX文件308

C.3 常用的菜单选项309

C.3.1 视图菜单View309

C.3.2 项目菜单Project309

C.3.3 调试菜单Debug309

C.3.4 外围器件菜单Peripherals310

参考文献311

热门推荐