FreeRTOS图示理解

仅供本人查阅

前后台系统(裸机)

缺点:

实时性不能保证,事件可能无法得到及时处理。

存在CPU空转的情况,CPU利用率不搞,白白浪费功耗。

强迫人按照机器的顺序工作方式思考编码,当任务越多,代码结构越复杂,编码难度越大。

解决裸机编程方法

实时性不高
主程序尽量少用delay 通过硬件定时器做事件处理增强实时性

CPU利用率不高
中断程序不要加延时

代码结构复杂
高内聚低耦合 .c.h与其他功能相关联性太大太多

  1. 状态机编程
  2. 面向对象思想 多态 继承 复用抽象

FreeRTOS全称

实时操作系统,强调的是:实时性
实时操作系统又分为硬实时和软实时。硬实时要求在规定的时间内必须完成操作,硬实时系统不允许超时,在软实时里面处理过程超时的后果就没有那么严格。
在实时操作系统中,我们可以把要实现的功能划分为多个任务,每个任务负责实现其中的一部分,每个任务都是一个很简单的程序,通常是个死循环
RTOS操作系统:FreeRTOS,UCOS,RTX,RT-Thread, DJYOS操作系统的核心内容在于:实时内核

实时性操作系统终端
实时并不意味着快一种系统软件运行特定的嵌入式硬件
在固定的时间内对事件进行响应提供任务管理和协调的功能控制功能可裁剪代码可移植

FreeRTOS介绍

FreeRTOS是一个可裁剪可剥夺型的多任务内核,而且没有任务数限制
FreeRTOS提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等。

FreeRTOS特点

FreeROTS开源
FreeRTOS免费
FreeRTOS是很多多第方组件钦定的系统!

在这里插入图片描述

FreeRTOS使用

FreeRTOS下载:
FreeRTOS还是有一定难度的,在学习的过程中难免会遇到看不懂的东西,如果遇到不懂的就先不要管,开发ESP8266只需要学会怎么调用FreeRTOS的API函数
对C语言的要求,需要了解指针、结构体、数据结构中的链表等。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

FreeRTOS任务特性

简单
没有使用限制
支持抢占
支持优先级
每个任务都拥有堆栈导致了 RAM 使用量增大

FreeRTOS源码结构

在这里插入图片描述

FreeRTOS任务创建头文件:

task.h

portBASE_TYPE xTaskCreate(
pdTASK_CODE pvTaskCode,指向任务的实现函数的指针。效果上仅仅是函数名
const portCHAR * const pcNane,具有描述性的任务名。FreeRTOS不会使用它。
unsigned portSHORT usStackDepth,指定任务堆栈的大小
void *pvParameters,指针用于作为一个参数传向创建的任务
unsigned portBASE_TYPE uxPriority, 任务运行时的优先级
xTaskHandle *pvCreatedTask用于传递任务的句柄,可以引用从而x务进行
)

FreeRTOS配置文件:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

FreeRTOS函数Include配置

在这里插入图片描述

FreeRTOS任务调度机制(多任务基础)

在这里插入图片描述

FreeRTOS任务状态

在这里插入图片描述在这里插入图片描述

FreeRTOS任务优先级

在这里插入图片描述

FreeRTOS任务实现

在这里插入图片描述

FreeRTOS任务控制块

在这里插入图片描述
在这里插入图片描述

FreeRTOS任务堆栈

在这里插入图片描述

FreeRTOS任务堆栈大小确定

在这里插入图片描述

KW45是一款基于FreeRTOS实时操作系统的微控制器,其架构框图可以大致分为以下几个部分: 1. 中央处理器:KW45微控制器内部集成了一个ARM Cortex-M4核心,用于处理各种指令和任务。 2. FreeRTOS操作系统:FreeRTOS是一个轻量级的实时操作系统,它提供了一些基本的任务管理、时间管理、消息队列等功能,用于控制和管理KW45微控制器的各种任务和事件。 3. 内存管理单元(MMU):MMU是KW45微控制器的内存管理单元,负责分配和管理系统内存,包括堆栈、数据和代码空间。 4. 外设接口:KW45微控制器支持多种外设接口,如通用输入/输出(GPIO)、串口、定时器、ADC/DAC、SPI/I2C等。这些外设接口通过总线连接到中央处理器,以便实现与外部设备的通信和控制。 5. 电源管理单元(PMU):PMU负责控制KW45微控制器的电源和电压,包括上电、掉电、唤醒等操作。 6. 时钟系统:KW45微控制器内置一个高速时钟源,可以为中央处理器和其他外设提供精确的时间基准。 7. 硬件中断:KW45微控制器支持硬件中断,可以通过外部信号触发中断处理程序,以响应各种事件和异常。 通过以上各个部分的协同工作,KW45微控制器可以实现实时、高效的任务调度和资源管理,满足各种嵌入式应用的需求。具体的架构细节和功能实现可能因不同的生产厂家和型号而有所差异,建议参考相关产品文档和资料以获取更准确的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没有余地 EliasJie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值