freertos分析

enginexpert enginexpert     2022-08-08     194

关键词:

freertos是一个轻量级的rtos,它目前实现了一个微内核,并且port到arm7, avr, pic18, coldfire等众多处理器上;目前已经在rtos的市场上占有不少的份额。它当然不是一个与vxworks之类的rtos竞争的操作系统,它的目标在 于低性能小RAM的处理器上。整个系统只有3个文件,外加上port的和处理器相关的两个文件,实现是很简洁的。
与ucosii不同,它是free的,ucosii不是free的,虽然它的代码是公开的。FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理。FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、 优先级最高的任务先运行。FreeRT0S内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。这一点是和ucosii不同的。
另外一点不同是freertos既可以配置为可抢占内核也可以配置为不可抢占内核。当FreeRTOS被设置为可剥夺型内核时,处于就绪态的高优先级任务能剥夺低优先级任务的CPU使用权,这样可保证系统满足实时性的要求;当FreeRTOS被设置为不可剥夺型内核时,处于就绪态的高优先级任务只有等当前运行任务主动释放CPU的使用权后才能获得运行,这 样可提高CPU的运行效率。

freertos高级篇4---freertos任务切换分析

  FreeRTOS任务相关的代码大约占总代码的一半左右,这些代码都在为一件事情而努力,即找到优先级最高的就绪任务,并使之获得CPU运行权。任务切换是这一过程的直接实施者,为了更快的找到优先级最高的就绪... 查看详情

freertos分析

freertos是一个轻量级的rtos,它目前实现了一个微内核,并且port到arm7,avr,pic18,coldfire等众多处理器上;目前已经在rtos的市场上占有不少的份额。它当然不是一个与vxworks之类的rtos竞争的操作系统,它的目标在于低性能小RAM的处理器... 查看详情

freertos代码分析之:全局链表

注:有序插入:则根据xItemValue值从小到大(MAX:0xFF),排序插入    无序插入:按照插入的时间先后顺序,从第一个节点到最后一个节点(vListEnd),依次插入有序插入的执行时间较长,先后顺序即代表了执行的顺序,... 查看详情

freertosfreertos学习笔记—手写freertos双向链表/源码分析(代码片段)

注:链表项就是节点,节点就是链表项,都是值一个东西,叫啥都无所谓。一、定义链表结构体//定义链表,同时也是链表头typedefstructxLISTvolatileunsignedintuxNumberOfItems; ListItem_t*pxIndex;MiniListItem_txListEnd; List_t;二、定义mini节点项... 查看详情

正点原子freertos(中)(代码片段)

目录第十一章FreeRTOS其他任务API函数11.1任务相关API函数预览11.2任务相关API函数详解11.3任务壮态查询API函数实验11.3.1实验程序设计11.3.2程序运行结果分析11.4任务运行时间信息统计实验11.4.1相关宏的设置11.4.2实验程序设计第十二章... 查看详情

da1469x使用记录(代码片段)

文章目录1低功耗管理1.1进入休眠与退出休眠的总概览1.2FreeRTOS低功耗管理分析1.2.1Tickless具体实现1.2.2空闲任务具体实现1.3DA1469x低功耗管理分析1.3.1prvSystemSleep函数分析2看门狗系统2.1看门狗使用注意事项2.2看门狗相关函数分析1低... 查看详情

da1469x使用记录(代码片段)

文章目录1低功耗管理1.1进入休眠与退出休眠的总概览1.2FreeRTOS低功耗管理分析1.2.1Tickless具体实现1.2.2空闲任务具体实现1.3DA1469x低功耗管理分析1.3.1prvSystemSleep函数分析1低功耗管理参考资料:da1469x_software_platform_reference《STM32F10... 查看详情

1305_freertos的队列基本功能描述

全部学习汇总:​​GreyZhang/g_FreeRTOS:learningnotesaboutFreeRTOS.(github.com)​​这一次看一下FreeRTOS中的队列描述,至于代码实现可以后面找时间再做分析。其实之前自己折腾或者参与工作,FreeRTOS的队列还是用过很多的。队列的使用以... 查看详情

使用freertos进行性能和运行时分析

...ipse网站上看到ErichStyger在2月25日发的博文,一篇关于使用FreeRTOS进行性能和运行分析的文章,本人觉得很有启发,特将其翻译过来以备参考。当然限于个人水平,有描述不当之处恳请指正。原文网址:https://mcuoneclipse.com/2018/02/25/p... 查看详情

正点原子freertos(下)(代码片段)

目录第十六章FreeRTOS事件标志组16.1事件标志组简介16.2创建事件标志组16.3设置事件位16.4获取事件标志组值16.5等待指定的事件位16.6事件标志组实验16.6.1实验程序设计16.6.2程序运行结果分析第十七章FreeRTOS任务通知17.1任务通知简介1... 查看详情

正点原子freertos(下)(代码片段)

目录第十六章FreeRTOS事件标志组16.1事件标志组简介16.2创建事件标志组16.3设置事件位16.4获取事件标志组值16.5等待指定的事件位16.6事件标志组实验16.6.1实验程序设计16.6.2程序运行结果分析第十七章FreeRTOS任务通知17.1任务通知简介1... 查看详情

freertos和ucos在任务优先级的区别

  而ucos的任务优先级是任务优先级的数组越小,任务优先级越高。和STM32的中断优先级保持一样的分析,和freeRTOS相反。 查看详情

学习freertos:初始化阶段的中断状态

学习FreeRTOS(2):初始化阶段的中断状态分析FreeRTOS的Cortex-M4F移植版(portable/GCC/ARM_CM4F)在初始化阶段CPU中断状态的变化。复位后中断默认处于开启状态,当创建第一个任务时中断被关闭,开启调度器时重新开启中断。总体上也适... 查看详情

freertos系列教程之第一章freertos概述与体验:1.1freertos目录结构(代码片段)

文章目录教程目录1.1FreeRTOS目录结构1.1FreeRTOS目录结构1.2核心文件1.3移植时涉及的文件1.4头文件相关1.4.1头文件目录1.4.2头文件1.5内存管理1.6Demo1.7数据类型和编程规范1.7.1数据类型1.7.2变量名1.7.3函数名1.7.4宏的名1.8安装Keil1.8.1下载K... 查看详情

freertos系列教程之第一章freertos概述与体验:1.1freertos的目录结构(代码片段)

文章目录教程目录1.1FreeRTOS目录结构1.1FreeRTOS目录结构1.2核心文件1.3移植时涉及的文件1.4头文件相关1.4.1头文件目录1.4.2头文件1.5内存管理1.6Demo1.7数据类型和编程规范1.7.1数据类型1.7.2变量名1.7.3函数名1.7.4宏的名1.8安装Keil1.8.1下载K... 查看详情

基于stm32与freertos的消息传递详解(hal库)(代码片段)

基于STM32与FreeRTOS的消息传递详解引言介绍消息队列概念在FreeRTOS中的消息队列函数实例需求分析发送消息接收消息现象后续引言我们在裸机开发中,每个函数之间进行数据通信往往采用全局变量。而在嵌入式开发中。我们在... 查看详情

基于stm32与freertos的消息传递详解(hal库)(代码片段)

基于STM32与FreeRTOS的消息传递详解引言介绍消息队列概念在FreeRTOS中的消息队列函数实例需求分析发送消息接收消息现象后续引言我们在裸机开发中,每个函数之间进行数据通信往往采用全局变量。而在嵌入式开发中。我们在... 查看详情

一初识freertos之freertos简介

目录一、什么是FreeRTOS?二、为什么选择FreeRTOS?三、FreeRTOS的特点四、FreeRTOS资料与源码下载五、FreeRTOS源码文件介绍一、什么是FreeRTOS?Free即免费的,RTOS的全称是Realtimeoperatingsystem,中文就是实时操作系统。注意&#... 查看详情