嵌入式实时操作系统:基于STMCube、FreeRTOS和Tracealyzer的应用开发pdf下载pdf下载

嵌入式实时操作系统:基于STMCube、FreeRTOS和Tracealyzer的应用开发百度网盘pdf下载

作者:
简介:本篇主要提供嵌入式实时操作系统:基于STMCube、FreeRTOS和Tracealyzer的应用开发pdf下载
出版社:
出版时间:2021-05
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

编辑推荐

物联网时代,32位MCU性能大幅提高,价格逐渐走低,成为智能产品开发和设计的第一选择。本书基于STM32F4、STM32Cube软件工具,以及集成在Cube软件中的FreeRTOS嵌入式实时多任务操作系统进行撰写,部分章节使用了Tracealyzer RTOS分析软件,这套组合是目前物联网和嵌入式开发的主流平台,无论对于有实际项目需求的开发者还是在高校学习并准备参加电子大赛的学生都具备实际应用价值。

国内出版的FreeRTOS的图书很少,内容多为内核详述以及面向产品和外设应用的开发指南,很少有课程和图书详细讲解μC/OS和FreeRTOS内核机制并分析内核行为,作者更是进一步将数十年实时系统设计经验,落地在实战性的STM32F4、SMT32Cube和FreeRTOS软件上,这是本书的z大亮点。


内容简介

  《嵌入式实时操作系统:基于STM32Cube、FreeRTOS和Tracealyzer的应用开发》从实战角度出发,依托STM32F4Discovery开发套件丰富的软硬件开发资源,基于嵌入式实时多任务操作系统FreeRTOS,通过一系列的实验,深入分析了RTOS的工作原理和实现机制。
  《嵌入式实时操作系统:基于STM32Cube、FreeRTOS和Tracealyzer的应用开发》首篇介绍了嵌入式系统应用开发流程及软硬件开发工具。第二篇内核基础实验将RTOS理论付诸实践,演示了任务创建,优先级调度策略,多任务应用面临的共享资源的争用、性能降低及优先级反转等问题。实验实现了各种任务交互的机制,帮助读者直观地了解RTOS的工作机理。第三篇针对多任务RTOS应用的运行时行为,采用Tracealyzer工具,可视化FreeRTOS的运行行为,展示了运行时分析工具的价值,通过具体的应用分析,帮助读者理解和控制软件的运行时行为。第四篇介绍了STM32F4硬件定时器机制,为RTOS任务故障检测奠定硬件基础。第五篇和第六篇介绍了如何提高代码的重用性及自学RTOS的在线资料。
  《嵌入式实时操作系统:基于STM32Cube、FreeRTOS和Tracealyzer的应用开发》的读者可以是有一定嵌入式系统与MCU开发知识、希望学习STM32和FreeRTOS的初学者,也可以是有一定RTOS开发经验、希望进一步深入学习RTOS的工程师、高校教师和学生。
  《嵌入式实时操作系统:基于STM32Cube、FreeRTOS和Tracealyzer的应用开发》既可以作为嵌入式系统相关课程辅助教材,也可以作为工程技术人员项目开发的参考资料。

作者简介

  吉姆·考林(Jim Cooling),博士,在嵌入式实时操作系统领域拥有多年经验,出版了多本著作,涵盖嵌入式系统的许多方面,如实时接口、编程、软件设计和软件工程。曾任英国飞机公司飞行控制系统设计师;Marconi Radar Systems Ltd.的电子电路和系统设计师:海军电子控制系统项目经理;英国拉夫堡大学研究员和高级讲师。现为Lindentree Associates顾问兼合伙人,为嵌入式实时系统提供咨询和培训。
  
  何小庆,嵌入式系统知名专家,《单片机与嵌入式系统应用》副主编,嵌入式系统联谊会秘书长,麦克泰软件公司创始人。长期从事嵌入式与物联网技术、产业和教育方面工作,发表论文100余篇,有《嵌入式操作系统风云录》《嵌入式软件精解》等著译作5本,在高校和企业讲授物联网和创业课程。
  
  张爱华,麦克泰软件公司技术总监,长期从事RTOS技术研究与工程应用,有《嵌入式实时操作系统μC/OS Ⅲ应用开发》等译作2本,是FreeRTOS和uC/OS课程的主讲老师。
  
  付元斌,麦克泰软件公司高级应用工程师,长期从事嵌入式软件工具研究与工程应用。

内页插图

精彩书评

  ★实时操作系统(RTOS)已经存在了几十年了,但只是在近十年RTOS才在微控制器(MCU)中变得常见起来。RTOS提供了新的便于复杂嵌入式系统开发的一个抽象层。在RTOS上进行开发时,需要额外的工具和方法验证你的软件行为,还需要遵循RTOS应用设计的“****方法”验证你的软件,否则你的软件可能会变得不可靠、低效和难以调试。
  《嵌入式实时操作系统——基于STM32Cube、FreeRTOS和Tracealyzer的应用开发》(原书第2版)关注RTOS应用开发的“****方法”,指导你规避常见的误区,教会你理解和控制软件的运行时行为,从而帮助你将新的创意用高效和可靠的方式转化为优秀的产品。
  ——Dr.Johan Kraft,Percepio公司CEO和CTO
  
  ★随着物联网和智能系统的快速发展,嵌入式已成为当前热门且有发展前景的IT应用领域之一。嵌入式操作系统是嵌入式系统的核心组件,是32位MCU物联网开发的基础软件,也是高校嵌入式和单片机课程不可缺少的知识点和实验环节。STM32Cube工具为包括FreeRTOS在内的多款嵌入式操作系统提供基础支撑环境,是高校教学和开发者学习嵌入式操作系统便捷的途径之一。
  国内关于FreeRTOS的公共出版物非常少,《嵌入式实时操作系统——基于STM32Cube、FreeRTOS和Tracealyzer的应用开发》(原书第2版)这本译作凝结了何小庆老师多年来对嵌入式操作系统的深入理解和实践心得,希望为国内的高校师生、工程师、开发者提供优质的参考资源。
  ——丁晓磊,意法半导体(中国)投资有限公司中国区大学计划经理

目录

第一篇 应用代码开发
第1章 开发流程及软硬件开发工具
1.1 从设计到编程的实践方法
1.1.1 概述
1.1.2 源代码生成
1.1.3 目标代码生成
1.2 STM32Cube软件工具介绍
1.2.1 工具概述
1.2.2 STM32CubeMX特性
1.2.3 STM32Cube嵌入式软件库及文档
1.3 实用工具
1.3.1 集成开发环境
1.3.2 STM32F4DiscoveryKit硬件
1.4 STM32Cube图形工具
1.4.1 STM32CubeMX概述
1.4.2 选择微控制器
1.4.3 使用向导设置引脚功能
1.4.4 代码生成
1.4.5 自动生成的代码
1.5 STM32CubeHAL库
1.6 Cube工程中的FreeRTOS配置
1.7 STM32CubeIDE开发平台
1.7.1 STM32CubeIDE开发环境概述
1.7.2 Eclipse平台介绍
1.7.3 CubeIDE使用介绍
1.7.4 CubeIDE的透视图、视图及编辑器
1.7.5 在CubeIDE中构建和安装项目
1.8 要点回顾

第二篇 内核基础实验
第2章 多任务设计与实现基础
2.1 预备实验简单I/O交互
2.1.1 概述
2.1.2 简单I/O交互框图
2.1.3 设计实现
2.1.4 实验API参考指南
2.1.5 实验回顾
2.2 实验1 创建并运行连续执行的单个任务
2.2.1 任务框图
2.2.2 设计实现
2.2.3 使用osDelay函数实现延时
2.2.4 使用FreeRTOS原生API实现延时
2.2.5 进一步实验
2.2.6 实验回顾
2.2.7 实验附录
2.3 实验2 周期任务实现
2.3.1 延时实现
2.3.2 周期任务实现
2.3.3 实验分析
2.3.4 补充实验
2.3.5 实验回顾
2.3.6 实验附录:DelayUntil函数描述
2.4 实验3 创建和运行多个独立的周期任务
2.4.1 背景介绍
2.4.2 设计框图
2.4.3 设计实现
2.4.4 实验回顾
2.5 实验4 优先级抢占调度策略分析
2.5.1 背景介绍
2.5.2 设计概述
2,5.3 实验描述
2.5.4 实验细节
2.5.5 实验回顾
第3章 共享资源使用
3.1 实验5 访问竞争问题分析
3.1.1 竞争问题介绍
3.1.2 竞争问题概述
3.1.3 实验细节
3.1.4 实验回顾
3.2 实验6 通过挂起调度器消除资源竞争
3.2.1 方法介绍
3.2.2 实验细节
3.2.3 实验回顾
3.3 实验7 演示系统性能的降低
3.3.1 介绍
3.3.2 实验细节
3.3.3 实验回顾
3.4 实验8 使用信号量保护临界代码
……

第三篇 使用Tracealyzer可视化软件行为
第四篇 扩展你的知识、超越RTOS范围
第五篇 结束语:展望未来
第六篇 帮助你自学的在线资料

前言/序言

  实时操作系统(RTOS)已经存在了几十年了,但只是在近十年RTOS才在微控制器(MCU)中变得常见起来。这一变化的原因之一是,MCU为了处理高效多线程应用而一直在增强其计算能力。多线程是RTOS的主要功能之一,互相分开的多个线程让同时处理多个任务变得简单,如响应网络请求或者向闪存中写入数据。多线程还简化了第三方软件的整合,如通信协议和文件系统,整合过程中RTOS的通信功能(如消息队列)可以作为整合接口。简单来讲,RTOS提供了新的便于复杂嵌入式系统开发的一个抽象层。
  虽然使用RTOS并不总是最佳的解决方法,但越来越多的系统开发者还是舍弃了传统的“超级循环”设计。过去几年中,多个处理器供应商开始在软件开发工具包(SDK)中包括RTOS,至少两个业界领先的云计算供应商各自收购了有名的RTOS用于简化物联网(IoT)上针对自家云产品的开发过程。IoT设备通过RTOS可以很容易地运行通信栈。
  不过,RTOS并不是没有复杂性,更高的抽象程度总是意味着更少的控制权。尽管RTOS支持确定性多线程,但大多数RTOS只允许间接控制线程的执行。基本上所有流行的RTOS都使用基于优先级的抢占调度,内核调度算法只接受几个调度用的“参数”(如优先级),而不允许针对单个任务的执行进行控制,本书作者在Real-Time Operating Systems Book 1-The Theory一书对于这一部分有更详细的解释。正确设置RTOS参数对于正确、高效和可靠的软件行为而言至关重要,RTOS将这一重任完全交给了应用开发者。
  RTOS带来的复杂度让源代码和运行时行为的关联变得不那么明显,只是阅读代码,你很难理解一个多线程RTOS应用的运行时行为。在RTOS上进行开发时,需要额外的工具和方法验证你的软件行为,还需要遵循RTOS应用设计的“最佳方法”验证你的软件,否则你的软件可能会变得不可靠、低效和难以调试。本书关注RTOS应用开发的“最佳方法”,指导你规避常见的误区,教会你理解和控制软件的运行时行为,从而帮助你将新的创意用高效和可靠的方式转化为优秀的产品。