嵌入式实时操作系统μC/OS-Ⅱ教程 第2版PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:程文娟,吴永忠,苗刚中编著
- 出 版 社:西安:西安电子科技大学出版社
- 出版年份:2017
- ISBN:9787560644004
- 页数:312 页
第1章 嵌入式系统导论 1
1.1嵌入式系统的基本概念 1
1.1.1嵌入式系统的发展概况 1
1.1.2嵌入式系统的定义 3
1.1.3嵌入式系统的特点 4
1.2嵌入式系统的组成结构 5
1.2.1硬件层 5
1.2.2硬件抽象层 8
1.2.3应用层 9
1.3嵌入式系统设计的基本方法 10
1.3.1总体设计 11
1.3.2软硬件组件的详细设计 13
1.3.3系统集成 13
1.3.4系统测试 13
1.4嵌入式操作系统的基本概念 14
1.4.1嵌入式操作系统的发展历程 14
1.4.2嵌入式实时操作系统的定义 14
1.4.3评价嵌入式操作系统的几个重要指标 17
1.4.4嵌入式实时操作系统的特点 17
1.4.5嵌入式操作系统的分类 20
1.4.6通用操作系统与嵌入式操作系统的区别 20
1.5初识μC/OS-Ⅱ操作系统 21
1.5.1 μC/OS-Ⅱ的特点 22
1.5.2 μC/OS-Ⅱ内核文件组成 23
1.5.3如何学好μC/OS-Ⅱ 23
1.5.4一个简单的实例 24
参考文献 27
习题 27
第2章 嵌入式操作系统中的基本概念 28
2.1前后台系统 28
2.2调度 29
2.3临界区 29
2.4进程与线程 29
2.4.1进程的概念 29
2.4.2线程的概念 30
2.5任务与多任务 30
2.6任务切换 31
2.7死锁 32
2.8不可剥夺型内核 32
2.9可剥夺型内核 33
2.10可重入性 34
2.11优先级反转 36
2.11.1任务的优先级 36
2.11.2优先级反转 36
2.12事件 37
2.12.1信号量 37
2.12.2消息邮箱 38
2.12.3消息队列 39
2.12.4事件标志组 39
2.13互斥 40
2.13.1禁止中断 41
2.13.2禁止调度 41
2.13.3信号量 42
2.13.4测试并置位 42
2.14同步 43
2.15通信 44
2.16对存储器的要求 44
2.16.1代码存储器需求 44
2.16.2数据存储器需求 44
习题 45
第3章 任务管理 46
3.1核心任务管理 46
3.1.1临界区的处理 46
3.1.2任务的形式 48
3.1.3任务的状态 49
3.1.4任务控制块 49
3.1.5就绪表 52
3.1.6任务调度 55
3.1.7任务级的任务切换 57
3.1.8调度器上锁和解锁 60
3.1.9空闲任务 61
3.1.10统计任务 62
3.1.11 μC/OS-Ⅱ的初始化 64
3.1.12 μC/OS-Ⅱ的启动 66
3.2用户任务管理 68
3.2.1任务栈管理 69
3.2.2建立任务——OSTaskCreate()函数 77
3.2.3建立任务——OSTaskCreateExt()函数 80
3.2.4优先级变更——OSTaskChangePrio()函数 83
3.2.5删除任务——OSTaskDel()函数 86
3.2.6请求删除任务——OSTaskDelReq()函数 90
3.2.7堆栈检验——OSTaskStkChk()函数 92
3.2.8任务挂起——OSTaskSuspend()函数 96
3.2.9任务恢复——OSTaskResume()函数 98
3.2.10任务信息的获取——OSTaskQuery()函数 100
3.3部分其他系统服务功能 102
习题 103
第4章 中断与时间管理 104
4.1中断相关概念 104
4.1.1中断 104
4.1.2中断延迟时间 105
4.1.3中断响应时间 105
4.1.4中断恢复时间 105
4.1.5中断延迟、响应和恢复比较 106
4.1.6非屏蔽中断 106
4.2 μC/OS-Ⅱ的中断处理 106
4.2.1中断处理程序 106
4.2.2中断处理过程 109
4.3 μC/OS-Ⅱ的时钟节拍 110
4.3.1时钟节拍 110
4.3.2时钟节拍程序 112
4.3.3时钟节拍器的正确用法 114
4.4 μC/OS-Ⅱ的时间管理 114
4.4.1任务延时函数——OSTimeDly()函数 115
4.4.2按时分秒毫秒延时函数——OSTimeDlyHMSM()函数 116
4.4.3结束任务延时——OSTimeDlyResume()函数 118
4.4.4系统时间函数——OSTimeGet()和OSTimeSet() 120
习题 121
第5章 事件控制块 122
5.1基本概念 122
5.2将任务置于等待事件的任务列表中 124
5.3从等待事件的任务列表中删除任务 125
5.4在等待事件的任务列表中查找优先级最高的任务 126
5.5空闲事件控制块链表 127
5.5.1基本概念 127
5.5.2对事件控制块的基本操作 127
5.6初始化一个事件控制块——OS_EventWait ListInit()函数 128
5.7使一个任务脱离等待进入就绪——OS_EventTaskRdy()函数 129
5.8使一个任务进入等待事件发生状态——OS_EventTaskWait()函数 131
5.9由于等待超时而将任务置为就绪态——OS_EventTO()函数 131
习题 132
第6章 信号量与互斥信号量管理 133
6.1信号量管理 133
6.1.1概述 133
6.1.2建立信号量——OSSemCreate()函数 135
6.1.3删除信号量——OSSemDel()函数 137
6.1.4等待信号量——OSSemPend()函数 139
6.1.5发送信号量——OSSemPost()函数 142
6.1.6无等待地获取信号量——OSSemAccept()函数 144
6.1.7查询信号量的当前状态——OSSemQuery()函数 145
6.2互斥信号量管理 147
6.2.1概述 147
6.2.2建立互斥信号量——OSMutexCreate()函数 149
6.2.3删除互斥信号量——OSMutexDel()函数 151
6.2.4等待互斥信号量——OSMutexPend()函数 154
6.2.5释放互斥信号量——OSMutexPost()函数 157
6.2.6无等待地获取互斥信号量——OSMutexAccept()函数 161
6.2.7获取当前互斥信号量的状态——OSMutexQuery()函数 163
第7章 消息管理 167
7.1消息邮箱管理 167
7.1.1概述 167
7.1.2建立消息邮箱——OSMboxCreate()函数 169
7.1.3删除消息邮箱——OSMboxDel()函数 171
7.1.4等待邮箱中的消息——OSMboxPend()函数 173
7.1.5发出邮箱消息——OSMboxPost()函数 176
7.1.6发出邮箱消息——OSMboxPostOpt()函数 180
7.1.7无等待地从邮箱中获取消息——OSMboxAccept()函数 182
7.1.8查询邮箱的状态——OSMboxQuery()函数 184
7.2消息队列管理 186
7.2.1概述 186
7.2.2实现消息队列所需要的各种数据结构 188
7.2.3建立消息队列——OSQCreate()函数 190
7.2.4删除消息队列——OSQDel()函数 192
7.2.5等待消息队列中的一则消息——OSQPend()函数 194
7.2.6向消息队列发送一则(FIFO)消息——OSQPost()函数 197
7.2.7向消息队列发送一则(LIFO)消息——OSQPostFront()函数 199
7.2.8以可选方式(FIFO或LIFO)向消息队列发一则消息 202
7.2.9无等待地从消息队列中获取一则消息——OSQAccept()函数 205
7.2.10清空消息队列——OSQFlush()函数 206
7.2.11查询一个消息队列的状态——OSQQuery()函数 207
习题 209
第8章 事件标志组管理 210
8.1概述 210
8.1.1事件标志组的组成及管理函数 210
8.1.2事件标志组的配置常量 210
8.1.3实现事件标志组所需要的数据结构 211
8.2建立事件标志组——OSFlagCreate()函数 212
8.3等待事件标志——OSFlagPend()函数 214
8.4设置事件标志——OSFlagPost()函数 218
8.5删除事件标志组——OSFlagDel()函数 223
8.6无等待地获得事件标志——OSFlagAccept()函数 226
8.7查询事件标志组的状态——OSFlagQuery()函数 228
习题 230
第9章 内存管理 231
9.1概述 231
9.1.1基本原理 231
9.1.2内存管理函数 232
9.1.3内存管理函数配置常量 232
9.1.4内存控制块 233
9.2建立内存分区——OSMemCreate()函数 233
9.3获取一个内存块——OSMemGet()函数 236
9.4释放一个内存块——OSMemPut()函数 238
9.5查询内存分区的状态——OSMemQuery()函数 240
习题 242
第10章 μ/OS-Ⅱ的移植 243
10.1移植的基本方法 243
10.1.1移植的概念与一般要求 243
10.1.2 OS CPU.H代码的移植 245
10.1.3 OS CPU_C.C代码的移植 247
10.1.4 OS CPU_A.ASM代码的移植 250
10.1.5移植代码的测试 253
10.2基于MCS-51单片机的移植实例 253
10.2.1 OS CPU0H代码的移植 253
10.2.2 OS CPU_C.C代码的移植 254
10.2.3 OS CPU_A.ASM代码的移植 255
10.3基于ARM处理器的移植实例 261
10.3.1移植规划 261
10.3.2 OS CPU.H代码的移植 261
10.3.3 OS CPU_C.C代码的移植 262
10.3.4 OS CPU_A.ASM代码的移植 264
习题 276
第11章 应用实例 277
11.1基于MCS-51处理器的应用实例 277
11.1.1设计目标 277
11.1.2总体设计 277
11.1.3系统电路设计 280
11.1.4系统程序设计 281
11.2基于ARM处理器的应用实例 304
第12章 μC/OS-Ⅱ几个版本的区别简介 310
12.1 μC/OS-ⅡV2.52与V2.62的区别 310
12.2 μC/OS-ⅡV2.62与V2.76的区别 311
12.3 μC/OS-ⅡV2.76与V2.83的区别 312
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《物联网与嵌入式技术及其在农业上的应用》马德新 2019
- 《细菌蛋白分泌系统研究方法与操作规程》(法)劳雷·詹来特,埃里克·卡斯卡莱斯编者;褚怡,崔改泵责编郑福英,宫晓炜,陈启伟,刘永生译者 2019
- 《云架构操作系统基础 Red Hat Enterprise Linux 7》李贺华 2018
- 《痘病毒学及痘苗病毒实验操作指南 2012》(美)斯图亚特·N.艾萨克斯 2019
- 《大气二次污染手工监测标准操作程序》袁鸾,岳玎利,郁建珍,钟流举 2019
- 《中国食品药品检验检测技术系列丛书 中国药品检验标准操作规范 2019版》中国食品药品检定研究院 2019
- 《中小学机器人 教学程序与操作指南 中》刘清明主编 2019
- 《家庭营养操作流程》王新颖,黄迎春主编 2019
- 《移空技术操作手册 一项本土化心身治疗技术》刘天君,(德)本哈德·特林克勒 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019