嵌入式实时操作系统——基于STM32Cube、FreeRTOS和Tracealyzer的应用开发(原书第2版)

副标题:无

作   者:(英)吉姆·考林(Jim Cooling)著 何小庆,张爱华,付元斌 译

分类号:

ISBN:9787302579243

微信扫一扫,移动浏览光盘

简介

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

目录


篇应用代码开发
第1章开发流程及软硬件开发工具

1.1从设计到编程的实践方法

1.1.1概述

1.1.2源代码生成

1.1.3目标代码生成

1.2STM32Cube软件工具介绍

1.2.1工具概述

1.2.2STM32CubeMX特性

1.2.3STM32Cube嵌入式软件库及
文档

1.3实用工具

1.3.1集成开发环境

1.3.2STM32F4 Discovery Kit硬件

1.4STM32Cube图形工具

1.4.1STM32CubeMX概述

1.4.2选择微控制器

1.4.3使用向导设置引脚功能

1.4.4代码生成

1.4.5自动生成的代码

1.5STM32Cube HAL库

1.6Cube工程中的FreeRTOS配置

1.7STM32CubeIDE开发平台

1.7.1STM32CubeIDE开发环境
概述

1.7.2Eclipse平台介绍

1.7.3CubeIDE使用介绍

1.7.4CubeIDE的透视图、视图及
编辑器

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使用信号量
保护临界代码

3.4.1背景介绍

3.4.2实验细节

3.4.3实验回顾

3.5实验9使用互斥信号量保护临界
代码

3.5.1实现细节

3.5.2实验回顾

3.6实验10使用封装机制提升系统
安全

3.6.1机制介绍

3.6.2实现概述

3.6.3实验实现

3.6.4实验回顾

3.7实验11优先级反转影响演示

3.7.1介绍

3.7.2实现及关键代码

3.7.3实验实现

3.7.4实验讨论及回顾

3.8实验12使用优先级继承机制消除
优先级反转

3.8.1实验介绍

3.8.2问题概述

3.8.3实验回顾

第4章任务交互实现

4.1实验13使用标志协调任务活动

4.1.1机制介绍

4.1.2实现概述

4.1.3实现细节

4.1.4实验总结

4.2实验14使用事件标志实现单向
同步

4.2.1实现介绍

4.2.2事件标志、信号及FreeRTOS/
CMSIS的关系

4.2.3实验实现

4.2.4总结与回顾

4.3实验15使用信号量实现单向同步

4.3.1简介及实现

4.3.2实验细节

4.3.3总结与回顾

4.4实验16使用信号量实现双向同步

4.4.1双向同步介绍

4.4.2实现细节

4.4.3总结与回顾

4.5实验17使用信号量实现多个任务
同步

4.5.1原理介绍

4.5.2实现细节

4.5.3单信号量会合阻塞实现

4.5.4N个信号量会合阻塞实现

4.5.5回顾与总结

4.6实验18使用内存池提供数据共享
机制

4.6.1实现介绍

4.6.2实现细节

4.6.3实验回顾

4.7实验19使用队列传输数据

4.7.1队列介绍

4.7.2实验细节

4.7.3具体实现

4.7.4实验回顾

4.7.5CMSISRTOS API中的
状态和错误编码

4.8实验20使用邮箱传输数据

4.8.1邮箱介绍

4.8.2邮箱构建

4.8.3实验细节

4.8.4实验回顾

4.8.5实验附录使用FreeRTOS
原生API构建邮箱

4.9实验21按键中断服务实现

4.9.1介绍

4.9.2使用CubeMX自动生成
ISR代码框架

4.9.3实验细节

4.9.4实验回顾

4.10实验22演示为何需要快速实现
中断处理

4.10.1实验概述和时间参数

4.10.2使用CubeMX

4.10.3实验回顾

4.11实验23使用可延期服务器减少
ISR影响

4.11.1中断信号延时响应

4.11.2实验概述和时间细节

4.11.3代码生成及运行

4.11.4实验回顾

第三篇使用Tracealyzer
可视化软件行为
第5章Tracealyzer集成和配置
指南

5.1Tracealyzer实验1Tracealyzer
介绍

5.2集成跟踪记录器库

5.2.1将记录器库添加到项目

5.2.2为应用配置库文件

5.3在FreeRTOS中启用Tracealyzer
记录器

5.4配置CubeMX项目以符合工具需求

5.5初始化/启动跟踪记录

5.5.1快照跟踪模式

5.5.2流跟踪模式


5.6附加检查

第6章Tracealyzer的基本特点和
使用
6.1Tracealyzer实验2Tracealyzer
基础知识

6.2Tracealyzer实验3分析跟踪记录

6.3Tracealyzer实验4一个双任务
设计的运行时分析

6.4Tracealyzer实验5研究优先级
抢占调度

6.4.1实验5.1跟踪抢占调度
任务的执行

6.4.2实验5.2设定跟踪起始
位置

6.5Tracealyzer实验6分析FreeRTOS
的延时函数

6.5.1实验6.1

6.5.2实验6.2

6.5.3实验6.3

6.5.4评论和小结

第7章流模式操作介绍

Tracealyzer实验7使用流模式进行跟踪
记录

第8章分析资源共享和任务间
通信

8.1Tracealyzer实验8互斥: 使用受
保护的共享资源

8.2Tracealyzer实验9研究任务之间的
非同步数据传输

8.2.1软件行为概述

8.2.2跟踪记录: 无报警场景

8.2.3跟踪记录: 报警场景

8.3Tracealyzer实验10研究任务之间的
同步数据传输

8.4Tracealyzer实验11评估可延期
服务器的使用

8.4.1总体描述

8.4.2任务时间

8.4.3实验11a

8.4.4实验11b

8.4.5实验11c


第四篇扩展你的知识、
超越RTOS范围
第9章STM Studio软件工具

9.1STM Studio介绍

9.2STM Studio的使用

9.3回顾和总结

第10章STM32F4通用定时器

10.1附加实验1使用定时器定时产生
ISR调用

10.1.1定时器: ISR运行模式
简介

10.1.2热身实验细节

10.1.3关于定时器的细节

10.1.4实验回顾

10.2附加实验2控制定时器产生
的ISR

10.2.1实验细节

10.2.2实验回顾

10.3附加实验3产生波形: 脉冲宽度
调制

10.3.1脉冲宽度调制是什么

10.3.2在STM32F411上产生
PWM波形

10.3.3实验回顾

10.4附加实验4使用PWM控制
LED灯亮度

10.4.1实验简介

10.4.2低速PWM

10.4.3快速PWM

10.4.4实验回顾

10.5附加实验5产生波形: 脉冲
计数

10.5.1实验简介

10.5.2实验细节

10.5.3实验回顾

10.6附加实验6测量脉冲间隔

10.6.1实验简介

10.6.2实验1使用主动采样
方式

10.6.3实验1回顾

10.6.4实验2使用基于中断的
方式

10.6.5实验2回顾

10.7附加实验7测量脉冲频率

10.7.1实验简介

10.7.2实验细节

10.7.3实验回顾

第11章使用STM32F4看门狗
定时器

11.1附加实验8看门狗定时器基础

11.1.1序言

11.1.2STM32F4独立看门狗
简介

11.1.3实验细节: 使用STM库
函数的简单样例

11.1.4实验回顾

11.2附加实验9正确使用
看门狗定时器

11.3附加实验10使用CubeMX
激活IWDG

11.4附加实验11使用CubeMX针对
应用设置WDT

11.5附加实验12看门狗的窗口化
运行

11.5.1序言

11.5.2STM32F4窗口看门狗
(WWDG)的概念结构

11.5.3STM32F4 WWDG: 功能和
行为细节

11.5.4设置和使用窗口看门狗

11.5.5实验细节: 演示WWDG的
超时

11.5.6实验回顾

11.6附加实验13正确使用WWDG

11.7附加实验14过早地踢WWDG

11.8附加实验15使用CubeMX正确
激活WWDG

11.9附加实验16早期唤醒中断
(EWI)

11.9.1看门狗恢复机制(WRM)
简介

11.9.2EWI代码结构和内容

11.9.3实验细节

11.9.4实验回顾

11.10附加实验17WWDG ISR的简化
实现

11.11附加实验18检测失败的单定期
任务

11.11.1背景

11.11.2实验细节

11.11.3实验回顾

第12章多任务设计中的通用任务
故障检测技术

12.1附加实验19单定期任务的看门狗
保护机制

12.1.1简介

12.1.2应用任务T1设计

12.1.3基于状态的监督任务
设计

12.1.4测试系统

12.1.5小结

12.2附加实验20两个定期任务的
故障检测

12.2.1简介

12.2.2更多讨论

12.2.3测试和小结

12.3附加实验21单一非定期任务的
故障检测

12.3.1检测非定期任务的故障的
可选方式

12.3.2创建和使用FreeRTOS
软件定时器

12.3.3实验细节

12.3.4实验回顾

12.4附加实验22混合定期与非定期
任务的故障检测

12.4.1实验简介

12.4.2实验的测试步骤

12.4.3后记

第五篇结束语: 展望未来
第13章自我改进指南

13.1实践工作的影响

13.2OS相关的问题

13.3应用程序的可移植性

13.4应用级代码结构

13.5结束语

第六篇帮助你自学的在线资料
第14章在线资料的参考指南

14.1STM32Cube嵌入式软件

14.2STM32CubeMX的特点

14.3STM32Cube嵌入式软件库和
文档

14.4硬件开发板: STM32F4
Discovery kit

14.5内容丰富的视频

14.6STM Studio

14.7STM32F4定时器资料

14.8STM32CubeIDE相关信息

14.9FreeRTOS 文档

14.10Percepio Tracealyzer RTOS
跟踪分析工具

14.11实验代码


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

嵌入式实时操作系统——基于STM32Cube、FreeRTOS和Tracealyzer的应用开发(原书第2版)
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon