物联网实践系列教材

物联网操作系统LiteOS内核开发与实践

华为物联网平台官方指定教材
分享 推荐 1 收藏 17 阅读 1.3K
刘旭明 , 刘火良 , 李雪峰 (编著)

关于本书的内容有任何问题,请联系 左仲海

1.理实一体、产教融合。由华为提供行业实际案例和实训项目,教师根据院校的实际教学情况安排知识内容。
2.课证融通,对接岗位。和华为认证紧密结合,解决学生“不知道认证”“对通过认证没有信心”的两大难题。
3.资源丰富,易教利学。华为协助建设教学资源,帮助学校更好地进行课程建设。

内容摘要

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

目录

第 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应用开发实战指南》。

相关文章

  • 重磅发布||人邮-华为物联网实践系列教材发布,助力院校培养物联网应用型人才!

    9月10日,由人民邮电出版社出版的12本面向高校的物联网实践系列教材在华为全球培训中心(杭州)正式发布。这些教材将为近千所开设物联网相关专业的高校、近20万名物联网专业学生提供学习参考,助力他们快速学习和提升物联网工程实践技能,成长为物联网应用型人才。 物联网实践系列教材 此次发布的物联网实践系列教材一共12本,涉及物联网基础应用、行业应用和综合应用三个方面,内容覆盖云...

    711 0 3 9

推荐用户

同系列书

  • 物联网NB-IoT开发与实践

    熊保松 李雪峰 魏彪

    本书以NB-IoT实训套件为载体,采用项目化教学方式,讲解了NB-IoT的相关知识及其在物联网中的重要作用。本...

    ¥49.80
  • 物联网操作系统LiteOS内核开发与实践

    刘旭明 刘火良 李雪峰

    本书较为全面地介绍了华为物联网操作系统LiteOS内核相关知识。全书共12章,介绍了LiteOS的移植与内核资...

    ¥49.80
  • 物联网概论

    丁飞 张登银 程春卯

    本书分为7篇,每篇包括若干个章节,共分为16章,较为全面地介绍了物联网的相关概念、体系架构、传感检测技术、视频...

    ¥49.80
  • 物联网应用技术(智能家居)

    方娟 陈锬 张佳玥 易涛

    本书详细讲解了物联网智能家居领域涉及的基本概念、基础理论和开发技术。全书分为3 部分,分别为基础篇、技...

    ¥49.80
  • 华为云物联网平台技术与实践

    黄焱 杨林

    本书详细介绍了华为云物联网平台的关键技术和集成开发案例。全书共分为7章,分别是物联网基础、华为云物联网平台概述...

    ¥39.80

购买本书用户

相关图书

  • 物联网概论

    丁飞 张登银 程春卯

    本书分为7篇,每篇包括若干个章节,共分为16章,较为全面地介绍了物联网的相关概念、体系架构、传感检测技术、视频...

    ¥49.80
  • 物联网应用技术(智能家居)

    方娟 陈锬 张佳玥 易涛

    本书详细讲解了物联网智能家居领域涉及的基本概念、基础理论和开发技术。全书分为3 部分,分别为基础篇、技...

    ¥49.80
  • 物联网导论(第2版)

    全书共17章,在教材的体系和内容上,按照物联网的应用体系架构对有关内容进行了整合,显得更加紧凑,加强了知识间的...

    ¥59.80
  • 物联网安全与隐私保护

    桂小林

    本书从物联网的安全需求出发,参照物联网工程专业规范与国家标准要求,深入浅出地阐述了物联网安全与隐私保护的技术内...

    ¥49.80
  • 华为云物联网平台技术与实践

    黄焱 杨林

    本书详细介绍了华为云物联网平台的关键技术和集成开发案例。全书共分为7章,分别是物联网基础、华为云物联网平台概述...

    ¥39.80
联系客服
联系客服
人邮微信
人邮微信
微信二维码
返回顶部
返回顶部