店铺推荐
【推荐语】
自研开源嵌入式实时操作系统RT-Thread核心作者撰写,专业性毋庸置疑 2)系统剖析嵌入式系统核心设计与实现,掌握物联网操作系统精髓
【作者】
邱祎,上海睿赛德电子科技有限公司联合创始人。从2006年在校时起参与开发RT-Thread开源操作系统,和中国国内的工程师一起将RT-Thread从零发展起来,RT-Thread被广泛应用于能源、车载、医疗、消费电子等众多行业,成为国人自主开发、*成熟稳定和装机量*大的开源嵌入式操作系统。熊谱翔,上海睿赛德电子科技有限公司创始人兼CEO,于2006年创立了RT-Thread开源操作系统,并以开源社区的形式,带领中国国内的工程师,以从无到有的方式,融入实时面向对象设计开发了RT-Thread自主操作系统内核,及大量周边成熟、稳定软件组件,如文件系统、命令行、图形用户界面等。朱天龙(Armink),睿赛德科技技术总监,负责RT-Thread物联网组件的研发,前沿技术探索及团队管理。曾任职于国内某知名医疗设备企业,担任研发部门经理要职,主导多个项目的研发实施和量产,并获得10余项国家发明专利。拥有近10年RT-Thread开发经验。他也是一位嵌入式开源极客,分享开源了EasyLogger、EasyFlash、CmBacktrace 等数个活跃度极高的开源软件。邱祎,上海睿赛德电子科技有限公司联合创始人。从2006年在校时起参与开发RT-Thread开源操作系统,和中国国内的工程师一起将RT-Thread从零发展起来,RT-Thread被广泛应用于能源、车载、医疗、消费电子等众多行业,成为国人自主开发、*成熟稳定和装机量*大的开源嵌入式操作系统。熊谱翔,上海睿赛德电子科技有限公司创始人兼CEO,于2006年创立了RT-Thread开源操作系统,并以开源社区的形式,带领中国国内的工程师,以从无到有的方式,融入实时面向对象设计开发了RT-Thread自主操作系统内核,及大量周边成熟、稳定软件组件,如文件系统、命令行、图形用户界面等。朱天龙(Armink),睿赛德科技技术总监,负责RT-Thread物联网组件的研发,前沿技术探索及团队管理。曾任职于国内某知名医疗设备企业,担任研发部门经理要职,主导多个项目的研发实施和量产,并获得10余项国家发明专利。拥有近10年RT-Thread开发经验。他也是一位嵌入式开源极客,分享开源了EasyLogger、EasyFlash、CmBacktrace 等数个活跃度极高的开源软件。
【内容】
第壹篇为内核篇(第1-10章),详细讲解了 RT-Thread 的设计思想,各个功能模块如线程、邮箱、消息队列、事件、信号、定时器和系统时钟、中断和异常、内存池、堆管理、移植的工作机制和应用方式,也提供了大量的示例供参考。第二篇为组件篇(第11-16章),详细讲解了命令行 Shell,文件系统,网络协议栈的工作机制和应用方式,并提供了示例供参考。通过阅读本书,读者不仅能学习和掌握嵌入式操作系统内核和常用组件的工作机制和应用方式,而且也能够通过配套的示例代码,实际动手深入体会,对未来实际应用与开发提供参考。
【目录】
前言第一篇  内核篇第1章  嵌入式实时操作系统 21.1  嵌入式系统 31.2  实时系统 41.3  嵌入式实时操作系统 61.3.1  主流嵌入式实时操作系统 71.3.2  发展趋势 81.4  本章小结 8第2章  了解与快速上手RT-Thread 92.1  RT-Thread概述 92.2  RT-Thread的架构 102.3  RT-Thread的获取 112.4  RT-Thread快速上手 122.4.1  准备环境 132.4.2  初识RT-Thread 162.4.3  跑马灯的例子 202.5  本章小结 21第3章  内核基础 223.1  RT-Thread内核介绍 223.2  RT-Thread 启动流程 243.3  RT-Thread程序内存分布 263.4  RT-Thread自动初始化机制 283.5  RT-Thread内核对象模型 293.5.1  静态对象和动态对象 293.5.2  内核对象管理架构 313.5.3  对象控制块 333.5.4  内核对象管理方式 343.6  RT-Thread内核配置示例 363.7  常见宏定义说明 383.8  本章小结 39第4章  线程管理 404.1  线程管理的功能特点 404.2  线程的工作机制 414.2.1  线程控制块 414.2.2  线程的重要属性 424.2.3  线程状态切换 454.2.4  系统线程 464.3  线程的管理方式 464.3.1  创建和删除线程 474.3.2  初始化和脱离线程 484.3.3  启动线程 494.3.4  获得当前线程 504.3.5  使线程让出处理器资源 504.3.6  使线程睡眠 504.3.7  挂起和恢复线程 514.3.8  控制线程 524.3.9  设置和删除空闲钩子 524.3.10  设置调度器钩子 534.4  线程应用示例 534.4.1  创建线程示例 544.4.2  线程时间片轮转调度示例 564.4.3  线程调度器钩子示例 574.5  本章小结 59第5章  时钟管理 605.1  时钟节拍 605.1.1  时钟节拍的实现方式 605.1.2  获取时钟节拍 615.2  定时器管理 625.2.1  RT-Thread定时器介绍 625.2.2  定时器的工作机制 635.2.3  定时器的管理方式 655.3  定时器应用示例 695.4  高精度延时 725.5  本章小结 73第6章  线程间同步 746.1  信号量 756.1.1  信号量的工作机制 756.1.2  信号量控制块 756.1.3  信号量的管理方式 766.1.4  信号量应用示例 796.1.5  信号量的使用场合 856.2  互斥量 876.2.1  互斥量的工作机制 876.2.2  互斥量控制块 896.2.3  互斥量的管理方式 896.2.4  互斥量应用示例 926.2.5  互斥量的使用场合 976.3  事件集 976.3.1  事件集的工作机制 976.3.2  事件集控制块 986.3.3  事件集的管理方式 996.3.4  事件集应用示例 1016.3.5  事件集的使用场合 1046.4  本章小结 104第7章  线程间通信 1057.1  邮箱 1057.1.1  邮箱的工作机制 1057.1.2  邮箱控制块 1067.1.3  邮箱的管理方式 1067.1.4  邮箱使用示例 1107.1.5  邮箱的使用场合 1127.2  消息队列 1137.2.1  消息队列的工作机制 1137.2.2  消息队列控制块 1147.2.3  消息队列的管理方式 1157.2.4  消息队列应用示例 1187.2.5  消息队列的使用场合 1217.3  信号 1237.3.1  信号的工作机制 1237.3.2  信号的管理方式 1247.3.3  信号应用示例 1267.4  本章小节 128第8章  内存管理 1298.1  内存管理的功能特点 1298.2  内存堆管理 1308.2.1  小内存管理算法 1318.2.2  slab管理算法 1328.2.3  memheap管理算法 1338.2.4  内存堆配置和初始化 1348.2.5  内存堆的管理方式 1348.2.6  内存堆管理应用示例 1368.3  内存池 1388.3.1  内存池的工作机制 1398.3.2  内存池的管理方式 1408.3.3  内存池应用示例 1438.4  本章小结 145第9章  中断管理 1469.1  Cortex-M CPU架构基础 1469.1.1  寄存器介绍 1479.1.2  操作模式和特权级别 1489.1.3  嵌套向量中断控制器 1489.1.4  PendSV系统调用 1499.2  RT-Thread中断工作机制 1499.2.1  中断向量表 1499.2.2  中断处理过程 1519.2.3  中断嵌套 1539.2.4  中断栈 1549.2.5  中断的底半处理 1549.3  RT-Thread中断管理接口 1569.3.1  中断服务程序挂接 1579.3.2  中断源管理 1589.3.3  全局中断开关 1589.3.4  中断通知 1609.4  中断与轮询 1619.5  全局中断开关使用示例 1629.6  本章小结 164第10章  内核移植 16510.1  CPU架构移植 16510.1.1  实现全局中断开关 16610.1.2  实现线程栈初始化 16710.1.3  实现上下文切换 16810.1.4  实现时钟节拍 17410.2  BSP移植 17510.3  内核移植示例 17510.3.1  准备裸机工程 17610.3.2  建立RT-Thread工程 17710.3.3  实现时钟管理 17910.3.4  实现控制台输出 18010.3.5  实现动态堆内存管理 18110.3.6  移植到更多开发板 18310.4  本章小结 184第二篇  组件篇第11章  Env辅助开发环境 18611.1  Env简介 18611.2  Env的功能特点 18711.3  Env工程构建示例 18911.4  构建更多MDK工程 196
返回顶部