RT-Thread和Freertos哪个更适合学习开发使用呢

2023-05-16

Freertos是一个国外推出的一个迷你的实时操作系统内核,开源,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。
RT-Thread是中国人自己推出的一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,开源os,RT-Thread除了有常规RTOS的功能,还具备一个IoT OS平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等
比较了下Freertos和RT-Thread 在内核、支持的组件、驱动

 



freertos简称FR,rt-thread简称RT
首先FR和RT基本定位都是IoT系统
1 背景:FR是亚马逊旗下,RT背景和应用相对较弱。而国内没有大企业支持RT,而是各自开发IoT系统,华为-liteOS、腾讯TencentOS tiny、阿里AliOS Things。群雄割据,RT生存空间可想而知
2 软件包和组件:FR和亚马逊IoT云服务结合是比较好的,国内组件结合度应该RT占优,例如阿里云。很多功能应该也是RT学习了FR。
3 学习资料:RT有中文文档,FR有正点原子等众多视频4 文件:确实如下面RT介绍的,RT是一个包含组件的包,包含的东西很多,打开就能用。FR不是很清楚。从文件大小来说,RT 一百多MB,FR只有几MB


RT-Thread 与其他很多 RTOS 如 FreeRTOS、uC/OS 的主要区别之一是,它不仅仅是一个实时内核,还具备丰富的中间层组件
内核层:RT-Thread 内核,是 RT-Thread 的核心部分,包括了内核系统中对象的实现,例如多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等;libcpu/BSP(芯片移植相关文件 / 板级支持包)与硬件密切相关,由外设驱动和 CPU 移植构成。
组件与服务层:组件是基于 RT-Thread 内核之上的上层软件,例如虚拟文件系统、FinSH 命令行界面、网络框架、设备框架等。采用模块化设计,做到组件内部高内聚,组件之间低耦合。


RT-Thread 软件包:运行于 RT-Thread 物联网操作系统平台上,面向不同应用领域的通用软件组件,由描述信息、源代码或库文件组成。RT-Thread 提供了开放的软件包平台,这里存放了官方提供或开发者提供的软件包,该平台为开发者提供了众多可重用软件包的选择,这也是 RT-Thread 生态的重要组成部分。软件包生态对于一个操作系统的选择至关重要,因为这些软件包具有很强的可重用性,模块化程度很高,极大的方便应用开发者在最短时间内,打造出自己想要的系统。RT-Thread 已经支持的软件包数量已经达到60+,如下举例:
物联网相关的软件包:Paho MQTT、WebClient、mongoose、WebTerminal 等等。
脚本语言相关的软件包:目前支持 JerryScript、MicroPython。
多媒体相关的软件包:Openmv、mupdf。
工具类软件包:CmBacktrace、EasyFlash、EasyLogger、SystemView。
系统相关的软件包:RTGUI、Persimmon UI、lwext4、partition、SQLite 等等。
外设库与驱动类软件包:RealTek RTL8710BN SDK。”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RT-Thread和Freertos哪个更适合学习开发使用呢 的相关文章

随机推荐

  • Linux驱动开发基础__中断的线程化处理

    目录 1 引入 2 内核机制 2 1 调用 request threaded irq 后内核的数据结构 2 2 request threaded irq 2 3 中断的执行过程 1 引入 复杂 耗时的事情 xff0c 尽量使用内核线程来处理
  • Linux驱动开发基础__mmap

    目录 1 引入 2 内存映射现象与数据结构 3 ARM 架构内存映射简介 3 1 一级页表映射过程 3 2 二级页表映射过程 4 怎么给 APP 新建一块内存映射 4 1 mmap 调用过程 编辑4 2 cache 和 buffer 4 3
  • 利用python批量下载百度图片

    某项目中需要训练高速火灾算法 但是手头没有数据集 因此需要利用python从网上下载图片 代码如下 coding utf8 import requests import json from urllib import parse impor
  • python将标注平台的数据格式转换成yolov5的txt格式

    标注平台得到的数据格式如下 annotation object bndbox xmax 1917 xmin 9 ymax 1037 ymin 474 groupid name 轻度雾气 size height 1080 width 1920
  • linux vnc常见命令

    linux vnc virtual network computing 1 新建一个vncserver xff1a 直接输入vncserver即可 xff0c 系统将从1开始计算桌面数 xff0c 当然也可以指定桌面的编号 xff0c 如
  • uboot,内核,根文件系统的启动过程

    复习了下uboot xff0c 内核 xff0c 根文件系统 xff0c 简单概括下三者的主要内容 1 uboot uboot的目的 xff1a 启动内核 uboot的功能可以分为两个阶段任务 1 2 1 uboot第一阶段 uboot第一
  • S3C2440开发环境搭建以及过程中遇到的问题

    拿出了之前的S3C2440开发板 xff0c 然后把移植uboot 移植内核 制作根文件系统 设备树编写驱动等几项再做一遍 xff0c 这篇文章先记录下环境搭建过程 xff0c 以及先把现成的uboot 内核 根文件系统下载进去 xff0c
  • S3C2440移植Linux4.19.275内核以及过程中遇到的问题

    目录 1 问题一 xff1a 内核移植时MTD分区问题 2 问题二 xff1a uboot的MTDPARTS DEFAULT定义的MTD分区 xff0c bootargs中的文件系统分区 xff0c 内核的mtd partition smd
  • 深度学习算法训练和部署流程介绍--让初学者一篇文章理解算法训练和部署流程

    目录 1 什么是深度学习算法 2 算法训练 2 1 训练的原理 2 2 名词解释 3 算法C 43 43 部署 3 1 嵌入式终端板子部署 3 3 1 tpu npu推理 3 3 2 cpu推理 3 2 服务器部署 3 2 1 智能推理 3
  • 使用busybox构建根文件系统

    目录 1 下载busybox 2 修改Makefile 3 配置busybox 4 编译安装 4 1 usr include unistd h 203 error conflicting types for 39 gid t 39 4 2
  • CURL发送HTTP请求获得Json数据串保存在本地(linux 下 C++ 编程)

    某AI比赛中需要用到curl发送http请求 xff0c 然后返回一个json字符串 xff0c 看一下别人怎么写的 include lt iostream gt include lt string gt include lt curl c
  • 各种交叉编译工具链的区别

    目录 1 命名规则 2 实例 2 1 arm none eabi gcc 2 2 arm none linux gnueabi gcc 2 3 arm eabi gcc 2 4 armcc 2 5 arm none uclinuxeabi
  • 如何在Windows上搭建NFS服务器实现开发板与Windows之间的文件共享

    目录 1 安装nfs exe 2 mounting 172 31 8 183 f nfs on mnt nfs failed No such file or directory 3 mounting 172 31 8 183 d nfs o
  • STM32的"异常“、“中断”和“事件”区别和理解

    1 异常与中断 xff08 Cortex M3 xff09 1 1 异常与中断 原话 xff1a Cortex M3 在内核水平 上搭载了一个异常响应系统 xff0c 支持为数众多的系统异常和外部中断 其中 xff0c 编号为 1 xff0
  • 8、解决Linux无法上网的各种问题

    最近发现Linux重新开机后无法上网 xff0c 不仅不能ping通windows主机也不能上外网 ifconfig后eth0也没有分配IP地址 xff0c 总之各种问题都被我碰到了 现在来一一解决 xff01 1 没有分配到IP地址 开机
  • Linux的硬盘和硬盘分区方式表示方法

    通过一个例子来看Linux上的硬盘表示方式 xff1a dev sda dev表示我们所用的物理硬盘设备文件是放在 34 34 目录的 34 dev 34 目录下 再说sda之前我们应该知道这些知识 xff1a SCSI SATA USB
  • Pixhawk系统架构介绍

    前段时间导师叫我做扑翼无人机 xff0c 工程上需要实现的 xff0c 能够通过程控飞起来 xff0c 感觉难度挺大 先从研究PX4开始 xff0c 打算一步步理解透整个PX4的框架 xff0c 机型的适配 旋翼 固定翼的姿态控制 xff0
  • PX4启动脚本分析

    启动脚本是一个神奇的东西 xff0c 它能够识别出你对应的飞机类型 xff0c 加载对应的混控器 xff0c 选择对应的姿态 位置估计程序以及控制程序 xff0c 初始化你需要的驱动程序 下面来分析下 图片总结 启动代码的分析必定少不了这张
  • PX4使用WIFI模块

    PX4支持WIFI模块作为数传工具 xff0c 官网上也提供了教程 xff0c 但是不注意细节也很容易失败 以下是我的经验以及教训 配置环境 飞控 xff1a pixhawk v2 xff0c 烧录PX4 v1 8 2的固件 地面站 xff
  • RT-Thread和Freertos哪个更适合学习开发使用呢

    Freertos是一个国外推出的一个迷你的实时操作系统内核 xff0c 开源 xff0c 功能包括 xff1a 任务管理 时间管理 信号量 消息队列 内存管理 记录功能 软件定时器 协程等 xff0c 可基本满足较小系统的需要 RT Thr