FreeRTOS学习记录(安富莱FreeRTOS教程摘录)

本文档详细介绍了 FreeRTOS 的学习过程,包括其优势、移植难易度和上手体验。讲解了嵌入式实时操作系统的基本概念,FreeRTOS 的配置文件解析,任务管理,任务栈设置,中断优先级配置,以及任务调度和时间管理。此外,还讨论了任务栈大小确定、溢出检测机制和中断锁等关键知识点,适合嵌入式硬件开发者深入学习。
摘要由CSDN通过智能技术生成

FreeRTOS学习资料:
安富莱论坛FreeRTOS教程

FreeRTOS源码下载链接

第1章 为什么选用FreeRTOS

1.1 FreeRTOS优势

FreeRTOS优势 最大的优势就是开源免费,商业使用的话不需要用户公开源代码,也不存在任何版权问题,是当前小型嵌入式操作系统市场使用率最高的。 去年的全球嵌入式市场分析报告中,FreeRTOS 占据了 20%。

1.2 移植的难易程度

FreeRTOS 的移植比较简单,只需要用户添加需要的源码文件,不需要做任何的底层工作,再添加三
个宏定义即可,详情可以看第 5 章 FreeRTOS 操作系统移植。

1.3 上手难易程度

作为开源免费的 RTOS,官方配套的手册在 RTOS 的基础知识说明、API 函数说明及其举例方面做的
都非常好,用户上手比较容易。随着后面章节的学习,大家会体会到这一点。

第2章 嵌入式实时操作系统介绍

2.1 嵌入式系统定义

一般定义
以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求
的专用计算机系统。

2.2 实时和分时操作系统区别

按对外部事件的响应能力来分类,嵌入式操作系统有分时操作系统和实时操作系统。

  • 如果操作系统能使计算机系统及时的响应外部事件请求,并能控制所有实时设备和实时任务协调运行,且能在一个规定的时间内完成对事件的处理,那么这种系统就称为实时操作系统(RTOS)
  • 按时间的正确程度来分,实时操作系统又分为硬件的实时操作系统和软件的实时操作系统。系统必须在极其严格的时间内完成的任务叫做硬件的实时操作系统,如果不是很严格的话就是软件的实时操作系统。
  • 分时操作系统就是按时间片轮转完成各个任务。

第7章 FreeRTOSConfig 配置文件详解

  • 7.2.7 configMINIMAL_STACK_SIZE
    此参数用于定义空闲任务的栈空间大小,单位字,即 4 字节。
  • 7.2.8 configTOTAL_HEAP_SIZE
    定义堆大小,FreeRTOS 内核,用户动态内存申请,任务栈,任务创建,信号量创建,消息队列创建等都需要用这个空间。

第10章 FreeRTOS 任务管理

10.1 单任务系统

学习多任务系统之前,我们先来回顾下单任务系统的编程框架,即裸机时的编程框架。裸机编程主要是采用超级循环(super-loops)系统,又称前后台系统。应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看做后台行为;中断服务程序处理异步事件,这部分可以看做是前台行为。后台也可以叫做任务级,前台也叫作中断级。
在这里插入图片描述

对于前后台系统的编程思路主要有以下两种方式:

10.1.1 查询方式

在这里插入图片描述

10.1.2 中断方式

对于查询方式无法有效执行紧急任务的情况,采用中断方式就有效地解决了这个问题,下面是中断方式简单的流程图
在这里插入图片描述
采用中断和查询结合的方式可以解决大部分裸机应用,但随着工程的复杂,裸机方式的缺点就暴露出来了:

1)必须在中断(ISR)内处理时间关键运算:

  • ISR 函数变得非常复杂,并且需要很长执行时间。
  • ISR 嵌套可能产生不可预测的执行时间和堆栈需求。

2)超级循环和 ISR 之间的数据交换是通过全局共享变量进行的:

  • 应用程序的程序员必须确保数据一致性。

3)超级循环可以与系统计时器轻松同步

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值