互联网
类型
可以朗读
语音朗读
297千字
字数
2016-01-01
发行日期
展开全部
主编推荐语
按照循环渐进的顺序对μC/OS-III中的函数逐一进行分析,采用通俗易懂的例子对书中内容进行解析。
内容简介
本书基于Cortex-M3内核,从源码分析和实际应用两个角度全面解析嵌入式实时操作系统μC/OS-III。主要本书与其他书籍的编排方式不一样:其他书籍是按照官方文件的框架或者组件的方式编排的;本书更强调循序渐进,并结合了笔者在阅读μC/OS-III源码过程中的一些想法。比如一个结构体变量可能会有多个元素,工具书一般会把它们放在一起讲解,而本书为了易于读者更好地理解,只在某些源码涉及这个元素时才会介绍其作用和含义。如果你有时要将本书当作工具书来查询,则可结合这些相关内容涉及的源码进行查找。
目录
- 版权信息
- 前言
- 第1章 实时操作系统及μC/OS-III简介
- 1.1 单片机应用程序框架
- 1.1.1 前后台系统
- 1.1.2 嵌入式实时操作系统
- 1.2 如何使用和学习μC/OS-III源码
- 1.3 μC/OS-III文件结构简介
- 1.4 μC/OS-III数据结构简介
- 1.5 任务
- 1.6 内核对象简介
- 1.6.1 信号量
- 1.6.2 事件标志组
- 1.6.3 消息队列
- 1.6.4 互斥信号量
- 1.6.5 内存分区
- 1.6.6 软件定时器
- 1.7 μC/OS-III常见的程序段
- 1.7.1 中断嵌套层数统计
- 1.7.2 开中断和关中断
- 1.7.3 使能中断延迟的锁住和开启调度器
- 1.7.4 没有使能中断延迟的锁住和开启调度器
- 1.7.5 中断嵌套检测
- 1.7.6 调度器嵌套检测
- 1.7.7 时间戳
- 1.7.8 错误类型
- 1.7.9 参数检测
- 1.7.10 内核对象类型检测
- 1.7.11 安全检测
- 1.7.12 安全关键IEC61508
- 1.8 总结
- 第2章 时钟节拍
- 2.1 系统节拍中断服务程序
- 2.2 节拍任务处理时间相关事务
- 2.2.1 节拍列表更新
- 2.2.2 节拍列表
- 2.2.3 哈希算法检测到期任务
- 2.3 总结
- 第3章 时间管理
- 3.1 实例演示
- 3.2 任务开始延时
- 3.3 任务插入节拍列表
- 3.4 任务取消延时
- 3.5 任务脱离节拍列表
- 3.6 获取和设置时钟节拍
- 3.7 μC/OS-III全局变量的定义和声明
- 3.8 总结
- 第4章 软件定时器
- 4.1 实例演示
- 4.2 插入定时器列表
- 4.3 删除定时器
- 4.4 脱离定时器列表
- 4.5 停止定时器
- 4.6 定时器内部运行机制
- 4.6.1 定时器初始化
- 4.6.2 定时器任务
- 4.6.3 回调函数
- 4.7 定时器剩余定时时间获取
- 4.8 定时器状态获取
- 4.9 总结
- 第5章 多值信号量
- 5.1 实例演示
- 5.2 信号量的创建
- 5.3 信号量等待队列
- 5.4 内核对象添加到调试双向链表
- 5.5 内核对象从调试双向链表中删除
- 5.6 部分内核对象数据结构的特点
- 5.7 发布信号量
- 5.7.1 开始发布信号量
- 5.7.2 结构体指针强制类型转换
- 5.7.3 无确切类型指针
- 5.7.4 单一任务提交处理
- 5.7.5 标记某一内核对象被提交
- 5.7.6 将任务从多个等待列表中移除
- 5.7.7 将任务从一个等待列表中删除
- 5.7.8 信号量提交过程涉及的时间戳
- 5.8 等待信号量
- 5.9 等待信号量过程的解析
- 5.9.1 函数解析
- 5.9.2 阻塞准备等待内核对象的任务
- 5.9.3 阻塞任务
- 5.9.4 初始化OS_PEND_DATA类型变量
- 5.9.5 根据任务优先级将OS_PEND_DATA变量插入双向链表
- 5.10 强制解除等待状态
- 5.10.1 强制解除内核对象上的一个任务
- 5.10.2 标记某一内核对象上的任务被强制解除等待状态
- 5.11 删除信号量
- 5.12 设置信号量计数值
- 5.13 总结
- 第6章 互斥信号量mutex
- 6.1 mutex变量的数据结构
- 6.2 创建mutex
- 6.3 提交mutex
- 6.4 等待/获取mutex
- 6.5 获取mutex过程解析
- 6.5.1 开始获取mutex
- 6.5.2 优先级继承过程
- 6.5.3 改变任务优先级并调整任务在各种列表中的位置
- 6.6 删除mutex
- 6.7 强制解除等待mutex
- 6.8 总结
- 第7章 消息队列
- 7.1 实例演示
- 7.2 消息的数据结构
- 7.3 消息池
- 7.4 消息队列解析
- 7.5 创建消息队列
- 7.6 提交消息
- 7.7 提交消息过程解析
- 7.8 等待消息过程解析
- 7.9 总结
- 第8章 事件标志
- 8.1 实例演示
- 8.2 事件标志组数据结构解析
- 8.3 创建事件标志组
- 8.4 等待事件标志组
- 8.5 提交事件标志组
- 8.6 总结
- 第9章 等待多个内核对象
- 9.1 实例演示
- 9.2 等待多个内核对象过程解析
- 9.2.1 检查多个内核对象是否被提交过
- 9.2.2 任务等待多个内核对象
- 9.3 总结
- 第10章 任务消息队列和任务信号量
- 10.1 实例演示
- 10.2 任务消息队列
- 10.2.1 任务消息队列相关数据结构解析
- 10.2.2 等待任务消息队列
- 10.2.3 任务消息队列的提交
- 10.2.4 强制解除等待任务消息队列
- 10.2.5 小结
- 10.3 任务信号量
- 10.3.1 任务信号量相关数据结构
- 10.3.2 等待任务信号量
- 10.3.3 提交任务信号量
- 10.3.4 强制解除等待任务信号量
- 10.3.5 小结
- 第11章 内存管理
- 11.1 内存碎片是怎么形成的
- 11.2 实例说明
- 11.3 内存分区控制块数据结构
- 11.4 创建内存分区
- 11.5 获取内存块
- 11.6 将内存块放回内存分区
- 11.7 总结
- 第12章 就绪优先级位映像表
- 12.1 就绪优先级位映像表数据结构
- 12.2 初始化就绪优先级位映像表
- 12.3 查找就绪优先级位映像表中最高的优先级
- 12.4 置就绪优先级位映像表中某个优先级处于就绪状态
- 12.5 将就绪优先级位映像表相应位清0
- 12.6 总结
- 第13章 就绪列表
- 13.1 就绪列表数据结构解析
- 13.2 初始化就绪列表
- 13.3 使任务就绪
- 13.4 将任务从就绪列表对应的双向链表的前面转移到后面
- 13.5 总结
- 第14章 任务切换
- 14.1 堆栈的基本概念
- 14.2 Cortex-M3堆栈
- 14.3 任务切换
- 14.4 PendSV服务程序解析
- 14.5 首次任务调度
- 14.6 任务堆栈初始化函数OSTaskStkInit解析
- 14.7 验证初始化堆栈弹栈结果
- 14.8 中断级任务切换的宏OSIntCtxSw()解析
- 14.9 任务切换过程中出现中断的处理
- 14.10 总结
- 第15章 任务管理
- 15.1 任务创建
- 15.2 挂起任务
- 15.3 恢复挂起任务
- 15.4 时间片轮转调度
- 15.4.1 时间片轮转调度初始化
- 15.4.2 时间片轮转调度核心算法
- 15.4.3 放弃时间片
- 15.4.4 设置任务时间片个数
- 15.5 任务寄存器
- 15.5.1 设置寄存器的内容
- 15.5.2 访问任务寄存器
- 15.6 总结
- 第16章 中断管理
- 16.1 中断延迟提交
- 16.1.1 延迟提交信息记录块
- 16.1.2 初始化延迟提交
- 16.1.3 中断延迟提交内核对象
- 16.1.4 延迟提交任务OS_IntQTask
- 16.2 中断嵌套管理
- 16.3 开中断和关中断解析
- 16.4 进入和退出临界段代码解析
- 16.4.1 OS_CRITICAL_ENTER解析
- 16.4.2 OS_CRITICAL_ENTER_CPU_CRITICAL_EXIT解析
- 16.4.3 OS_CRITICAL_EXIT_NO_SCHED解析
- 16.4.4 OS_CRITICAL_EXIT解析
- 16.5 测量关中断时间
- 16.5.1 测量关中断的初始化
- 16.5.2 测量最大关中断时间
- 16.5.3 获取最大关中断的时间
- 16.6 总结
- 第17章 各类统计信息
- 17.1 实例演示
- 17.2 CPU使用率计算
- 17.3 CPU使用率测量的初始化
- 17.4 堆栈检测过程简介
- 17.5 堆栈检测
- 17.6 实例解读堆栈溢出
- 17.7 统计任务OS_StatTask
- 17.8 总结
- 第18章 μC/OS-III在不同CPU上的移植
- 18.1 移植接口主要文件编写
- 18.1.1 os_cpu_c.c文件
- 18.1.2 os_cpu_a.asm文件
- 18.1.3 os_cpu.h文件
- 18.2 编写CPU相关文件
- 18.2.1 cpu_c.c文件和cpu_a.asm文件
- 18.2.2 cpu.h文件
- 18.2.3 cpu_def.h文件
- 18.2.4 cpu_core.c文件和cpu_core.h文件
- 18.2.5 cpu_cfg.h文件
- 18.3 编写配置文件
- 18.3.1 os_app_app.h文件
- 18.3.2 os_cfg.h文件
- 18.4 总结
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。