简介
本书全面介绍了物联网操作系统相关知识,全书共15章,包括物联网操作系统概述,任务管理,任务同步,中断、异常与时间,内存管理,存储管理,能耗管理,LiteOS扩展组件,LiteOS双端优化,LiteOS应用,LiteOS实验环境配置,LiteOS内核实验一,LiteOS内核实验二,LiteOS实战实验,LiteOS创新设计等。 本书可以作为高校物联网操作系统课程的教材,也可以作为物联网培训班的教材,还适合广大物联网应用开发人员、物联网产品技术支持的专业人员和广大计算机爱好者自学使用。
目录
第 1章 物联网操作系统概述 1
1.1 操作系统概述 1
1.2 实时操作系统 3
1.3 嵌入式操作系统 4
1.4 物联网操作系统 5
1.4.1 物联网操作系统需求 5
1.4.2 物联网操作系统发展 6
1.4.3 物联网操作系统基本组成及特点 7
1.5 物联网操作系统架构 9
1.5.1 Huawei LiteOS简介 10
1.5.2 Huawei LiteOS架构 10
1.6 小结 11
第 2章 任务管理 12
2.1 任务管理基本概念 12
2.1.1 进程与线程 12
2.1.2 任务 13
2.2 任务管理原理 13
2.2.1 任务控制块 13
2.2.2 任务状态 14
2.2.3 任务栈 15
2.2.4 任务优先级 15
2.3 任务调度 15
2.3.1 任务上下文 16
2.3.2 任务切换 16
2.3.3 调度算法 16
2.4 任务运行 16
2.4.1 任务创建 16
2.4.2 任务终止 17
2.5 任务间通信 17
2.5.1 消息队列 17
2.5.2 运作原理 18
2.6 小结 19
第3章 任务同步 20
3.1 任务同步背景 20
3.2 临界区问题 21
3.3 同步方案 22
3.3.1 软件同步 22
3.3.2 硬件同步 23
3.4 信号量 24
3.4.1 信号量实现原理 25
3.4.2 互斥锁实现原理 26
3.4.3 优先级翻转与优先级继承 27
3.5 事件 28
3.5.1 事件内部结构 28
3.5.2 事件唤醒任务 29
3.6 死锁 30
3.6.1 死锁原理 30
3.6.2 死锁预防 30
3.6.3 死锁避免 31
3.6.4 死锁检测 31
3.7 原子操作 32
3.8 小结 32
第4章 中断、异常与时间 34
4.1 中断 34
4.1.1 中断的基本概念 34
4.1.2 中断向量表 35
4.1.3 中断请求与处理 36
4.1.4 多个中断 37
4.2 异常接管 38
4.2.1 异常接管基本概念 38
4.2.2 运作机制 39
4.3 时间管理 40
4.3.1 系统时钟 40
4.3.2 软件定时器 40
4.4 小结 42
第5章 内存管理 43
5.1 内存管理概述 43
5.1.1 地址映射管理 43
5.1.2 动态内存管理 44
5.2 动态内存 44
5.2.1 内存块 44
5.2.2 空闲内存块的管理 45
5.2.3 空闲内存块的分配策略 45
5.2.4 内存块的基本维护 45
5.3 内存管理的实现方法 46
5.3.1 基于双向链表的best-fit 46
5.3.2 两级分级匹配 48
5.3.3 slab 49
5.3.4 内存池 51
5.3.5 内存初始化 51
5.4 小结 52
第6章 存储管理 53
6.1 文件概念 53
6.1.1 文件属性 54
6.1.2 文件操作 54
6.1.3 文件类型 55
6.2 目录结构 56
6.2.1 目录概述 56
6.2.2 树形目录 57
6.2.3 无环图目录 59
6.3 物联网的文件系统 60
6.4 文件系统支持 61
6.4.1 VFS 62
6.4.2 NFS 63
6.4.3 FAT 63
6.5 小结 64
第7章 能耗管理 65
7.1 能耗 65
7.2 CPU占有率 66
7.2.1 基本概念 66
7.2.2 运作原理 67
7.2.3 应用场景 67
7.3 休眠唤醒 67
7.3.1 休眠唤醒的基本概念 67
7.3.2 休眠唤醒的运作流程 68
7.3.3 休眠唤醒的使用场景 68
7.4 Tickless 69
7.5 小结 71
第8章 LiteOS扩展组件 72
8.1 端云互通组件 72
8.1.1 LwM2M协议 72
8.1.2 MQTT协议 75
8.1.3 端云系统方案 77
8.2 OTA升级组件 78
8.2.1 OTA升级的价值 78
8.2.2 OTA升级流程 79
8.3 Huawei MapleJS 83
8.3.1 MapleJS特点 83
8.3.2 MapleJS支持的语法规格 83
8.3.3 模块系统 84
8.3.4 周边支持 84
8.4 小结 85
第9章 LiteOS双端优化 86
9.1 云管端 86
9.1.1 OceanConnect物联网平台 86
9.1.2 OceanConnect的功能 87
9.1.3 OceanConnect的优势 88
9.1.4 Huawei LiteOS快速适配 89
9.2 OpenCPU方案 89
9.2.1 方案思路 89
9.2.2 开发优势 90
9.3 小结 90
第 10章 LiteOS应用 92
10.1 智能手机和可穿戴应用 92
10.2 智能家居应用 93
10.3 其他 93
10.3.1 MobileCam 93
10.3.2 智能水表 94
10.3.3 智能照明 94
10.3.4 智能停车 95
10.4 小结 96
第 11章 LiteOS实验环境配置 97
11.1 硬件环境 97
11.1.1 野火STM32F429IG开发板 98
11.1.2 小熊派开发板 99
11.2 常用集成开发工具 100
11.3 LiteOS Studio 101
11.4 实验环境准备 102
11.4.1 ST-Link驱动安装与开发板连接 102
11.4.2 LiteOS工程导入 102
11.5 小结 106
第 12章 LiteOS内核实验一 107
12.1 任务创建 107
12.1.1 任务入口函数 107
12.1.2 任务参数设置 109
12.2 任务优先级抢占与延时 112
12.2.1 任务优先级抢占 112
12.2.2 任务延时 114
12.2.3 高优先级任务打断 116
12.2.4 优先级动态调整 117
12.3 任务中创建与删除 120
12.4 小结 122
第 13章 LiteOS内核实验二 123
13.1 队列 123
13.1.1 队列写入简单类型的数据 123
13.1.2 队列写入复杂类型的数据 127
13.2 定时器 130
13.2.1 定时器基本应用 131
13.2.2 定时器综合应用 133
13.3 信号量 136
13.3.1 信号量同步功能 136
13.3.2 信号量互斥功能 138
13.4 互斥锁 141
13.5 综合实验 142
13.6 小结 146
第 14章 LiteOS实战实验 147
14.1 IoT平台配置 147
14.1.1 平台登录与项目创建 147
14.1.2 Profile定义 150
14.1.3 编解码插件开发 152
14.1.4 设备连接准备 154
14.2 工程代码 155
14.2.1 AT命令框架 155
14.2.2 通信模组配置 155
14.2.3 驱动代码 156
14.2.4 业务代码 156
14.3 OTA升级 159
14.3.1 环境准备 159
14.3.2 生成升级包 160
14.3.3 上传及升级 162
14.4 小结 164
第 15章 LiteOS创新设计 165
15.1 LiteOS内核升级 165
15.2 物联网创新应用 166
15.2.1 基础要求 166
15.2.2 创新应用参考案例——智能门锁 166
15.2.3 创新应用参考案例——智能购物车 167
15.3 小结 168
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问