• 【正版书籍】物联网操作系统LiteOS内核开发与实践
21年品牌 40万+商家 超1.5亿件商品

【正版书籍】物联网操作系统LiteOS内核开发与实践

正版图书,可开发票。

31.4 6.3折 49.8 全新

仅1件

河北保定
认证卖家担保交易快速发货售后保障

作者刘旭明,刘火良,李雪峰

出版社人民邮电出版社

ISBN9787115529091

出版时间2020-07

装帧平装

开本16开

定价49.8元

货号J9787115529091

上书时间2024-07-01

人龙正版图书批发

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
商品简介
本书较为全面地介绍了华为物联网操作系统LiteOS内核相关知识。全书共12章,介绍了LiteOS的移植与内核资源的应用,如创建任务、任务管理、消息队列、信号量、互斥锁、事件、软件定时器、内存管理、中断管理及链表等操作,深入讲解了内核资源的概念、运行机制、应用场景及源码。本书提供了大量实验,通过练习和操作实践,读者可巩固所学的内容。 本书可以作为高校物联网、嵌入式等相关专业的教材,也可以作为物联网、嵌入式培训班的教材,还适合物联网开发人员、从事物联网技术支持的专业人员和广大嵌入式爱好者自学使用。
作者简介:
刘火良,野火电子创始人,系统工程师,近十年来一直从事嵌入式系统的软硬件开发工作,出版著作有《STM32库开发实战指南-基于STM32F103(第2版)》,《STM32库开发实战指南-基于STM32F4》,《freeRTOS内核实现与应用开发实战指南》,《ucosiii内核实现与应用开发实战指南》《RT-Thread内核实现与应用开发实战指南》,《Lwip应用开发实战指南》。
目录:
第 1章 初识LiteOS 1
1.1 LiteOS概述 1
1.2 学习LiteOS 2
第 2章 移植LiteOS到STM32 4
2.1 移植前的准备工作 4
2.1.1 获取STM32的裸机工程模板 4
2.1.2 下载LiteOS源码 4
2.1.3 LiteOS源码核心文件夹分析 5
2.2 向裸机工程中添加LiteOS源码 6
2.2.1 复制LiteOS文件夹到裸机工程根目录中 6
2.2.2 将OS_CONFIG文件夹中配置文件复制到LiteOS文件夹中 7
2.2.3 复制Include文件夹到CMSIS文件夹中 7
2.2.4 LiteOS文件夹内容介绍 7
2.2.5 添加LiteOS核心源码到工程组文件夹中 9
2.3 接管中断版本修改target_config.h 11
2.3.1 target_config.h文件内容讲解 11
2.3.2 target_config.h文件修改 22
2.4 非接管中断版本修改target_config.h 29
2.4.1 target_config.h文件内容 29
2.4.2 target_config.h文件修改 32
2.5 修改相关文件 34
2.5.1 启动文件内容修改 34
2.5.2 分散加载文件修改 36
2.5.3 修改中断相关文件 38
2.5.4 修改core_cm3.h文件 39
2.6 修改工程配置 39
2.7 修改main.c 40
2.8 下载验证 41
第3章 创建任务 42
3.1 硬件初始化 42
3.2 创建单任务 43
3.2.1 动态内存空间的堆 43
3.2.2 LiteOS核心初始化 44
3.2.3 定义任务函数 45
3.2.4 定义任务ID变量 46
3.2.5 任务控制块 46
3.2.6 创建具体任务 47
3.3 main.c文件内容全貌 48
3.4 创建多任务 51
3.5 LiteOS的启动流程 56
3.5.1 第 一种启动方式 56
3.5.2 第二种启动方式 57
3.5.3 LiteOS的启动流程 59
第4章 任务管理 66
4.1 基本概念 66
4.1.1 任务的基本概念 66
4.1.2 调度器的基本概念 67
4.1.3 任务状态的基本概念 67
4.1.4 任务状态迁移 67
4.2 常用的任务函数 68
4.2.1 任务创建函数LOS_TaskCreate 68
4.2.2 任务删除函数LOS_TaskDelete 70
4.2.3 任务延时函数LOS_TaskDelay 72
4.2.4 任务挂起函数LOS_TaskSuspend 73
4.2.5 任务恢复函数LOS_TaskResume 74
4.3 常用Task错误代码说明 75
4.4 常用任务函数的使用方法 76
4.4.1 任务创建函数LOS_TaskCreate 76
4.4.2 任务删除函数LOS_TaskDelete 77
4.4.3 任务延时函数LOS_TaskDelay 78
4.4.4 任务挂起与恢复函数 78
4.5 任务的设计要点 79
4.6 任务管理实验 80
4.7 实验现象 85
第5章 消息队列 86
5.1 消息队列的基本概念 86
5.2 消息队列的运行机制 87
5.3 消息队列的传输机制 88
5.4 消息队列的阻塞机制 88
5.4.1 出队阻塞 89
5.4.2 入队阻塞 89
5.5 常见队列错误代码说明 89
5.6 常用消息队列的函数 91
5.6.1 消息队列创建函数LOS_QueueCreate 91
5.6.2 消息队列删除函数LOS_QueueDelete 94
5.6.3 消息队列写消息函数 96
5.6.4 通用的消息队列处理函数 100
5.6.5 消息队列读消息函数 103
5.7 消息队列实验 107
5.8 实验现象 112
第6章 信号量 114
6.1 信号量的基本概念 114
6.1.1 二值信号量 115
6.1.2 计数信号量 115
6.2 二值信号量的运行机制 116
6.3 二值信号量的应用场景 116
6.4 计数信号量的运行机制 117
6.5 信号量的使用 117
6.5.1 信号量控制块 117
6.5.2 常见信号量错误代码 118
6.5.3 二值信号量创建函数LOS_BinarySemCreate 118
6.5.4 计数信号量创建函数LOS_SemCreate 120
6.5.5 信号量删除函数LOS_SemDelete 121
6.5.6 信号量释放函数LOS_SemPost 122
6.5.7 信号量获取函数LOS_SemPend 124
6.6 二值信号量同步实验 126
6.7 二值信号量同步实验现象 131
6.8 计数信号量实验 132
6.9 计数信号量实验现象 137
第7章 互斥锁 139
7.1 互斥锁的基本概念 139
7.2 互斥锁的优先级继承机制 140
7.3 互斥锁的运行机制 142
7.4 互斥锁的应用场景 142
7.5 互斥锁的使用 143
7.5.1 互斥锁控制块 143
7.5.2 互斥锁错误代码 143
7.5.3 互斥锁创建函数LOS_MuxCreate 144
7.5.4 互斥锁删除函数LOS_MuxDelete 145
7.5.5 互斥锁释放函数LOS_MuxPost 147
7.5.6 互斥锁获取函数LOS_MuxPend 149
7.5.7 使用互斥锁的注意事项 151
7.6 互斥锁实验 151
7.6.1 模拟优先级翻转实验 152
7.6.2 互斥锁实验 158
7.7 实验现象 164
7.7.1 模拟优先级翻转实验现象 164
7.7.2 互斥锁实验现象 165
第8章 事件 166
8.1 事件的基本概念 166
8.2 事件的运行机制 167
8.3 事件的应用场景 168
8.4 事件的使用 169
8.4.1 事件控制块 169
8.4.2 常见事件错误代码 169
8.4.3 事件初始化函数LOS_EventInit 169
8.4.4 事件销毁函数LOS_EventDestory 170
8.4.5 写指定事件函数LOS_EventWrite 170
8.4.6 读指定事件函数LOS_EventRead 172
8.4.7 清除指定事件函数LOS_EventClear 175
8.5 事件标志组实验 176
8.6 实验现象 182
第9章 软件定时器 183
9.1 软件定时器简介 183
9.1.1 软件定时器的基本概念 183
9.1.2 软件定时器的运行机制 184
9.1.3 软件定时器的精度 185
9.1.4 软件定时器的应用场景 185
9.2 软件定时器的函数 185
9.2.1 软件定时器控制块 186
9.2.2 软件定时器错误代码 186
9.2.3 软件定时器开发典型流程 187
9.2.4 软件定时器创建函数LOS_SwtmrCreate 187
9.2.5 软件定时器删除函数LOS_SwtmrDelete 190
9.2.6 软件定时器启动函数LOS_SwtmrStart 192
9.2.7 软件定时器停止函数LOS_SwtmrStop 196
9.3 软件定时器实验 198
9.4 实验现象 202
第 10章 内存管理 204
10.1 内存管理的基本概念 204
10.2 内存管理的运行机制 205
10.3 内存管理的应用场景 207
10.4 静态内存池的使用 208
10.4.1 静态内存池控制块 208
10.4.2 静态内存池初始化函数LOS_MemboxInit 208
10.4.3 静态内存池分配函数LOS_MemboxAlloc 210
10.4.4 静态内存池释放函数LOS_MemboxFree 212
10.4.5 静态内存池内容清除函数LOS_MemboxClr 213
10.5 动态内存的使用 213
10.5.1 动态内存初始化函数LOS_MemInit 214
10.5.2 动态内存分配函数LOS_MemAlloc 217
10.5.3 动态内存释放函数LOS_MemFree 220
10.6 内存管理实验 223
10.6.1 静态内存池管理实验 223
10.6.2 动态内存管理实验 229
10.7 实验现象 235
10.7.1 静态内存池管理实验现象 235
10.7.2 动态内存管理实验现象 236
第 11章 中断管理 237
11.1 中断简介 237
11.1.1 异常 237
11.1.2 中断 238
11.2 中断的运行机制 239
11.3 中断的应用场景 240
11.4 中断延迟的基本概念 240
11.5 中断的使用 241
11.5.1 接管中断版本的移植 241
11.5.2 接管中断版本的常用函数 241
11.5.3 非接管中断 245
11.6 中断管理实验 246
11.6.1 接管中断方式 246
11.6.2 非接管中断方式 251
11.7 实验现象 256
第 12章 链表 257
12.1 C语言中的链表 257
12.2 链表的使用 258
12.2.1 链表初始化函数LOS_ListInit 258
12.2.2 向链表中添加节点函数LOS_ListAdd 259
12.2.3 从链表中删除节点函数LOS_ListDelete 260
12.3 双向链表实验 261
12.4 实验现象 264

作者简介
刘火良,野火电子创始人,系统工程师,近十年来一直从事嵌入式系统的软硬件开发工作,出版著作有《STM32库开发实战指南-基于STM32F103(第2版)》,《STM32库开发实战指南-基于STM32F4》,《freeRTOS内核实现与应用开发实战指南》,《ucosiii内核实现与应用开发实战指南》《RT-Thread内核实现与应用开发实战指南》,《Lwip应用开发实战指南》。

目录
第1章初识LiteOS1

1.1LiteOS概述1

1.2学习LiteOS2

第2章移植LiteOS到STM324

2.1移植前的准备工作4

2.1.1获取STM32的裸机工程模板4

2.1.2下载LiteOS源码4

2.1.3LiteOS源码核心文件夹分析5

2.2向裸机工程中添加LiteOS源码6

2.2.1复制LiteOS文件夹到裸机工程根目录中6

2.2.2将OS_CONFIG文件夹中配置文件复制到LiteOS文件夹中7

2.2.3复制Include文件夹到CMSIS文件夹中7

2.2.4LiteOS文件夹内容介绍7

2.2.5添加LiteOS核心源码到工程组文件夹中9

2.3接管中断版本修改target_config.h11

2.3.1target_config.h文件内容讲解11

2.3.2target_config.h文件修改22

2.4非接管中断版本修改target_config.h29

2.4.1target_config.h文件内容29

2.4.2target_config.h文件修改32

2.5修改相关文件34

2.5.1启动文件内容修改34

2.5.2分散加载文件修改36

2.5.3修改中断相关文件38

2.5.4修改core_cm3.h文件39

2.6修改工程配置39

2.7修改main.c40

2.8下载验证41

第3章创建任务42

3.1硬件初始化42

3.2创建单任务43

3.2.1动态内存空间的堆43

3.2.2LiteOS核心初始化44

3.2.3定义任务函数45

3.2.4定义任务ID变量46

3.2.5任务控制块46

3.2.6创建具体任务47

3.3main.c文件内容全貌48

3.4创建多任务51

3.5LiteOS的启动流程56

3.5.1种启动方式56

3.5.2第二种启动方式57

3.5.3LiteOS的启动流程59

第4章任务管理66

4.1基本概念66

4.1.1任务的基本概念66

4.1.2调度器的基本概念67

4.1.3任务状态的基本概念67

4.1.4任务状态迁移67

4.2常用的任务函数68

4.2.1任务创建函数LOS_TaskCreate68

4.2.2任务删除函数LOS_TaskDelete70

4.2.3任务延时函数LOS_TaskDelay72

4.2.4任务挂起函数LOS_TaskSuspend73

4.2.5任务恢复函数LOS_TaskResume74

4.3常用Task错误代码说明75

4.4常用任务函数的使用方法76

4.4.1任务创建函数LOS_TaskCreate76

4.4.2任务删除函数LOS_TaskDelete77

4.4.3任务延时函数LOS_TaskDelay78

4.4.4任务挂起与恢复函数78

4.5任务的设计要点79

4.6任务管理实验80

4.7实验现象85

第5章消息队列86

5.1消息队列的基本概念86

5.2消息队列的运行机制87

5.3消息队列的传输机制88

5.4消息队列的阻塞机制88

5.4.1出队阻塞89

5.4.2入队阻塞89

5.5常见队列错误代码说明89

5.6常用消息队列的函数91

5.6.1消息队列创建函数LOS_QueueCreate91

5.6.2消息队列删除函数LOS_QueueDelete94

5.6.3消息队列写消息函数96

5.6.4通用的消息队列处理函数100

5.6.5消息队列读消息函数103

5.7消息队列实验107

5.8实验现象112

第6章信号量114

6.1信号量的基本概念114

6.1.1二值信号量115

6.1.2计数信号量115

6.2二值信号量的运行机制116

6.3二值信号量的应用场景116

6.4计数信号量的运行机制117

6.5信号量的使用117

6.5.1信号量控制块117

6.5.2常见信号量错误代码118

6.5.3二值信号量创建函数LOS_BinarySemCreate118

6.5.4计数信号量创建函数LOS_SemCreate120

6.5.5信号量删除函数LOS_SemDelete121

6.5.6信号量释放函数LOS_SemPost122

6.5.7信号量获取函数LOS_SemPend124

6.6二值信号量同步实验126

6.7二值信号量同步实验现象131

6.8计数信号量实验132

6.9计数信号量实验现象137

第7章互斥锁139

7.1互斥锁的基本概念139

7.2互斥锁的优先级继承机制140

7.3互斥锁的运行机制142

7.4互斥锁的应用场景142

7.5互斥锁的使用143

7.5.1互斥锁控制块143

7.5.2互斥锁错误代码143

7.5.3互斥锁创建函数LOS_MuxCreate144

7.5.4互斥锁删除函数LOS_MuxDelete145

7.5.5互斥锁释放函数LOS_MuxPost147

7.5.6互斥锁获取函数LOS_MuxPend149

7.5.7使用互斥锁的注意事项151

7.6互斥锁实验151

7.6.1模拟优先级翻转实验152

7.6.2互斥锁实验158

7.7实验现象164

7.7.1模拟优先级翻转实验现象164

7.7.2互斥锁实验现象165

第8章事件166

8.1事件的基本概念166

8.2事件的运行机制167

8.3事件的应用场景168

8.4事件的使用169

8.4.1事件控制块169

8.4.2常见事件错误代码169

8.4.3事件初始化函数LOS_EventInit169

8.4.4事件销毁函数LOS_EventDestory170

8.4.5写指定事件函数LOS_EventWrite170

8.4.6读指定事件函数LOS_EventRead172

8.4.7清除指定事件函数LOS_EventClear175

8.5事件标志组实验176

8.6实验现象182

第9章软件定时器183

9.1软件定时器简介183

9.1.1软件定时器的基本概念183

9.1.2软件定时器的运行机制184

9.1.3软件定时器的精度185

9.1.4软件定时器的应用场景185

9.2软件定时器的函数185

9.2.1软件定时器控制块186

9.2.2软件定时器错误代码186

9.2.3软件定时器开发典型流程187

9.2.4软件定时器创建函数LOS_SwtmrCreate187

9.2.5软件定时器删除函数LOS_SwtmrDelete190

9.2.6软件定时器启动函数LOS_SwtmrStart192

9.2.7软件定时器停止函数LOS_SwtmrStop196

9.3软件定时器实验198

9.4实验现象202

第10章内存管理204

10.1内存管理的基本概念204

10.2内存管理的运行机制205

10.3内存管理的应用场景207

10.4静态内存池的使用208

10.4.1静态内存池控制块208

10.4.2静态内存池初始化函数LOS_MemboxInit208

10.4.3静态内存池分配函数LOS_MemboxAlloc210

10.4.4静态内存池释放函数LOS_MemboxFree212

10.4.5静态内存池内容清除函数LOS_MemboxClr213

10.5动态内存的使用213

10.5.1动态内存初始化函数LOS_MemInit214

10.5.2动态内存分配函数LOS_MemAlloc217

10.5.3动态内存释放函数LOS_MemFree220

10.6内存管理实验223

10.6.1静态内存池管理实验223

10.6.2动态内存管理实验229

10.7实验现象235

10.7.1静态内存池管理实验现象235

10.7.2动态内存管理实验现象236

第11章中断管理237

11.1中断简介237

11.1.1异常237

11.1.2中断238

11.2中断的运行机制239

11.3中断的应用场景240

11.4中断延迟的基本概念240

11.5中断的使用241

11.5.1接管中断版本的移植241

11.5.2接管中断版本的常用函数241

11.5.3非接管中断245

11.6中断管理实验246

11.6.1接管中断方式246

11.6.2非接管中断方式251

11.7实验现象256

第12章链表257

12.1C语言中的链表257

12.2链表的使用258

12.2.1链表初始化函数LOS_ListInit258

12.2.2向链表中添加节点函数LOS_ListAdd259

12.2.3从链表中删除节点函数LOS_ListDelete260

12.3双向链表实验261

12.4实验现象264

内容摘要
本书较为全面地介绍了华为物联网操作系统LiteOS内核相关知识。全书共12章,介绍了LiteOS的移植与内核资源的应用,如创建任务、任务管理、消息队列、信号量、互斥锁、事件、软件定时器、内存管理、中断管理及链表等操作,深入讲解了内核资源的概念、运行机制、应用场景及源码。本书提供了大量实验,通过练习和操作实践,读者可巩固所学的内容。
    本书可以作为高校物联网、嵌入式等相关专业的教材,也可以作为物联网、嵌入式培训班的教材,还适合物联网开发人员、从事物联网技术支持的专业人员和广大嵌入式爱好者自学使用。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP