转载自https://blog.csdn.net/zhoutaopower/article/details/106541595

FreeRTOS 是一个嵌入式实时操作系统,具有相对(相对 Linux、Windows等)较小的体积,使用精简的代码实现了简单的进程调度,内存管理,消息发送,等,常常用在一些需要支持多任务的 MCU 上;

在没有 RTOS 的嵌入式小系统中,代码都跑在 while 1 中,我们称之为 “裸机”,也没有任务的概念;而 RTOS 的出现,使得可以支持多任务执行(宏观并行,微观串行),任务与任务,中断与任务,之间可以通过消息传递数据;

RTOS(Real Time Operation System)实时操作系统的目的是让关键的任务可以得到及时的执行,任务优先级和任务抢占是 RTOS 的特点;

既然是需要兼容跑在小型嵌入式系统中,那么就要求 RTOS 体积必须小,而且效率一定要高,否则引入 RTOS 对小型单片机来说就成为了一种拖累,FreeRTOS 针对性很强,较好的控制了代码体积(几千行),在有限的空间,实现了几乎所有常用到的小型嵌入式常用的特性,使得嵌入式开发变得更加容易和清晰;

FreeRTOS 发展得非常迅速,而且免费。与此同时,已经支持了许多不同编译器(Keil/IAR/GCC/LLVM)和不同的处理器(ARM/RISC-V等),而且有非常多的用户群:

FreeRTOS 中,主要由任务管理、内存管理、队列管理、定时器管理、中断管理、以及一些数据结构构成;FreeRTOS 提供了一个叫做 FreeRTOSConfig.h 的头文件,其中定义了很多 OS 相关的 Feature 开关,以支持根据不同的场景进行增加或者裁剪 Feature,已达到特定需求的最佳配置;

FreeRTOS 的源代码可以通过访问它的官方网站来下载:https://www.freertos.org/index.html

在官网的 Resources -> Books and Manuals 中有一些说明文档,主要是针对 FreeRTOS 的内核行为以及一篇 API 文档;

除了纯 RTOS 部分,还提供了一些第三方的组件,能够支持更多的功能(比如网络等);不在这里过多的介绍了;

一些参考:

https://blog.csdn.net/zhzht19861011/article/details/49819109?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-1

https://blog.csdn.net/lxl584685501/article/details/46621991

FreeRTOS --(0)简介的更多相关文章

  1. IOS 网络浅析-(十一 三方 AFNetworking3.0简介)

    AFNetworking3.0是目前最新的版本,本来打算介绍一下2.6,但是想想2.6名不久矣,就决定不介绍了,有兴趣的小伙伴可以上网查一查.下面我就开始进入正题了. 目前使用人数最多的第三方网络库, ...

  2. varnish4.0简介

    Varnish 4.0 简介 Varnish 是一款开源的HTTP加速器和反向代理服务器,它的主要特点有: (1)是基于内存缓存,重启后数据将消失.(2)利用虚拟内存方式,io性能好.(3)支持设置0 ...

  3. 流风ASP.NET框架商业版-工作流1.0简介

    流风ASP.NET框架商业版-工作流1.0简介 工作流简介 在流风ASP.NET框架商业版1.0推出后,就有集成工作流的想法,但是由于工作繁忙和其他事情的耽搁,时隔半年之久工作流1.0的版本才姗姗来迟 ...

  4. .NET Core 1.0、ASP.NET Core 1.0和EF Core 1.0简介

    .NET Core 1.0.ASP.NET Core 1.0和EF Core 1.0简介 英文原文:Reintroducing .NET Core 1.0, ASP.NET Core 1.0, and ...

  5. 一个RtspServer的设计与实现和RTSP2.0简介

    一个RtspServer的设计与实现和RTSP2.0简介   前段时间着手实现了一个RTSP Server,能够正常实现多路RTSP流的直播播放,因项目需要,只做了对H.264和AAC编码的支持,但是 ...

  6. Identity Server 4 预备知识 -- OAuth 2.0 简介

    OAuth 2.0 简介 OAuth有一些定义: OAuth 2.0是一个委托协议, 它可以让那些控制资源的人允许某个应用以代表他们来访问他们控制的资源, 注意是代表这些人, 而不是假冒或模仿这些人. ...

  7. 第64节:Java中的Spring Boot 2.0简介笔记

    Java中的Spring Boot 2.0简介笔记 spring boot简介 依赖java8的运行环境 多模块项目 打包和运行 spring boot是由spring framework构建的,sp ...

  8. ElasticSearch 5.0 简介

    参考:http://blog.csdn.net/wzhg0508/article/details/52063676 Elasticsearch 5.0 简介(medcl微信直播实录) 大家好,非常高兴 ...

  9. 【HANA系列】SAP HANA 2.0简介

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA 2.0简介   ...

  10. ECMAScript 6.0 简介

    ECMAScript 6.0 在es6中有 许多语法.还有lambda的使用.以及 class 的使用 还有一些新的对象来解决一些事情 可以提高开发效率 但更重要的是 颠覆 javascript 在你 ...

随机推荐

  1. 解决Idea.exe无法启动问题(idea2017.3版本)

    问题: 最近在用idea时,突然弹出了以下消息框(图片不是我的): 将Xmx的值调大以后,idea还是闪退了.并且再点击idea.exe时,idea已经木有反映了,无法启动. 解决方案: 方案一(失败 ...

  2. 学习ELK日志平台(一)

    一.需求及基础: 场景: 1.开发人员不能登录线上服务器查看详细日志 2.各个系统都有日志,日志数据分散难以查找 3.日志数据量大,查询速度慢,或者数据不够实时 4.一个调用会涉及到多个系统,难以在这 ...

  3. Python - list、tuple类型

  4. GlusterFS(GFS) 分布式存储

    GlusterFS(GFS) 分布式存储   GFS 分布式文件系统 目录 一: GlusterFS 概述 1.1 GlusterFS 简介 1.2 GlusterFS特点 1.2.1 扩展性和高性能 ...

  5. 串联型PID,并联型PID与标准型PID简要说明

    PID广泛应用于工业生产各个环节,然而对于不同PID结构会有一些差异,导致在调参时若按照常规的经验调试,结果将会有非常大的不同. 串联型PID(Serial PID) 串联型PID的三个环节由比例,积 ...

  6. "双非"应届生校招如何获得大厂青睐?(内附前端大厂面经+技术岗超全求职攻略)

    写在前面的话 笔者从17年的2月份开始准备春招,其中遇到不少坑,也意识到自己走过的弯路.故写了这篇文章总结一番,本文适合主动学习的,对自己要学的课程不明确的,对面试有恐惧症的...等将来打算从事技术岗 ...

  7. CSS中宽度与高度

    div的高度 div由的高度是由它里面的字体乘以字体建议的行高确定,跟这个字体大小没有关系(不同字体相同字体大小,会影响div的高度.)如过明确告诉浏览器行高,div高度就是行高. 文字两端对齐: 文 ...

  8. 祖先元素transform非none时在Iphone6上引起后代fixed/absolute元素的怪异表现及解决方案

    如题,祖先元素transform非none时,记录一下Iphone6中引起后代元素fixed参考视图怪异表现和解决方案. 层叠关系及参考视图 层叠上下文是HTML元素的三维概念,这些HTML元素在一条 ...

  9. 可想实现一个自己的简单jQuery库?(五)

    Lesson-4 这个版本我们要增加一个用的非常多的方法! 那就是each! 我们知道each不仅能遍历数组,还能遍历对象. 首先我们需要一个对数组进行验证的方法 function isArray(o ...

  10. pod和容器(容易混淆的地方)

    在Kubenetes中,所有的容器均在 pod 中运行,一个pod可以承载一个或者多个相关的docker容器(或rkt,以及用户自定义容器),同一个Pod中的容器可以部署在同一个物理机器(可以叫宿主机 ...