es32 sdk 支持的 rtos 很多嵌入式应用都是基于微控制器(mcu/单片机)的小系统,其中大多不使用 os,也没有应用程序的基本框架。这导致嵌入式软件碎片化严重、开发效率低下。随着 aiot 时代的来临,嵌入式软件变得越来越复杂,传统“散乱”的开发模式面临着前所未有的挑战。一款优秀的实时操作系统(rtos)会使复杂的嵌入式系统软件开发变得简单且可靠,并且便于升级和维护。
东软载波微电子 es32 系列产品的 sdk 已经支持 freertos、rt-thread-nano和 huawei liteos 三款 rtos,并提供了丰富的内核用例。
es32 sdk 下载地址:(复制到浏览器打开)
http://www.essemi.com/index/product/detail?id=799
用户可以在 es32 sdk 的如下文件夹中找到三款 rtos 的用例:
freertos:
es32_sdk\projects\book2_example\freertos
rt-thread-nano:
es32_sdk\projects\book2_example\rt-thread-nano
huawei liteos:
es32_sdk\projects\book2_example\liteos
freertos、rt-thread 和 huawei liteos 简介 freertosfreertos由美国的richard barry于2003年发布,与众多半导体厂商合作密切,是目前市场占有率最高的rtos。遵循 gplv2+ 许可协议。
freertos仅仅只是一个操作系统内核,需外扩第三方的 gui(图形用户界面)、tcp/ip 协议栈、fs(文件系统)等组件才能实现较复杂的系统。不像 rt-thread 有丰富的组件和软件包生态,可以快速实现丰富多样 iot 系统。
rt-threadrt-thread 版权属于上海睿赛德电子科技有限公司,于 2006 年 1 月首次发 布,初始版本号为 0.1.0,经过10来年的发展,如今主版本号已经升级到 4.0.3, 累计开发者达到数百万,在各行各业产品中装机量达到了惊人的数亿台, 占据国产 rtos 的鳌头。其遵循 apache-2.0 开源授权模式。
rt-thread 整体结构如下:
它具体包括以下部分:
内核层:rt-thread 内核,是 rt-thread 的核心部分,包括了内核系统中对象的实现,例如多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等;libcpu/bsp(芯片移植相关文件 / 板级支持包)与硬件密切相关,由外设驱动和 cpu 移植构成。 组件与服务层:组件是基于 rt-thread 内核之上的上层软件,例如虚拟文件系统、finsh 命令行界面、网络框架、设备框架等。采用模块化设计,做到组件内部高内聚,组件之间低耦合。 rt-thread 软件包:运行于 rt-thread 物联网操作系统平台上,面向不同应用领域的通用软件组件,由描述信息、源代码或库文件组成。rt-thread 提供了开放的软件包平台,这里存放了官方提供或开发者提供的软件包,该平台为开发者提供了众多可重用软件包的选择,这也是 rt-thread 生态的重要组成部分。软件包生态对于一个操作系统的选择至关重要,因为这些软件包具有很强的可重用性,模块化程度很高,极大的方便应用开发者在最短时间内,打造出自己想要的系统。rt-thread 已经支持的软件包数量已经达到 300+。 ide:rt-thread studio rt-thread 内核结构如下:
内核处于硬件层之上,内核部分包括内核库、实时内核实现。
内核库是为了保证内核能够独立运行的一套小型的类似 c 库的函数实现子集。这部分根据编译器的不同自带 c 库的情况也会有些不同,当使用 gnu gcc 编译器时,会携带更多的标准 c 库实现。
huawei liteos 华为 liteos 是一款 “开源免费” 的实时操作系统,面向 iot 领域轻量级物联网操作系统, 广泛应用于智能家居、个人穿戴、车联网、城市公共服务、制造业等领域,大幅降低设备布置及维护成本,有效降低 开发门槛、缩短开发周期。遵循 bsd-3 开源许可协议。
liteos 整体结构如下:
主要包含以下组成部分:
基础内核:包括不可裁剪的极小内核和可裁剪的其他模块。极小内核包含任务管理、内存管理、中断管理、异常管理和系统时钟。可裁剪的模块包括信号量、互斥锁、队列管理、事件管理、软件定时器等。 内核增强:在内核基础功能之上,进一步提供增强功能,包括c++支持、调测组件等。调测组件提供了强大的问题定位及调测能力,包括shell命令、trace事件跟踪、获取cpu占用率、lms等。 文件系统:提供一套轻量级的文件系统接口以支持文件系统的基本功能,包括vfs、ramfs、fatfs等。 系统库接口:提供一系列系统库接口以提升操作系统的可移植性及兼容性,包括libc/libm/posix以及cmsis适配层接口。 网络协议栈:提供丰富的网络协议栈以支持多种网络功能,包括coap/lwm2m、mqtt等。 业务组件:构建于上述组件之上的一系列业务组件或框架,以支持更丰富的用户场景,包括ota、gui、ai、传感框架等。 ide:huawei liteos studio。 huawei liteos 内核结构如下:
huawei liteos 自开源社区发布以来,围绕 nb-iot 物联网市场从技术、生态、解决方案、商用支持等多维度使能合作伙伴,构建开源的物联网生态,目前已经聚合了 50+mcu 和解决方案合作伙伴,共同推出一批开源开发套件和行业解决 方案,帮助众多行业客户快速的推出物联网终端和服务,客户涵盖众多行业,为开发者提供 “一站式” 完整软件平台,有效降低开发门槛、缩短开发周期。
huawei liteos 基础内核包括不可裁剪的极小内核和可裁剪的其他模块。极小内核包含任务管理、内存管理、中断管理、异常管理和系统时钟。可裁剪的模块包括信号量、互斥锁、队列管理、事件管理、软件定时器等。huawei liteos 支持 up(单核)与 smp(多核)模式,即支持在单核或者多核的环境上运行。
freertos、rt-thread 和 liteos 内核对比
es32 sdk 支持的 rtos 内核用例 es32 sdk 为用户提供了 freertos、rt-thread-nano和 huawei liteos 的内核用例,如下图所示。用户可以通过这些用例学习 rtos 的使用。
共享汽车风口将至,巨大投资,盈利是痛点
维峰电子正式登陆深交所创业板
南亚科表示第4季DRAM需求转趋保守,下修今年资本支出约12.5%
【gcc编译优化系列】static与inline的区别与联系
小米6竟2个版本,大屏有双摄,最高6+128G,2499元
工程师笔记 | ES32 SDK 支持的 RTOS
光纤激光打标机的飞跃发展
嵌入式相关的基本概念汇总整理
中国联通正式公布异网短信网关服务采购事项
区块链技术最核心的价值是什么
消费类需求爆降,销售额大幅增长,MCU市场正面临两极分化
浅谈博途VASS06的CPU设置要求
QLC固态硬盘将成企业新宠!和Solidigm高管探讨未来企业级存储发展趋势
宽带固定衰减器的主要用途和指标
什么?国产航母都下水了,你还不知道军舰有哪些?!
ADAS 市场崛起,这家公司一已将深度学习网络应用到 ADAS 系统中
哪些时候运算放大器代替不了比较器
水电池修复
前方高能!如何拍出完美自拍照?华为nova5系列最强拍照神器你值得拥有
eSIM+MCU助力打造5G物联网行业爆品