在实时操作系统(RTOS)的体系结构中,堆(Heap)是一块动态分配的内存区域,用于存储程序运行时动态申请的数据。FreeRTOS中的堆扮演着至关重要的角色,为任务提供了动态内存的管理机制。本文将深入探讨FreeRTOS中堆的概念,介绍其设计原理,并通过详细的代码演示展示堆在FreeRTOS中的运作。堆的基本概念堆是一块在程序运行时动态分配的内存区域,用于存储程序执行过程中需要动态申请的数据。相对
原创 2023-12-11 12:29:39
129阅读
在实时操作系统(RTOS)的体系结构中,堆(Heap)是一块动态分配的内存区域,用于存储程序运行时动态申请的数据。FreeRTOS中的堆扮演着至关重要的角色,为任务提供了动态内存的管理机制。本文将深入探讨FreeRTOS中堆的概念,介绍其设计原理,并通过详细的代码演示展示堆在FreeRTOS中的运作。堆的基本概念堆是一块在程序运行时动态分配的内存区域,用于存储程序执行过程中需要动态申请的数据。相对
原创 精选 2023-12-11 12:29:39
183阅读
使用RTOS 需要注意的问题:像中断优先级、任务堆栈分配、可重入等,都是更容易出错的地方。读队列时阻塞当某个任务试图读一个队列时,其可以指定一个阻塞超时时间。在这段时间中,如果队列为空,该任务将保持阻塞状态以等待队列数据有效。当其它任务或中断服务例程往其等待的队列中写入了数据,该任务将自动由阻塞态转移为就绪态。当等待的时间超过了指定的阻塞时间,即使队列中尚无有效数...
原创 2021-09-28 16:02:23
1102阅读
使用RTOS 需要注意的问题:像中断优先级、任务堆栈分配、可重入等,都是更容易出错的地方。 读队列时阻塞 当某个任务试图读一个队列时,其可以指定一个阻塞超时时间。在这段时间中,如 果队列为空,该任务将保持阻塞状态以等待队列数据有效。当其它任务或中...
转载 2019-12-11 10:17:00
730阅读
2评论
(文章目录) 前言 本篇文章将带大家学习什么是事件组以及如何使用事件组。 一、事件组概念 事件组通常是由一组位(bits)组成的数据结构,其中每一位都对应着某个特定的事件。每个位可以被设置或清除,表示相应的事件发生或未发生。这种位的组合形成了一个类似于二进制数的集合,每个位都代表着某个特定的状态或事件。因此,可以将事件组视为由一系列二进制位构成的数据结构,每个位代表着一个独立的事件状态。 事件组
原创 2023-10-21 09:43:53
644阅读
 FreeRTOS 是一个嵌入式实时操作系统,具有相对(相对 Linux、Windows等)较小的体积,使用精简的代码实现了简单的进程调度,内存管理,消息发送,等,常常用在一些需要支持多任务的 MCU 上;在没有 RTOS 的嵌入式小系统中,代码都跑在 while 1 中,我们称之为 “裸机”,也没有任务的概念;而 RTOS 的出现,使得可以支持多任务执行(宏观并行,微观串行),任务与任
转载 2023-05-27 15:12:39
522阅读
FreeRTOS简介 1. RTOS简介RTOS全称为 Real Time Operation System,即实时操作系统。RTOS强调的是实时性,又分为硬实时和软实时。硬实时要求在规定的时间内必须完成操作,不允许超时;而软实时里对处理过程超时的要求则没有很严格。RTOS的核心就是任务调度 RTOS的多个工作流如下图示:RTOS工作原理如下图示: RTOS通用组件如下图示: RTOS的特点:更
原创 2022-01-04 10:29:05
1299阅读
从0到1学习FreeRTOSFreeRTOS 内核应用开发:(五)任务管理    NO.1 概念讲解目录​​一、任务的基本概念:​​​​二、任务调度器的基本概念:​​​​三、任务状态概念:​​​​四、任务状态迁移:​​一、任务的基本概念:       ① 在任何时刻,只有一个任务能得到运行,由FreeRTOS调度器决定运行哪个任务。调度
从0到1学习Free
FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。 能不能承载usb调用
转载 2019-11-19 14:39:00
159阅读
2评论
1.写在前面  实时系统(RTOS)种类五花八门,除了老牌RTOS如UCOS、vxWorks、FreeRTOS,及国内的RT-Thread、阿里AliOS、华为LiteOS等;也涌现出新兴的RTOS,或者GitHub上不缺乏开源爱好者编写的实时内核。对于RTOS的选择也是比较纠结,特别是对于未接触过操作系统的学习者。但一般情况下,如果进入公司,公司都会选择比较成熟稳定的RTOS,或者基于历史原因的
一.FreeRTOS系统概念        FreeRTOS是RTOS(实时操作系统)的其中一种,类似的还有uc/OS,RTX等,区别于linux & window系统;二.FreeRTOS的基本概念        1.任务:被称为task,可看做linux系统中的线程,
转载 2023-10-07 19:04:40
83阅读
FreeRTOS可以被移植到很多不同架构的处理器和编译器。每一个RTOS移植都附带一个已经配置好的演示例程,可以方便快速启动开发。更好的是,每个演示例程都附带一个说明网页,提供如何定位RTOS演示工程源代码、如何编译演示例程、如何配置硬件平台的全部信息。       演示例程说明网页还提供基本的RTOS移植细节信息,包括如何编写FreeRTOS兼容的中断服务例程,不
转载 2024-06-11 09:35:45
74阅读
记录一下,方便以后翻阅~1. 什么是FreeRTOSFreeRTOS全称Free Real Time Operating System,顾名思义就是免费的实时操作系统。一般,一个处理器核心在某一时刻只能运行一个任务,操作系统中任务调度器的责任就是决定在那个时刻应该运行哪个任务。FreeRTOS是由用户给每个任务分配一个任务优先级,任务调度器根据此优先级决定下一刻运行哪个任务。2. FreeRTOS
转载 2024-10-18 15:27:32
55阅读
嵌入式系统不只是ARM+Linux,不是只有安卓,凡是电子产品都可称为嵌入式系统。物联网行业的兴起,也提升了FreeRTOS市场占有率。本文就是介绍FreeRTOS基础及其应用,只是个人整理,可能存在问题,其目的只是简要介绍系统的基础,可以作为FreeRTOS入门简化版。目录一、 为什么要学习 RTOS 二、 操作系统基础 三、 初识 FreeRTOS 四、 任务 五、 队列 六、 软件
任务调度机制的实现任务调度机制是嵌入式实时操作系统的一个重要概念,也是其核心技术。对于可剥夺型内核,优先级高的任务一旦就绪就能剥夺优先级较低任务的CPU使用权,提高了系统的实时响应能力。FreeRTOS 支持的调度方式FreeRTOS 操作系统支持三种调度方式:抢占式调度,时间片调度和合作式调度。 实际应用主要是 抢占式调度和时间片调度,合作式调度用到的很少(ps: 在最新的FreeRTOS中,合
单片机也要用操作系统?如果以日常用的Windows, Linux, BSD这些,甚至是DOS,来代表操作系统的话,在单片机上运行操作系统时候个很荒诞的想法——因为对大多数单片机,RAM实在太少了。而 FreeRTOS 并不是要提供一个在单片机上运行软件的平台,把软件一个个安装到它上面,供用户选择运行什么,它没有用户界面;它不是一个管家,也不带任何硬件驱动程序,也没有文件系统服务提供。FreeRTO
转载 2023-11-16 21:49:22
138阅读
(文章目录) 前言 本篇文章带大家学习什么是互斥锁,并且学习一下互斥锁中一些函数的使用方法。 一、互斥锁的概念 FreeRTOS中的互斥锁(Mutex)是一种同步机制,用于控制多个任务对共享资源的访问,以确保只有一个任务可以访问该资源,从而避免竞争条件和数据损坏。互斥锁是一种二进制信号量,它只有两个状态:已锁定和未锁定。 二、互斥锁相关函数 1.xSemaphoreCreateMutex():
原创 精选 2023-10-20 20:41:45
1879阅读
1点赞
首发,公众号【一起学嵌入式】对于RTOS入门系列文章,已经更新完一款(RTThread):助你快速入门RTThread(https://mp.weixin.qq.com/s/2dovQS3S_152JFBwTxJXVw)这个系列的文章结合RTThread,介绍过RTOS相关的核心知识。接下来,开始另外一款RTOSFreeRTOS入门系列,希望能够帮助初学者快速掌握FreeRTOS,帮助老手回顾基础
原创 精选 2022-04-22 11:14:32
2094阅读
1点赞
ARM-CM3创建任务、开启调度器、任务调度的整个流程:【创建任务】创建任务控制块。为任务申请空间并创建一个任务控制块NewTCB;申请任务栈空间。为任务申请一块栈空间,并将起始地址存储到NewTCB.pxStack中;初始化任务相关参数。将任务名、优先级和相关列表项等存放到任务控制块;初始化任务栈中的上下文。计算栈顶指针pxTopOfStack,并通过该指针初始化上下文堆栈,主要包括xPSR、P
  • 1
  • 2
  • 3
  • 4
  • 5