FreeRtos(一)——了解实时嵌入式系统

本文介绍了嵌入式系统中的前后台系统概念,以及实时操作系统(RTOS)的作用和分类,重点讨论了FreeRTOS的特点和优势,包括其可剥夺型内核、抢占式和合作式调度、低功耗模式、内存管理方式等。此外,还提到了FreeRTOS的源码获取和项目结构,强调了Source文件夹中的核心代码。FreeRTOS因其小巧、高效和高度可移植性,常用于嵌入式领域的实时任务管理。
摘要由CSDN通过智能技术生成

 

1. 了解前后台“系统”

        在裸机上写程序,比如用stm32单片机基本就没有操作系统的概念。通常把程序分为两部分:前台系统和后台系统。    

简单的小系统通常是前后台系统,这样的程序包括一个死循环和若干个中断服务程序:应用程序是一个无限循环,循环中调用API函数完成所需的操作,这个大循环就叫做后台系统。中断服务程序用于处理系统的异步事件,也就是前台系统。前台是中断级,后台是任务级。

对于实时性高,中断多的的场合似乎就不是很合适了。

2. 实时操作系统

        RTOS全称为:Real Time OS,就是实时操作系统,强调的是:实时性。实时操作系统又分为硬实时和软实时。硬实时要求在规定的时间内必须完成操作 ,硬实时系统不允许超时,在软实时里面处理过程超时的后果就没有那么严格。        

        在实时操作系统中,我们可以把要实现的功能划分为多个任务,每个任务负责实现其中的一部分,每个任务都是一个很简单的程序,通常是一个死循环。        

        RTOS操作系统:FreeRTOS,UCOS,RTX,RT-Thread,DJYOS等。        

        RTOS操作系统的核心内容在于:实时内核。

        RTOS的内核负责管理所有的任务,内核决定了运行哪个任务,何时停止当前任务切换到其他任务,这个是内核的多任务管理能力。多任务管理给人的感觉就好像芯片有多个CPU,多任务管理实现了CPU资源的最大化利用,多任务管理有助于实现程序的模块化开发,能够实现复杂的实时应用。      

3. FreeRtos

        RTOS不是单指某一特定系统,FreeRTOS就是一种,当然还有其它的,如:UCOS、RtThread、RTX等,其中FreeOS的内核是可剥夺型的。可剥夺内核顾名思义就是可以剥夺其他任务的CPU使用权,它总是运行就绪任务中的优先级最高的那个任务。

 

3. 1 FreeRTOS 特点

FreeRTOS 是一个可裁剪的小型 RTOS 系统,其特点包括:
FreeRTOS 的内核支持抢占式,合作式和时间片调度。
SafeRTOS 衍生自 FreeRTOS SafeRTOS 在代码完整性上相比 FreeRTOS 更胜一筹。
● 提供了一个用于低功耗的 Tickless 模式。
● 系统的组件在创建时可以选择动态或者静态的 RAM ,比如任务、消息队列、信号量、
软件定时器等等。
● 已经在超过 30 种架构的芯片上进行了移植。
● FreeRTOS-MPU 支持 Corex-M 系列中的 MPU 单元,如 STM32F429
● FreeRTOS 系统简单、小巧、易用,通常情况下内核占用 4k-9k 字节的空间。
● 高可移植性,代码主要 C 语言编写。
● 支持实时任务和协程(co-routines 也有称为合作式、协同程序,本教程均成为协程 )
● 任务与任务、任务与中断之间可以使用任务通知、消息队列、二值信号量、数值型信
号量、递归互斥信号量和互斥信号量进行通信和同步。
● 创新的事件组( 或者事件标志 )
● 具有优先级继承特性的互斥信号量。
● 高效的软件定时器。
● 强大的跟踪执行功能。
● 堆栈溢出检测功能。
● 任务数量不限。
● 任务优先级不限。

3.2 源码获取

FreeRTOS 的官网是 www.freertos.org
文档目录:

 打开第一个文件夹:

 

Demo为一些官方例程;

License为证书文件;

Source就是源码文件; 

Test测试验证目录;

 

 

        FreeRTOS-Plus 中的源码其实并不是 FreeRTOS 系统的源码,是在这个 FreeRTOS
系统上另外增加的一些功能代码,比如 CLI FAT Trace 等等。

        所以FreeRtos最重要的源码就是Source文件夹里的东东。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值