描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302630463丛书名: 电子信息科学与技术丛书
本书内容翔实,案例丰富,操作性极强,配有微视频和课件;可作为高校电子信息、 通信工程、信息工程等相关专业的教材,也适合作为嵌入式领域科技工作者参考。
本书以FreeRTOS实时操作系统为基础,使用STM32F407为MCU核心的开发板,讲解嵌入式实时操作系统控制。本书内容翔实,案例丰富,操作性极强;配有微视频和课件,帮助读者高效学习。
第1章FreeRTOS入门
1.1FreeRTOS简介
1.1.1实时多任务操作系统
1.1.2FreeRTOS
1.2FreeRTOS移植
1.2.1开发原理
1.2.2开发步骤
1.3FreeRTOS配置文件
第2章FreeRTOS任务
2.1任务创建
2.1.1开发原理
2.1.2开发步骤
2.1.3运行结果
2.2任务删除
2.2.1开发原理
2.2.2开发步骤
2.2.3运行结果
2.3任务挂起
2.3.1开发原理
2.3.2开发步骤
2.3.3运行结果
2.4任务切换
2.4.1开发原理
2.4.2开发步骤
2.4.3运行结果
2.5任务调度
2.6任务信息
2.6.1开发原理
2.6.2开发步骤
2.6.3运行结果
2.7中断优先级与任务优先级
2.7.1开发原理
2.7.2开发步骤
2.7.3运行结果
2.8临界区
2.8.1开发原理
2.8.2开发步骤
2.8.3运行结果
第3章FreeRTOS时间管理
3.1时间片轮转
3.1.1开发原理
3.1.2开发步骤
3.1.3运行结果
3.2任务延时
3.2.1开发原理
3.2.2开发步骤
3.2.3运行结果
第4章FreeRTOS任务栈
4.1内存分配失败回调函数
4.1.1开发原理
4.1.2开发步骤
4.1.3运行结果
4.2任务栈溢出
4.2.1开发原理
4.2.2开发步骤
4.2.3运行结果
4.3选择任务栈大小
4.3.1开发原理
4.3.2开发步骤
4.3.3运行结果
第5章FreeRTOS内存管理
5.1内存申请和释放
5.1.1开发原理
5.1.2开发步骤
5.1.3运行结果
5.2内存分配
第6章FreeRTOS任务间通信
6.1消息队列
6.1.1开发原理
6.1.2开发步骤
6.1.3运行结果
6.2二进制信号量
6.2.1开发原理
6.2.2开发步骤
6.2.3运行结果
6.3计数信号量
6.3.1开发原理
6.3.2开发步骤
6.3.3运行结果
6.4互斥信号量
6.4.1开发原理
6.4.2开发步骤
6.4.3运行结果
6.5递归互斥信号量
6.5.1开发原理
6.5.2开发步骤
6.5.3运行结果
6.6任务通知
6.6.1开发原理
6.6.2开发步骤
6.6.3运行结果
6.7事件组
6.7.1开发原理
6.7.2开发步骤
6.7.3运行结果
第7章FreeRTOS定时器与低功耗
7.1定时器
7.1.1开发原理
7.1.2开发步骤
7.1.3运行结果
7.2低功耗
7.2.1开发原理
7.2.2开发步骤
7.2.3运行结果
第8章命令行界面
8.1FreeRTOS CLI移植
8.1.1开发原理
8.1.2开发步骤
8.1.3运行结果
8.2FreeRTOS CLI配置和使用
8.2.1开发原理
8.2.2开发步骤
8.2.3运行结果
第9章嵌入式文件系统开发
9.1FreeRTOS FAT移植
9.1.1开发原理
9.1.2开发步骤
9.1.3运行结果
9.2FreeRTOS FAT文件夹创建
9.2.1开发原理
9.2.2开发步骤
9.2.3运行结果
9.3FreeRTOS FAT文件读写
9.3.1开发原理
9.3.2开发步骤
9.3.3运行结果
9.4FreeRTOS FAT文件操作
9.4.1开发原理
9.4.2开发步骤
9.4.3运行结果
第10章嵌入式网络编程开发
10.1FreeRTOS TCP/IP移植
10.1.1开发原理
10.1.2开发步骤
10.1.3运行结果
10.2FreeRTOS UDP
10.2.1开发原理
10.2.2开发步骤
10.2.3运行结果
10.3FreeRTOS TCP客户端
10.3.1开发原理
10.3.2开发步骤
10.3.3运行结果
10.4FreeRTOS TCP服务器
10.4.1开发原理
10.4.2开发步骤
10.4.3运行结果
参考文献
在嵌入式领域,嵌入式实时操作系统(Embedded Real Time Operation System,RTOS)正得到越来越广泛的应用。采用RTOS可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。
由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OSⅡ、embOS、salvo、FreeRTOS等少数实时操作系统能够在“小”RAM单片机上运行。相比于μC/OSⅡ、embOS等商业操作系统,FreeRTOS操作系统是完全免费的,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行。本书所使用的FreeRTOS版本为10.3.0。
作为一个轻量级的操作系统,FreeRTOS提供的功能包括任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。FreeRTOS内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级; 在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。
在嵌入式领域,FreeRTOS是为数不多的,同时具有实时性、开源性、可靠性、易用性、多平台支持等特点的嵌入式操作系统。目前,FreeRTOS已经发展到支持包含x86、Xilinx、Altera等多达30种硬件平台,其广阔的应用前景已经越来越受到业内人士的关注。
本书基于STM32F4开发板,使用的芯片型号为STM32F407VGTx。STM32F4系列包含高速嵌入式存储器和广泛的增强型I/O和外设,连接到2个APB总线、3个AHB总线和1个32位多AHB总线矩阵; 使用64KB CCM(内核耦合存储器)数据RAM、LCD并行接口,MUC接口采用8080/6800模式; 具有正交(增量)编码器输入的定时器; 5V容错I/O; 并行摄像头接口; 真随机数发生器; RTC,具有亚秒级精度,硬件日历; 96位唯一ID。
本书分10章系统论述FreeRTOS实时操作系统开发。第1~7章讲述FreeRTOS基础开发; 第8~10章侧重于拓展应用。其中,第1章介绍FreeRTOS实时操作系统、FreeRTOS实时操作系统的移植方法以及FreeRTOS的配置文件; 第2章介绍FreeRTOS的任务,包括任务创建、任务删除、任务挂起、任务切换、任务调度、任务信息、中断优先级、任务优先级以及临界区; 第3章介绍FreeRTOS时间管理,包括时间片轮转以及任务延时; 第4章介绍FreeRTOS任务栈,包括内存分配失败回调函数、堆栈溢出以及选择堆栈大小; 第5章介绍FreeRTOS内存管理,包括内存的申请和释放以及内存分配; 第6章介绍FreeRTOS任务间通信,包括消息队列、二进制信号量、计数信号量、互斥信号量、递归互斥信号量、任务通知以及事件组; 第7章介绍FreeRTOS定时器与低功耗; 第8章介绍FreeRTOS CLI命令行界面,通过CLI的移植以及创建命令的方法与实现展开叙述; 第9章介绍FreeRTOS FAT文件系统,通过对文件系统的标准文件系统接口的讲述可以实现对文件的增删改查功能; 第10章介绍FreeRTOS的网络编程,对TCP/IP、UDP、TCP客户端以及TCP服务器展开叙述。
本书适用于Windows 10系统; 使用的编译软件为MDK 5.18; 固件库为STM32F4xx HAL库; FreeRTOS版本为10.3.0; 书中全部案例均在武汉飞航科技有限公司生产的飞航STM32F407开发板上测试通过。
本书主要由奚海蛟老师及相关研发人员编写,所有作者均有多年嵌入式设计研发及应用经验。同时,本书凝聚了武汉飞航科技有限公司和北京鸿炉科技有限公司技术团队(杨金星、李泽、王飞、石雄伟、朱世杰)的辛勤劳动,在此对他们一一表示感谢。
由于编者水平所限,并且时间仓促,书中难免存在不妥之处,恳请广大读者批评指正。
作者提供长期、有效的答疑服务,期待与读者交流相关技术问题、行业应用或合作意向等话题。
互动交流本书可作为本科及高职院校电子信息类专业的教材,也可作为嵌入式技术爱好者与工程师的参考资料。
编者2023年3月
何小庆 中国软件行业协会嵌入式系统分会副理事长、嵌入式系统联谊会秘书长
现代嵌入式系统的设计主要依赖低成本、高性能的32位MCU,它们往往有着足够的片上存储空间,并提供多种外设。物联网架构和应用驱动分布式实时系统的应用与边缘智能的兴起,端侧的实时性、通信能力和低功耗成为系统重要的指标。《嵌入式实时操作系统——FreeRTOS原理、架构与开发》(微课视频版)系统地介绍了嵌入式实时操作系统(FreeRTOS)的理论、方法和应用,深入浅出,具有很好的参考价值。
沈刚 华中科技大学软件学院教授
实时操作系统(RTOS)是嵌入式领域的一项关键技术,它与STM32F4硬件的结合使它迸发新的活力。《嵌入式实时操作系统——FreeRTOS原理、架构与开发》(微课视频版)梳理了FreeRTOS的概念和开发实践,对于初学者以及经验丰富的从业人员有很好的借鉴价值。
杨述斌 武汉工程大学电气信息学院教授
嵌入式领域中的FreeRTOS具有实时性、开源性、可靠性、易用性、多平台支持等特点。《嵌入式实时操作系统——FreeRTOS原理、架构与开发》(微课视频版)详细阐述了FreeRTOS的任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,能够有效地帮助读者厘清概念、梳理思路、开拓视野,可以作为相关科技人员的参考书和工具书。
刘继承 常熟理工学院电气与自动化工程学院教授
《嵌入式实时操作系统——FreeRTOS原理、架构与开发》(微课视频版)从底层搭建开始介绍FreeRTOS的原理和应用案例,并阐述了FreeRTOS CLI、FreeRTOS TCP/IP、文件系统等扩展内容,语言简练、案例经典,适合广大读者作为嵌入式以及实时操作系统技术的参考图书。
评论
还没有评论。