您好,欢迎光临有路网!
嵌入式实时操作系统:RT-Thread设计与实现
QQ咨询:
有路璐璐:

嵌入式实时操作系统:RT-Thread设计与实现

  • 作者:邱祎,熊谱翔,朱天龙 著
  • 出版社:机械工业出版社
  • ISBN:9787111619345
  • 出版日期:2019年03月01日
  • 页数:0
  • 定价:¥89.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书由自研开源嵌入式实时操作系统RT-Thread核心作者撰写,专业性毋庸置疑,系统剖析嵌入式系统核心设计与实现,掌握物联网操作系统精髓。本书分为两大部分,共16章,第1~10章为内核篇;第11~16章为组件篇。 内核篇(第1~10章)详解RT-Thread内核,先对RT-Thread进行总体介绍,再分别介绍RT-Thread的核心技术——线程管理、时钟管理、线程间同步、线程间通信、内存管理、中断管理与内核移植。 组件篇(第11~16章)分别介绍Env开发环境、FinSH控制台、设备管理、文件系统和网络框架。 各章均有配套示例,方便读者动手实践和参考。
    目录
    前言 **篇内核篇 第1章嵌入式实时操作系统2 1.1嵌入式系统3 1.2实时系统4 1.3嵌入式实时操作系统6 1.3.1主流嵌入式实时操作系统7 1.3.2发展趋势8 1.4本章小结8 第2章了解与快速上手RT-Thread9 2.1RT-Thread概述9 2.2RT-Thread的架构10 2.3RT-Thread的获取11 2.4RT-Thread快速上手12 2.4.1准备环境13 2.4.2初识RT-Thread16 2.4.3跑马灯的例子20 2.5本章小结21 第3章内核基础22 3.1RT-Thread内核介绍22 3.2RT-Thread启动流程24 3.3RT-Thread程序内存分布26 3.4RT-Thread自动初始化机制28 3.5RT-Thread内核对象模型29 3.5.1静态对象和动态对象29 3.5.2内核对象管理架构31 3.5.3对象控制块33 3.5.4内核对象管理方式34 3.6RT-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.1RT-Thread定时器介绍62 5.2.2定时器的工作机制63 5.2.3定时器的管理方式65 5.3定时器应用示例69 5.4高精度延时72 5.5本章小结73 第6章线程间同步74 6.1信号量75 6.1.1信号量的工作机制75 6.1.2信号量控制块75 6.1.3信号量的管理方式76 6.1.4信号量应用示例79 6.1.5信号量的使用场合85 6.2互斥量87 6.2.1互斥量的工作机制87 6.2.2互斥量控制块89 6.2.3互斥量的管理方式89 6.2.4互斥量应用示例92 6.2.5互斥量的使用场合97 6.3事件集97 6.3.1事件集的工作机制97 6.3.2事件集控制块98 6.3.3事件集的管理方式99 6.3.4事件集应用示例101 6.3.5事件集的使用场合104 6.4本章小结104 第7章线程间通信105 7.1邮箱105 7.1.1邮箱的工作机制105 7.1.2邮箱控制块106 7.1.3邮箱的管理方式106 7.1.4邮箱使用示例110 7.1.5邮箱的使用场合112 7.2消息队列113 7.2.1消息队列的工作机制113 7.2.2消息队列控制块114 7.2.3消息队列的管理方式115 7.2.4消息队列应用示例118 7.2.5消息队列的使用场合121 7.3信号123 7.3.1信号的工作机制123 7.3.2信号的管理方式124 7.3.3信号应用示例126 7.4本章小节128 第8章内存管理129 8.1内存管理的功能特点129 8.2内存堆管理130 8.2.1小内存管理算法131 8.2.2slab管理算法132 8.2.3memheap管理算法133 8.2.4内存堆配置和初始化134 8.2.5内存堆的管理方式134 8.2.6内存堆管理应用示例136 8.3内存池138 8.3.1内存池的工作机制139 8.3.2内存池的管理方式140 8.3.3内存池应用示例143 8.4本章小结145 第9章中断管理146 9.1Cortex-MCPU架构基础146 9.1.1寄存器介绍147 9.1.2操作模式和特权级别148 9.1.3嵌套向量中断控制器148 9.1.4PendSV系统调用149 9.2RT-Thread中断工作机制149 9.2.1中断向量表149 9.2.2中断处理过程151 9.2.3中断嵌套153 9.2.4中断栈154 9.2.5中断的底半处理154 9.3RT-Thread中断管理接口156 9.3.1中断服务程序挂接157 9.3.2中断源管理158 9.3.3全局中断开关158 9.3.4中断通知160 9.4中断与轮询161 9.5全局中断开关使用示例162 9.6本章小结164 第10章内核移植165 10.1CPU架构移植165 10.1.1实现全局中断开关166 10.1.2实现线程栈初始化167 10.1.3实现上下文切换168 10.1.4实现时钟节拍174 10.2BSP移植175 10.3内核移植示例175 10.3.1准备裸机工程176 10.3.2建立RT-Thread工程177 10.3.3实现时钟管理179 10.3.4实现控制台输出180 10.3.5实现动态堆内存管理181 10.3.6移植到更多开发板183 10.4本章小结184 第二篇组件篇 第11章Env辅助开发环境186 11.1Env简介186 11.2Env的功能特点187 11.3Env工程构建示例189 11.4构建更多MDK工程196 11.4.1创建外设示例工程196 11.4.2创建文件系统示例工程198 11.4.3创建网络示例工程202 11.5本章小结206 第12章FinSH控制台207 12.1FinSH介绍207 12.2FinSH内置命令209 12.2.1显示线程状态210 12.2.2显示信号量状态210 12.2.3显示事件状态210 12.2.4显示互斥量状态210 12.2.5显示邮箱状态211 12.2.6显示消息队列状态211 12.2.7显示内存池状态211 12.2.8显示定时器状态212 12.2.9显示设备状态212 12.2.10显示动态内存状态212 12.3自定义FinSH命令213 12.3.1自定义msh命令213 12.3.2自定义C-Style命令和变量213 12.3.3自定义命令重命名214 12.4FinSH功能配置214 12.5FinSH应用示例216 12.5.1自定义msh命令示例216 12.5.2带参数的msh命令示例217 12.6本章小结218 第13章I/O设备管理219 13.1I/O设备介绍219 13.1.1I/O设备管理框架219 13.1.2I/O设备模型221 13.1.3I/O设备类型222 13.2创建和注册I/O设备223 13.3访问I/O设备226 13.3.1查找设备226 13.3.2初始化设备227 13.3.3打开和关闭设备227 13.3.4控制设备228 13.3.5读写设备229 13.3.6数据收发回调229 13.3.7设备访问示例230 13.4本章小结231 第14章通用外设接口232 14.1UART串口232 14.1.1串口设备管理233 14.1.2创建和注册串口设备233 14.1.3访问串口设备235 14.1.4串口设备使用示例235 14.2GPIO237 14.2.1PIN设备管理238 14.2.2创建和注册PIN设备238 14.2.3访问PIN设备239 14.2.4PIN设备使用示例242 14.3SPI总线243 14.3.1SPI设备管理244 14.3.2创建和注册SPI总线设备246 14.3.3创建和挂载SPI从设备247 14.3.4访问SPI从设备249 14.3.5特殊使用场景254 14.3.6SPI设备使用示例255 14.4I2C总线256 14.4.1I2C设备管理258 14.4.2创建和注册I2C总线设备258 14.4.3访问I2C设备259 14.4.4I2C设备应用示例260 14.5运行设备应用示例263 14.5.1运行PIN设备示例264 14.5.2运行SPI设备示例265 14.5.3运行I2C设备示例266 14.5.4运行串口设备示例266 14.6本章小结267 第15章虚拟文件系统268 15.1DFS介绍268 15.1.1DFS架构269 15.1.2POSIX接口层269 15.1.3虚拟文件系统层270 15.1.4设备抽象层270 15.2文件系统挂载管理271 15.2.1DFS组件初始化271 15.2.2注册文件系统271 15.2.3将存储设备注册为块设备271 15.2.4格式化文件系统272 15.2.5挂载文件系统273 15.2.6卸载文件系统273 15.3文件管理273 15.3.1打开和关闭文件273 15.3.2读写数据274 15.3.3重命名275 15.3.4获取状态275 15.3.5删除文件275 15.3.6同步文件数据到存储设备276 15.3.7查询文件系统相关信息276 15.3.8监视I/O设备状态276 15.4目录管理277 15.4.1创建和删除目录277 15.4.2打开和关闭目录277 15.4.3读取目录278 15.4.4获取目录流的读取位置278 15.4.5设置下次读取目录的位置278 15.4.6重设读取目录的位置为开头位置279 15.5DFS功能配置279 15.6DFS应用示例279 15.6.1准备工作280 15.6.2读写文件示例283 15.6.3更改文件名称示例284 15.6.4获取文件状态示例285 15.6.5创建目录示例286 15.6.6读取目录示例286 15.6.7设置读取目录位置示例287 15.7本章小结289 第16章网络框架290 16.1TCP/IP网络协议简介290 16.1.1OSI参考模型290 16.1.2TCP/IP参考模型291 16.1.3TCP/IP参考模型和OSI参考模型的区别291 16.1.4IP地址292 16.1.5子网掩码292 16.1.6MAC地址292 16.2RT-Thread网络框架介绍292 16.3网络框架工作流程294 16.3.1网络协议簇注册294 16.3.2网络数据接收流程295 16.3.3网络数据发送流程296 16.4网络套接字编程296 16.4.1TCPsocket通信流程296 16.4.2UDPsocket通信流程297 16.4.3创建套接字298 16.4.4绑定套接字298 16.4.5建立TCP连接299 16.4.6数据传输300 16.4.7关闭网络连接301 16.5网络功能配置302 16.6网络应用示例303 16.6.1准备工作303 16.6.2TCP客户端示例306 16.6.3UDP客户端示例310 16.7本章小结312 附录Amenuconfig配置选项313 附录BSCons构建系统317

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外