``
编辑推荐:
自研开源嵌入式实时操作系统RT-Thread核心作者撰写,专业性毋庸置疑。系统剖析嵌入式系统核心设计与实现,掌握物联网操作系统精髓。
内容简介:
本书由自研开源嵌入式实时操作系统RT-Thread核心作者撰写,专业性毋庸置疑,系统剖析嵌入式系统核心设计与实现,掌握物联网操作系统精髓。本书分为两大部分,共16章,第1~10章为内核篇;第11~16章为组件篇。
内核篇(第1~10章)详解RT-Thread内核,先对RT-Thread进行总体介绍,再分别介绍RT-Thread的核心技术——线程管理、时钟管理、线程间同步、线程间通信、内存管理、中断管理与内核移植。 组件篇(第11~16章)分别介绍Env开发环境、FinSH控制台、设备管理、文件系统和网络框架。
各章均有配套示例,方便读者动手实践和参考。
作者简介:
邱祎,睿赛德科技联合创始人。从2006年在校时起参与开发RT-Thread开源操作系统,和中国国内优秀的工程师一起将RT-Thread从零发展起来,RT-Thread被广泛应用于能源、车载、医疗、消费电子等众多行业,成为国人自主开发、最成熟稳定和装机量最大的开源嵌入式操作系统。 熊谱翔,睿赛德科技创始人兼CEO,于2006年创立了RT-Thread开源操作系统,并以开源社区的形式,带领中国国内优秀的工程师,以从无到有的方式,融入实时面向对象设计开发了RT-Thread自主操作系统内核,及大量周边成熟、稳定软件组件,如文件系统、命令行、图形用户界面等。
朱天龙(Armink),睿赛德科技技术总监,负责RT-Thread物联网组件的研发,前沿技术探索及团队管理。曾任职于国内某知名医疗设备企业,担任研发部门经理要职,主导多个项目的研发实施和量产,并获得10余项国家发明专利。拥有近10年RT-Thread开发经验。他也是一位嵌入式开源极客,分享开源了EasyLogger、EasyFlash、CmBacktrace 等数个活跃度极高的开源软件。
自2006年发布V0.01版起,到今年正式发布V4.0版,RT-Thread历经12年的累积发展,凭借良好的口碑和开源免费的策略,已经拥有了一个国内最大的嵌入式开源社区,积聚了数十万的软件爱好者。RT-Thread广泛应用于能源、车载、医疗、消费电子等众多行业,已成为国人自主开发、最成熟稳定和装机量最大的开源嵌入式操作系统。
深处于行业之中,我们深刻地感受到近年来国内芯片产业和物联网产业快速崛起的趋势,行业发展迫切需要更多人才,尤其是掌握嵌入式操作系统等底层技术的人才,我们希望通过本书让RT-Thread触达更多人群,让更多的人了解集聚国人智慧的RT-Thread操作系统,从而让RT-Thread赋能更多行业,真正做到“积识成睿,慧泽百川”。
另外,高校学生是RT-Thread非常重视的群体,从2018年起,RT-Thread启动了一系列大学生计划,包括送书计划、培训计划、合作开课、赞助竞赛等,以帮助学生了解和学习RT-Thread,本书编写尽可能做到简单、易懂,让大学生能够轻松上手RT-Thread。希望本书能够加快RT-Thread在高校的普及。
总之,本书的初衷在于降低RT-Thread的学习门槛,让更多人能轻松学习、掌握RT-Thread,从而参与开发RT-Thread,共同打造开源、开放、小而美的物联网操作系统。
读者对象:
所有使用C/C++进行编程的开发人员;
嵌入式软硬件工程师、电子工程师、物联网开发工程师; 高校计算机/电子/自动化/通信类专业学生、老师;
其他对嵌入式操作系统感兴趣的人员。
部分目录:
前言
第一篇 内核篇
第1章 嵌入式实时操作系统 2
1.1 嵌入式系统 3
1.2 实时系统 4
1.3 嵌入式实时操作系统 6
1.3.1 主流嵌入式实时操作系统 7
1.3.2 发展趋势 8
1.4 本章小结 8
第2章 了解与快速上手RT-Thread 9
2.1 RT-Thread概述 9
2.2 RT-Thread的架构 10
2.3 RT-Thread的获取 11
2.4 RT-Thread快速上手 12
2.4.1 准备环境 13
2.4.2 初识RT-Thread 16
2.4.3 跑马灯的例子 20
2.5 本章小结 21
第3章 内核基础 22
3.1 RT-Thread内核介绍 22
3.2 RT-Thread 启动流程 24
3.3 RT-Thread程序内存分布 26
3.4 RT-Thread自动初始化机制 28
3.5 RT-Thread内核对象模型 29
3.5.1 静态对象和动态对象 29
3.5.2 内核对象管理架构 31
3.5.3 对象控制块 33
3.5.4 内核对象管理方式 34
3.6 RT-Thread内核配置示例 36
3.7 常见宏定义说明 38
3.8 本章小结 39
第4章 线程管理 40
4.1 线程管理的功能特点 40
4.2 线程的工作机制 41
4.2.1 线程控制块 41
4.2.2 线程的重要属性 42
4.2.3 线程状态切换 45
4.2.4 系统线程 46
4.3 线程的管理方式 46
4.3.1 创建和删除线程 47
4.3.2 初始化和脱离线程 48
4.3.3 启动线程 49
4.3.4 获得当前线程 50
4.3.5 使线程让出处理器资源 50
4.3.6 使线程睡眠 50
4.3.7 挂起和恢复线程 51
4.3.8 控制线程 52
4.3.9 设置和删除空闲钩子 52
4.3.10 设置调度器钩子 53
4.4 线程应用示例 53
4.4.1 创建线程示例 54
4.4.2 线程时间片轮转调度示例 56
4.4.3 线程调度器钩子示例 57
4.5 本章小结 59
第5章 时钟管理 60
5.1 时钟节拍 60
5.1.1 时钟节拍的实现方式 60
5.1.2 获取时钟节拍 61
5.2 定时器管理 62
5.2.1 RT-Thread定时器介绍 62
5.2.2 定时器的工作机制 63
5.2.3 定时器的管理方式 65
……
``
4