物联网操作系统LiteOS内核开发与实践/刘旭明

本书特色

[

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

]

内容简介

[

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

]

作者简介

[

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

]

目录

第 1章 初识LiteOS 11.1 LiteOS概述 11.2 学习LiteOS 2第 2章 移植LiteOS到STM32 42.1 移植前的准备工作 42.1.1 获取STM32的裸机工程模板 42.1.2 下载LiteOS源码 42.1.3 LiteOS源码核心文件夹分析 52.2 向裸机工程中添加LiteOS源码 62.2.1 复制LiteOS文件夹到裸机工程根目录中 62.2.2 将OS_CONFIG文件夹中配置文件复制到LiteOS文件夹中 72.2.3 复制Include文件夹到CMSIS文件夹中 72.2.4 LiteOS文件夹内容介绍 72.2.5 添加LiteOS核心源码到工程组文件夹中 92.3 接管中断版本修改target_config.h 112.3.1 target_config.h文件内容讲解 112.3.2 target_config.h文件修改 222.4 非接管中断版本修改target_config.h 292.4.1 target_config.h文件内容 292.4.2 target_config.h文件修改 322.5 修改相关文件 342.5.1 启动文件内容修改 342.5.2 分散加载文件修改 362.5.3 修改中断相关文件 382.5.4 修改core_cm3.h文件 392.6 修改工程配置 392.7 修改main.c 402.8 下载验证 41第3章 创建任务 423.1 硬件初始化 423.2 创建单任务 433.2.1 动态内存空间的堆 433.2.2 LiteOS核心初始化 443.2.3 定义任务函数 453.2.4 定义任务ID变量 463.2.5 任务控制块 463.2.6 创建具体任务 473.3 main.c文件内容全貌 483.4 创建多任务 513.5 LiteOS的启动流程 563.5.1 第 一种启动方式 563.5.2 第二种启动方式 573.5.3 LiteOS的启动流程 59第4章 任务管理 664.1 基本概念 664.1.1 任务的基本概念 664.1.2 调度器的基本概念 674.1.3 任务状态的基本概念 674.1.4 任务状态迁移 674.2 常用的任务函数 684.2.1 任务创建函数LOS_TaskCreate 684.2.2 任务删除函数LOS_TaskDelete 704.2.3 任务延时函数LOS_TaskDelay 724.2.4 任务挂起函数LOS_TaskSuspend 734.2.5 任务恢复函数LOS_TaskResume 744.3 常用Task错误代码说明 754.4 常用任务函数的使用方法 764.4.1 任务创建函数LOS_TaskCreate 764.4.2 任务删除函数LOS_TaskDelete 774.4.3 任务延时函数LOS_TaskDelay 784.4.4 任务挂起与恢复函数 784.5 任务的设计要点 794.6 任务管理实验 804.7 实验现象 85第5章 消息队列 865.1 消息队列的基本概念 865.2 消息队列的运行机制 875.3 消息队列的传输机制 885.4 消息队列的阻塞机制 885.4.1 出队阻塞 895.4.2 入队阻塞 895.5 常见队列错误代码说明 895.6 常用消息队列的函数 915.6.1 消息队列创建函数LOS_QueueCreate 915.6.2 消息队列删除函数LOS_QueueDelete 945.6.3 消息队列写消息函数 965.6.4 通用的消息队列处理函数 1005.6.5 消息队列读消息函数 1035.7 消息队列实验 1075.8 实验现象 112第6章 信号量 1146.1 信号量的基本概念 1146.1.1 二值信号量 1156.1.2 计数信号量 1156.2 二值信号量的运行机制 1166.3 二值信号量的应用场景 1166.4 计数信号量的运行机制 1176.5 信号量的使用 1176.5.1 信号量控制块 1176.5.2 常见信号量错误代码 1186.5.3 二值信号量创建函数LOS_BinarySemCreate 1186.5.4 计数信号量创建函数LOS_SemCreate 1206.5.5 信号量删除函数LOS_SemDelete 1216.5.6 信号量释放函数LOS_SemPost 1226.5.7 信号量获取函数LOS_SemPend 1246.6 二值信号量同步实验 1266.7 二值信号量同步实验现象 1316.8 计数信号量实验 1326.9 计数信号量实验现象 137第7章 互斥锁 1397.1 互斥锁的基本概念 1397.2 互斥锁的优先级继承机制 1407.3 互斥锁的运行机制 1427.4 互斥锁的应用场景 1427.5 互斥锁的使用 1437.5.1 互斥锁控制块 1437.5.2 互斥锁错误代码 1437.5.3 互斥锁创建函数LOS_MuxCreate 1447.5.4 互斥锁删除函数LOS_MuxDelete 1457.5.5 互斥锁释放函数LOS_MuxPost 1477.5.6 互斥锁获取函数LOS_MuxPend 1497.5.7 使用互斥锁的注意事项 1517.6 互斥锁实验 1517.6.1 模拟优先级翻转实验 1527.6.2 互斥锁实验 1587.7 实验现象 1647.7.1 模拟优先级翻转实验现象 1647.7.2 互斥锁实验现象 165第8章 事件 1668.1 事件的基本概念 1668.2 事件的运行机制 1678.3 事件的应用场景 1688.4 事件的使用 1698.4.1 事件控制块 1698.4.2 常见事件错误代码 1698.4.3 事件初始化函数LOS_EventInit 1698.4.4 事件销毁函数LOS_EventDestory 1708.4.5 写指定事件函数LOS_EventWrite 1708.4.6 读指定事件函数LOS_EventRead 1728.4.7 清除指定事件函数LOS_EventClear 1758.5 事件标志组实验 1768.6 实验现象 182第9章 软件定时器 1839.1 软件定时器简介 1839.1.1 软件定时器的基本概念 1839.1.2 软件定时器的运行机制 1849.1.3 软件定时器的精度 1859.1.4 软件定时器的应用场景 1859.2 软件定时器的函数 1859.2.1 软件定时器控制块 1869.2.2 软件定时器错误代码 1869.2.3 软件定时器开发典型流程 1879.2.4 软件定时器创建函数LOS_SwtmrCreate 1879.2.5 软件定时器删除函数LOS_SwtmrDelete 1909.2.6 软件定时器启动函数LOS_SwtmrStart 1929.2.7 软件定时器停止函数LOS_SwtmrStop 1969.3 软件定时器实验 1989.4 实验现象 202第 10章 内存管理 20410.1 内存管理的基本概念 20410.2 内存管理的运行机制 20510.3 内存管理的应用场景 20710.4 静态内存池的使用 20810.4.1 静态内存池控制块 20810.4.2 静态内存池初始化函数LOS_MemboxInit 20810.4.3 静态内存池分配函数LOS_MemboxAlloc 21010.4.4 静态内存池释放函数LOS_MemboxFree 21210.4.5 静态内存池内容清除函数LOS_MemboxClr 21310.5 动态内存的使用 21310.5.1 动态内存初始化函数LOS_MemInit 21410.5.2 动态内存分配函数LOS_MemAlloc 21710.5.3 动态内存释放函数LOS_MemFree 22010.6 内存管理实验 22310.6.1 静态内存池管理实验 22310.6.2 动态内存管理实验 22910.7 实验现象 23510.7.1 静态内存池管理实验现象 23510.7.2 动态内存管理实验现象 236第 11章 中断管理 23711.1 中断简介 23711.1.1 异常 23711.1.2 中断 23811.2 中断的运行机制 23911.3 中断的应用场景 24011.4 中断延迟的基本概念 24011.5 中断的使用 24111.5.1 接管中断版本的移植 24111.5.2 接管中断版本的常用函数 24111.5.3 非接管中断 24511.6 中断管理实验 24611.6.1 接管中断方式 24611.6.2 非接管中断方式 25111.7 实验现象 256第 12章 链表 25712.1 C语言中的链表 25712.2 链表的使用 25812.2.1 链表初始化函数LOS_ListInit 25812.2.2 向链表中添加节点函数LOS_ListAdd 25912.2.3 从链表中删除节点函数LOS_ListDelete 26012.3 双向链表实验 26112.4 实验现象 264

封面

物联网操作系统LiteOS内核开发与实践/刘旭明

书名:物联网操作系统LiteOS内核开发与实践/刘旭明

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

页数:280

定价:¥49.8

出版社:人民邮电出版社

出版日期:2020-07-01

ISBN:9787115529091

PDF电子书大小:141MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注