乐鑫多系列芯片支持 NuttX 和 Zephyr 操作系统

2023-05-16

乐鑫芯片凭借丰富的功能和广阔的应用,在物联网市场广受欢迎。乐鑫还为用户提供了一个物联网开发框架 ESP-IDF,集成大量软件组件,包括 RTOS、外设驱动程序、网络栈和多种协议实现技术等。开发者能够在乐鑫硬件上使用 ESP-IDF 轻松开发嵌入式软件,构建功能卓越的物联网产品。基于客户需求,乐鑫现在也能够提供对 NuttX 和 Zephyr 操作系统的支持。

NuttX 简介

NuttX(也称 Apache NuttX)是一个由 Apache 基金会主导的项目,被很多大型设备厂商直接或间接(如 Tizen 和 小米 Vela 分支)使用。NuttX 最早由 Gregory Nutt 推出,为小型(8 位)CPU 提供了 POSIX 兼容接口的实时操作系统 (RTOS)。现在,NuttX 已成为那些既想拥有 POSIX 编程体验,又想使用小型 CPU/MCU 用户的首选 RTOS。

NuttX 专注于保证架构的完整性。它不允许使用“外部”代码,除非“外部”代码经过了严格的审核,并仔细选择了代码库。例如,它不允许直接使用与公认代码标准不一致的制造商 API 和 HAL。代码完整性是 NuttX 最重要的标准,从长远来看,编写完全符合代码标准的优秀代码会大大提高项目开发效率。

Zephyr 简介

Zephyr 是一个小型的实时操作系统 (RTOS),旨在支持广泛的物联网硬件并构建强大的物联网应用。Zephyr 项目拥有一批主要成员和支持者,他们也成为了该项目的最佳代言人。

Zephyr 最初可以追溯到 Wind River 在 2015 年推出的开源 Rocket RTOS。2016 年,Zephyr 开始由 Linux 基金会主导,进一步加速了参与成员之间的合作。“合作”是 Zephyr 项目的重点,用户和厂商都能够将 Zephyr 移植到他们自己的系统中。

值得一提的是,随着硬件支持的不断扩展,Zephyr 也拥有一个庞大的用户群。据估计,它的贡献者现已超过 1,000 个,其中也包括很多大公司。Zephyr 还吸引了大批服务提供商和承包商,他们将帮助公司更快地将支持 Zephyr 的产品投入生产。现在,Zephyr 已经不仅仅是一个社区或一个项目,而是成为了一个完整的生态系统。

乐鑫芯片支持

乐鑫一直致力于在乐鑫芯片上引入不同的操作系统。我们深知,加入开源项目社区需要持续关注社区动态、了解其开源规范等等。因此,自加入 NuttX 和 Zephyr 社区以来,我们也在不断优化并扩展乐鑫芯片对这两个操作系统的支持。

我们制定的支持策略具有一定针对性:由于 ESP32 是一个 Wi-Fi MCU,所以我们首先专注于为最基本的 MCU (CPU) 提供支持,然后再到 Wi-Fi,再到其他基本外设。这样一来,开发人员可以先测试芯片,并为我们提供反馈,然后我们基于反馈进行功能优化。这也有助于我们了解社区需求,适当调整重要功能的开发顺序。

乐鑫目前对 NuttX 和 Zephyr 的支持情况如下表所示:

表格说明

  • Yes(绿色):已支持该功能
  • No(红色):不支持该功能
  • N/A(白色):功能对该设备/操作系统不可用
  • WIP(黄色):功能正在开发中
  • Conditional(黄色):在特殊条件/特定应用下支持该功能
  • Beta(天蓝色):功能处于测试版本阶段

除了设备支持外,我们还需要解决一些系统方面的挑战:我们希望乐鑫用户除了使用 ESP-IDF,也能够使用其他操作系统构建功能强大的产品。与此同时,乐鑫在未来芯片发布的计划中,也将支持 Nuttx 和 Zephyr。

乐鑫芯片支持计划

我们计划增加尽可能多的新功能,真正使乐鑫的用户和社区在构建物联网项目中受益。我们将进一步增强对芯片低功耗模式、Wi-Fi 性能和安全特性等方面的支持。同时也将继续扩展产品线,在支持的功能列表中增加更多外设功能。支持计划如下表所示:

目前,我们已经有一些在 ESP32 设备上使用 Zephyr 和 NuttX 系统的成功案例。以 MCUboot 项目为例,我们先提供了对 Zephyr 的支持,然后再将其进行移植,实现了对 NuttX 的支持。一些服务提供商也开始考虑在他们的云上支持 NuttX,这将为该社区用户提供更多便利。此外,乐鑫 ESP32 是第一个支持 Zephyr 操作系统的片上 Wi-Fi MCU,它也为未来的 Zephyr 原生 Wi-Fi 协议栈项目奠定了基础。

经过一年多的努力,我们收到了很多来自客户的积极反馈:目前,乐鑫芯片已能够与客户熟悉的操作系统一起可靠、稳定地工作。这些反馈让我们备受鼓舞。乐鑫欢迎广大用户为我们提供宝贵意见和建议,我们将高度重视所有反馈,持续优化并改进产品,为构建物联网项目提供更全面和便捷的支持。

其他资源

  • 教程:在 ESP32 上运行 Zephyr 系统
  • 教程:在 ESP32 上运行 NuttX 系统
  • 视频:了解 MCUboot 项目
  • 教程:在 ESP32 上使用 NuttX 构建 LVGL 图形应用
  • 教程:在 ESP32 上使用 Zephyr 实现 Wi-Fi 功能
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

乐鑫多系列芯片支持 NuttX 和 Zephyr 操作系统 的相关文章

  • Minikube 架构及启动流程剖析

    原文作者 wzqnls 编辑 夏天 对于要学习 Kubernetes 或者需要本地开发的开发人员来说 Minikube 是一个不错的选择 通过使用 Minikube 这个工具 我们可以非常快捷地在本地部署一套单节点的 Kubernetes
  • linux 如何创建卷组

    1 创建一个物理卷 Pvcreate dev sd1 dev sd2 dev sd3 dev sd4 2 用刚才创建的物理卷创建一个卷组 Vgcreate 卷组名 dev sd1 dev sd2 dev sd3 dev sd4 3 创建逻辑
  • unix环境高级编程——文件IO

    本期主题 unix环境高级编程 文件IO 文件IO 0 引言 1 文件描述符 2 IO编程中常用的API接口 1 open函数 2 close函数 3 read函数 4 write函数 5 lseek函数 3 函数sync fsync和fd
  • 虚拟内存的最大容量与实际容量区别

    虚拟内存的最大容量与实际容量区别 1 概念介绍 虚拟内存的最大容量是计算机的地址结构 CPU寻址范围决定的 虚拟内存的实际容量是内存与外存之和 CPU寻址范围 两者的最小值 2 例题介绍 某计算机的地址结构是64位 按字节编址 内存大小51
  • RTX线程通信之——线程标志

    文章目录 Thread Flags 概念 RTX线程标志API 案例 LED灯同步闪亮 小结 参考资料 Thread Flags In a real application we need to be able to communicate
  • gpuz怎么看显存颗粒

    gpuz可以帮助一些用户查看电脑的一切显卡参数 对于想要了解显卡的网友来说使用起来是非常方便的 不过有些网友是刚开始使用 还不知道gpuz怎么看显存颗粒 下面小编就教下大家gpuz查看显存颗粒的方法 首先 显存颗粒是显存的物理存储组成单元
  • 虚拟机管理程序、虚拟化和云: 深入剖析 PowerVM 虚拟机管理程序

    预备知识 Power 是没有限制的虚拟化 一些企业打算依靠 PowerVM 虚拟化将多个工作负载整合到较少系统上 从而提高服务器利用率 降低成本 Power VM 为基于 Power Systems 平台的高级 RAS 功能和领先性能为 A
  • 操作系统PV操作及读者写者问题

    操作系统PV操作及读者写者问题 目录 1 信号量 2 P V操作原语可描述为以下式子 3 解释 4 互斥模式原理 5 同步模式原理 6 读者写者问题 1 信号量 PV操作与信号量的处理有关 信号量是表示资源的实体 是一个与队列有关的整型变量
  • JSON.stringify()

    JSON stringify 将一个JavaScript值 对象或者数组 转换为一个 JSON字符串 如果指定了replacer是一个函数 则可以选择性的替换值 或者如果指定了replacer是一个数组 可选择性的仅包含数组指定的属性 语法
  • Windows 添加永久静态路由

    route add p 10 10 0 0 mask 255 255 0 0 10 10 6 1 p 参数 p 即 persistent 的意思 p 表示将路由表项永久加入系统注册表
  • CF、SF、OF、ZF标志位

    没学汇编 这种题我真是做一道错一道 OF overflow flag 溢出标志位 溢出标志位 OF 1 表示带符号整数运算时结果发生溢出 对于无符号整数运算 OF没有意义 对于有符号数的溢出判断方式有 1 采用一位符号位 思想为 或 则为溢
  • 深入ftrace kprobe原理解析

    Linux krpobe调试技术是内核开发者专门为了编译跟踪内核函数执行状态所涉及的一种轻量级内核调试技术 利用kprobe技术 内核开发人员可以在内核的绝大多数指定函数中动态插入探测点来收集所需的调试状态信息而基本不影响内核原有的执行流程
  • Linux系统如何看目录属于哪个磁盘分区

    Linux是先有目录 再有磁盘分区 df h 目录 例如 没有挂载磁盘的目录 显示在系统盘 root iZ2ze57v3n0zma46zqiq8nZ sh 1 5 5 df h alidata Filesystem Size Used Av
  • Linux alien命令

    一 简介 alien是一个用于在各种不同的Linux包格式相互转换的工具 其最常见的用法是将 rpm转换成 deb 或者反过来 二 安装 http toutiao com a6188997768449360129 三 实例 http www
  • 自己动手写操作系统(一)

    本系列文章将一步步实现一个简单的操作系统 实验环境是在Linux系统下通过Bochs虚拟机运行我们自己写的操作系统 一 实验环境搭建 1 Ubuntu的安装 Windows用户可以选择在虚拟机中安装Ubuntu 具体安装教程可自行搜索 2
  • Windows驱动开发(一)第一个驱动程序

    首先我们需要了解 在操作系统中 是分两种权限的 一种是内核态 我们也称为0环 一种是用户态 称之为3环 而在我们的电脑中 驱动程序是运行在内核态的 这意味着和操作系统内核是在同一权限的 而普通的应用程序的权限是最低的 高权限谁不想拥有呢 因
  • 《深入理解计算机系统》实验四Architecture Lab

    前言 深入理解计算机系统 实验四Architecture Lab下载和官方文档机翻请看 深入理解计算机系统 实验四Architecture Lab下载和官方文档机翻 我觉得这个文档对整个实验很有帮助 如果你的Y86 64环境还没安装好可以看
  • java IO、NIO、AIO详解

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 一 IO流 同步 阻塞 二 NIO 同步 非阻塞 三 NIO2 异步 非阻塞 正文 回到顶部 概述 在我们学习Java的IO流之前 我们都要了解几个关键词 同步与异步 sy
  • 如何快速构建CMBD系统-glpi

    脚本后续更新及迭代将由kkitDeploy项目代替 https github com luckman666 kkitdeploy server 请大家持续关注kkitDeploy 一 CMBD系统构建步骤 起初 开发这套CMBD系统是为了帮
  • 【操作系统xv6】学习记录4-一级页表与二级页表

    占位

随机推荐

  • Level5#Unit2#Part1#Dialogue#The-Teenage-Years

    What 39 s so funny What are you writing about I 39 m writing about something I saw earlier this morning Really Do you ke
  • nginx环境wordpress 固定链接实现…

    开始几次设置wordpress的固定链接都没成功 xff0c 今天做松子价格网时不甘心 xff0c 试了几次OK了 其实nginx环境下设置wordpress固定链接 xff08 也叫伪静态 xff09 非常简单 xff08 我是用的是wo
  • 如何使用vb.net多线程

    可能一些小程序用不上 xff0c 单线程就可以完成 xff0c 但是很多程序往往需要多个线程同时操作 xff0c 或者用辅助线程来完成主线程的工作 xff0c 多线程对于一个程序员来说是一个必须逾越的槛 最近在写一个程序 xff0c 设备要
  • 准备自己做块飞控,先看看方案

    主要参考是CC3D和crazyflie 2 0 xff0c 双CPU xff1a STM32F405RG xff0c 和STM32F103相比 xff0c 支持浮点运算 xff0c 168MHz xff0c 片上存储空间大 xff0c 考虑
  • 转:如何获取某人的所在物理位置

    如何获取某人的所在物理位置 xff1f xff08 andorid手机GPS 基站定位 JSON获取基站定位信息 xff09 原文地址 xff1a http cyad blog 163 com blog static 54368792011
  • Excel“工程不可查看”及VBA工程密码…

    一 Excel 工程不可查看 两种实现方法及破解 关于Excel宏编程中 xff0c 要用到一些技巧 xff0c 如破解Excel宏加密 今天我对一个Excel宏编程中进行日期限制进行了破解 方法一 xff08 共用级锁定 xff09 1
  • vba给数组赋值

    39 向VBA数组中写入数据 39 1 按编号 标 写入和读取 Sub t1 39 写入一维数组 Dim x As Integer Dim arr 1 To 10 arr 2 61 190 arr 10 61 5 End Sub
  • 中兴光猫配置文件获取方法

    中兴光猫配置文件获取方法 http 192 168 1 1 manager dev config t gch 有些配置文件加密了 xff0c 还不好破解 网上有超级牛帖子 xff0c 不过想在好像web shell也关闭了 http www
  • wget下载百度网盘文件

    分享一下wget下载百度网盘文件 有些时候需要从网盘下比较大文件 xff0c 但是linux无法登陆百度网盘 xff08 当然如果使用了API xff09 可以获取下载链接 这里介绍简单的方法 xff0c 直接在百度网盘分享建立公共链接 然
  • sudo aptitude install…

    sudo aptitude install 这个方法可以解决破损包问题 Aptitude will give up less easily and will attempt to find solutions which may invol
  • centos 万兆网卡使用要点

    随着宽带技术的快速发展 xff0c 服务器使用万兆网卡的概率越来越高 最近装了几台服务器都用的万兆网卡 xff0c 为了图便宜 xff0c 网卡和模块都是淘宝上买的 xff0c 这部还真遇到不少问题 我的服务器都是centos6 4 64位
  • 实在受不了360流氓浏览器用了10年终于不用了

    360浏览器 xff0c 恶心广告 xff0c 垃圾软文越来越泛滥了 xff0c 实在让人受不了 用了近10年终于下决心抛弃了 大家看下恶心不 xff0c 天天都是这个
  • ESP-AT 系列: AT+MQTT 使用

    AT 工程 xff1a https github com espressif esp at AT 文档 xff1a https docs espressif com projects esp at zh CN latest MQTT AT
  • ESP8266 常见固件烧写失败原因和解决方法

    简介 在使用 ESP8266 进行开发时 读者或多或少都能遇到固件烧写失败情况 无论是官方提供的 windows 上 Flash 下载工具 还是 SDK 中提供的 esptool py 下面笔者提供几种常见的烧写失败的原因和对应解决方法 原
  • 基于ros的kcf目标跟随

    本文参考的是基于 大神的博客 https blog csdn net yiranhaiziqi article details 53303747 locationNum 61 10 amp fps 61 1 关于kcf追踪的ros库在git
  • ESP-AT 系列: HTTP 客户端功能

    AT 工程 xff1a https github com espressif esp at AT 文档 xff1a https docs espressif com projects esp at zh CN latest 简介 esp a
  • esptool.py 介绍和使用

    一 esptool py 简介 esptool py 是乐鑫提供的开源库工具 xff0c 用于乐鑫 ESP8285 ESP8266 ESP32 ESP32 S等系列芯片和 ROM Bootloader xff08 即 xff1a 一级 bo
  • 如何使用 Gitee 快速搭建 ESP-IDF 开发环境(Windows 版本)

    前言 为更好地服务国内用户 xff0c 构建中文需求沟通平台 xff0c 帮助用户快速下载乐鑫开源代码 xff0c 乐鑫将 GitHub 中的主要仓库 xff08 包含 ESP IDF ESP ADF ESP MDF 以及阿里 腾讯 京东等
  • ESP32-S3-USB-OTG 开发板首发限量预售

    ESP32 S3 USB OTG 开发板新品首发 xff0c 官方淘宝店 现已上新 预售限量 200 个 xff0c 欢迎选购 xff01 开发板搭载 ESP32 S3 MINI 1 N8 模组 xff0c 集成 ESP32 S3 的 EC
  • 乐鑫多系列芯片支持 NuttX 和 Zephyr 操作系统

    乐鑫芯片凭借丰富的功能和广阔的应用 xff0c 在物联网市场广受欢迎 乐鑫还为用户提供了一个物联网开发框架 ESP IDF xff0c 集成大量软件组件 xff0c 包括 RTOS 外设驱动程序 网络栈和多种协议实现技术等 开发者能够在乐鑫