FreeRTOS

嵌入式系统
授权协议 MIT
开发语言 C/C++
所属分类 其他开源、 嵌入式操作系统
软件类型 开源软件
地区 不详
投 递 者 耿招
操作系统 Linux
开源组织
适用人群 未知
 软件概览

FreeRTOS是一个迷你操作系统内核的小型嵌入式系统。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。

功能和特点

  • 混合配置选项

  • 提供一个高层次的信任代码的完整性

  • 目的是小,简单易用

  • 以开发C,非常便携代码结构

  • 支持两项任务和共同例程

  • 强大的执行跟踪功能

  • 堆栈溢出检测

  • 没有软件任务的限制数量

  • 没有软件优先事项的限制数量

  • 没有施加的限制,优先转让,多个任务可以分配相同的优先权

  • 队列,二进制信号量,计数信号灯和递归通信和同步的任务

  • Mutexes优先继承权

  • 免费开发工具

  • 免费嵌入式软件的源代码

  • 从一个标准的Windows主机交叉发展

  • 学前知识普及 对于RTOS初学者或者对RTOS的基础概念不太清楚的同学,请先学习这个视频课程,在充分理解什么是RTOS之后再开始学习,对于你的学习能达到事半功倍的作用! 韦东山freeRTOS快速入门 视频观看地址: https://www.bilibili.com/video/BV1844y1g7ud 入门视频教程 视频观看地址: https://www.bilibili.com/video/B

  • 由Real Time Engineers Ltd(股份有限公司)开发维护。FreeRTOS适用于使用微处理器的深度嵌入式实时应用场景。这类应用通常包含有硬实时或软实时。 硬实时 举例:我们期待安全气囊能够按计划弹出 软实时 举例:敲击键盘,在敲击后,会执行但是会延时一定时间,我们只是感觉到卡顿 在FreeRTOS中,每一个线程被称为一个任务,后续我们所说的线程或任务为同一个概念。我们清楚,类似GD

  • freeRTOS优先级,数值越大,优先级越高。 优先级0是空闲任务,已经被占用,优先级最低。 然而,不巧的是,ucos恰恰相反,数值越低,优先级越高。

  • ps:参考其他人的教程,先记录以后用到查一查。 第一章 FreeRTOS 基础 1. 任务函数 任务函数原型:void ATaskfunction(void *pvParameters); (1)每个任务通常会运行在一个死循环中,FreeRTOS任务不允许以任何形式从实现函数中返回; (2)创建的每个任务实例拥有自己的栈空间和自动变量; 注:在任务实例中定义的变量如果是static修饰,则所有

  • 1.创建任务 portBASE_TYPE xTaskCreate(pdTASK_CODE pvTaskCode,const signed portCHAR * const pcName,unsigned portSHORT usStackDepth,void *pvparameters.unsigned portBASE_TYPE uxPriority,xTaskHandle *pxCreated

  • 文章由 FreeRTOS 系列博客整理而来,仅为学习记录,如有不妥,请告知。 FreeRTOS 内存管理 FreeRTOS提供了几个内存堆管理方案,有复杂的也有简单的。其中最简单的管理策略也能满足很多应用的要求,比如对安全要求高的应用,这些应用根本不允许动态内存分配的。 FreeRTOS也允许你自己实现内存堆管理,甚至允许你同时使用两种内存堆管理方案。同时实现两种内存堆允许任务堆栈和其它RTOS对

  • 1.为什么学习RTOS? 作为基于ARM7、Cortex-M3硬件开发的嵌入式工程师,我一直反对使用RTOS。不仅因为不恰当的使用RTOS会给项目带来额外的稳定性风险,更重要的是我认为绝大多数基于ARM7、Cortex-M3硬件的项目,还没复杂到使用RTOS的地步,使用状态机就足够了。 对于现代的微处理器,特别是资源相对丰富ARM7、Cortex-M3硬件来说,RTOS占用的硬件资源已经越来越可以

  • 1.什么是FreeRTOS? Free 即免费的,RTOS 全称是 Real Time Operating System,中文就是实时操作系统。注意,RTOS 不是指某一个确定的系统,而是指一类系统。比如 uC/OS,FreeRTOS,RTX,RT-Thread 等这些都是 RTOS 类操作系统. 2.FreeRTOS资料与源码下载 要找资料,官网是最好的地方,FreeRTOS的官网是www.fr

  • 转自:https://blog.csdn.net/zhzht19861011/article/details/49819109 FreeRTOS系列第1篇---为什么选择FreeRTOS? FreeRTOS系列第2篇---FreeRTOS入门指南 FreeRTOS系列第3篇---FreeRTOS移植指南 FreeRTOS系列第4篇---FreeRTOS编码标准及风格指南 FreeRTOS系列第5篇

  • 文章由 FreeRTOS 系列博客整理而来,仅为学习记录,如有不妥,请告知。 FreeRTOS 任务控制 FreeRTOS 任务控制 API 函数主要实现任务延时、任务挂起、解除任务挂起、任务优先级获取和设置等功能。 相对延时 函数描述 ```c void vTaskDelay( portTickTypexTicksToDelay ) ``` 调用 vTaskDelay() 函数后,任务会进入阻

  • 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系统中的线程,是一个简单的程序。每个任务被赋予一定的优先级,有它自己的一套CPU寄存器的值和自己的栈空间。典型的,每个任务都是一个无限循

  • FreeRTOS是一个开源的实时操作系统,主要用于嵌入式设备和微控制器,旨在提供简单易用的实时多任务处理系统。它可以运行在多个处理器架构上,并且可以免费使用。 FreeRTOS提供了一个多任务环境,允许你以低延迟的方式在多个任务之间切换,从而能够有效地利用处理器资源。它还提供了许多实用工具,可以帮助你管理任务,例如调度器,事件组,消息队列,等等。

 相关资料
  • 主要内容:嵌入式系统硬件,嵌入式系统软件在学习物联网或在物联网上构建项目时,了解嵌入式设备非常重要。嵌入式设备是构建独特计算系统的对象。这些系统可能连接也可能不连接到Internet。 嵌入式设备系统通常作为单个应用程序运行。但是,这些设备可以通过互联网连接进行连接,并且可以通过其他网络设备进行通信。 嵌入式系统硬件 嵌入式系统可以是微控制器型或微处理器型。这两种类型都包含集成电路(IC)。 嵌入式系统的基本组件是RISC系列微控制器,

  • 简单的任务函数 void ATaskFunction( void *pvParameters ) { int iVariableExample = 0; /* 任务通常实现在一个死循环中。 */ for( ;; ) { /* 完成任务功能的代码将放在这里。 */ } /* 如果任务的具体实现会跳出上面的死循环,则此任务必须在函数运行

  • 全程45分钟 面试官人很好,进会议后先闲聊了一阵子 问了下城市、地域选择相关的 自我介绍+项目介绍 为什么采用linux操作系统 进程、线程、锁相关(区别、为什么、怎么用) 项目分工是怎样 项目上遇到的问题(协调问题、工程问题、技术问题) 驱动相关问题(用到哪些、怎么实现) 内核相关问题(难,直说只是了解过) 按下一个按键,信号传输到soc,这个功能实现流程是怎么样的?(一开始没太懂面试官啥意思)

  • 我有时会在pom中看到以下声明。xml。。。 如您所见,sping-boo-starter-web被声明为tomcat-embed-jasper。 是不是sping-boo-starter-web已经有一个嵌入式tomcat了?为什么一些开发人员仍然声明tomcat-embed-jasper以及boot-starter-web?还是有什么原因?

  • 是否可以在高可用性(HA)模式下运行Neo4j,并对多个java客户端(java嵌入式)进行读/写访问? 如果是,是否需要特殊配置?(除了标准HA配置之外) 我想在我的计算机上运行一个包含三个本地服务器的HA集群。使用套接字从三个java客户端写入和读取。

  • 问题内容: 对于这两个消息传递系统中的哪个是我,我将不胜感激。 更容易管理 需要了解和避免的陷阱或魔术少 具有较少的总体依赖 很简单。 问题答案: 更容易管理 hornetQ具有清晰的管理API,并且非常易于使用。 需要了解和避免的陷阱或魔术少 hornetQ专为嵌入式案例设计。将其集成到代码中非常非常容易。实际上,您可以用少于10行的代码来完成此操作。 具有较少的整体依赖性 HornetQ上的所