
FreeRTOS
文章平均质量分 91
FreeRTOS 相关技术文章
ZC·Shou
深入研究,分享最纯粹的技术干货
展开
-
FreeRTOS 之九 二值信号量、计数信号量、互斥信号量、递归互斥信号量
无论那种操作系统,信号量都是其中重要的一部分。信号量一般用来进行资源管理和任务同步,FreeRTOS 的信号量包括二值信号量、计数信号量、互斥信号量(简称互斥量)和递归互斥信号量(简称递归互斥量),其中互斥量和递归互斥量可以看成特殊的二值信号量。原创 2024-02-02 10:42:09 · 1598 阅读 · 0 评论 -
FreeRTOS 之八 低功耗 tickless 模式
tickless 低功耗机制是当前小型 RTOS 所采用的通用低功耗方法,比如 embOS,RTX 和 uCOS-III (类似方法)都有这种机制。FreeRTOS 的低功耗也是采用的这种方式。转载 2017-09-07 12:08:12 · 12095 阅读 · 1 评论 -
FreeRTOS 之七 Cortex-M 中的中断优先级设置
数以千计的 FreeRTOS 应用运行在 ARM Cortex-M 内核上。令人惊奇的是,RTOS 与 Cortex-M 内核组合使用,使得技术支持请求变得如此的少。大多数的问题点是由不正确的优先级设置引起的。这个问题也是在意料之中的,因为尽管 Cortex-M 内核的中断模式是非常强大的,但对于那些使用传统中断优先级架构的工程师来说, Cortex-M 内核中断机制也有点笨拙转载 2018-05-05 16:00:39 · 3626 阅读 · 0 评论 -
FreeRTOS 之六 任务调度原理解析(Systick、PendSV、SVC)
;在 Cortex-M 内核上,FreeRTOS 使用 Systick 定时器作为心跳时钟,一般默认心跳时钟为 1ms,进入 Systick 中断后,内核会进入处理模式进行处理。在 Systick中 断处理中,系统会在 ReadList 就绪链表从高优先级到低优先找需要执行的任务,进行调度,如果有任务的状态发生了变化,改变了状态链表,就会产生一个 PendSV 异常,进入 PendSV 异常,通过改变进程栈指针(PSP)切换到不同的任务。转载 2023-03-02 15:52:36 · 7407 阅读 · 6 评论 -
FreeRTOS 之五 动态内存管理(heap_1.c)详解
写在前面 写这篇文章时,网上已经有了铺天盖地的文章来介绍 FreeRTOS 的动态内存。之所以还去写这篇博文,主要还是记录自己的学习过程。结合源代码一步一步分析一下FreeRTOS究竟是怎么实现的其内存部分。简介 FreeRTOS 支持 5 种动态内存管理方案,分别通过文件 heap_1.c,heap_2.c,heap_3.c,heap_4.c 和 heap_5.c 实现。这 5 个文件...原创 2018-12-11 10:43:41 · 4186 阅读 · 2 评论 -
FreeRTOS 之四 事件标志组及实现FreeRTOS看门狗
事件标志组是实现多任务同步的有效机制之一。任务间事件标志组的实现是指各个任务之间使用事件标志组实现任务的通信或者同步机制。FreeRTOS在event_groups.c/h文件中提供了事件标志组的具体实现。 根据具体平台的不同,FreeRTOS根据 configUSE_16_BIT_TICKS定义的不同,事件组支持的数量有些区别,具体如下:#define configUSE_16_BIT原创 2017-02-25 18:09:56 · 9219 阅读 · 3 评论 -
FreeRTOS 之三 全配置项(FreeRTOSConfig.h)详解、裁剪、使用示例
简介 首先,我们需要明确一个问题,FreeRTOSConfig.h是一个用户级别的文件,不属于内核文件。每个用户可以有不同的FreeRTOSConfig.h。 FreeRTOS作为一个可高度配置的实时内核,其绝大多数配置选项都体现在FreeRTOS.h(注意是FreeRTOS.h不是FreeRTOSConfig.h)中。为什么这么说?打开FreeRTOS.h看看就知道了,这个文件唯一要...原创 2017-01-23 16:44:09 · 27405 阅读 · 6 评论 -
FreeRTOS 之二 Tracealyzer for FreeRTOS(FreeRTOS+Trace) 详解(源码解析+移植)
最近公司搞新项目,需要使用FreeRTOS,之前只有Linux的基础(学了个皮毛),对于FreeRTOS不是非常了解。在官网转悠的时候发现了有个可视化分析工具:FreeRTOS+Trace,感觉应该不错!下载后发现其是http://percepio.com/这个网站上的东西。到官网看了看,功能确实非常强大! 不过这个东西是收费的,虽然也提供了免费版本,但是免费版功能确实太少了,只能查看各全局图,没原创 2017-01-22 19:52:23 · 18580 阅读 · 15 评论 -
FreeRTOS 之一 源码目录文件 及 移植详解
FreeRTOS 源码目录文件 及 移植详解2018/1/15更新了文章中的部分错误。FreeRTOS源码为最新版的10.0.1。FreeRTOS 10包含两个重要的新功能:流缓冲区和消息缓冲区。从10.0.0开始,FreeRTOS的开源协议改为了MIT。源码目录 首先,从官网下载最新版的源码,目前最新版为10.0.1。下载后,解压得到源码,FreeRTOS的源码包中的内容还是相当丰富的。简略目录如下:...原创 2017-01-22 13:11:26 · 11601 阅读 · 5 评论