嵌入式技术
很多嵌入式应用都是基于微控制器(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
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 内核结构如下:
内核处于硬件层之上,内核部分包括内核库、实时内核实现。
内核库是为了保证内核能够独立运行的一套小型的类似 C 库的函数实现子集。这部分根据编译器的不同自带 C 库的情况也会有些不同,当使用 GNU GCC 编译器时,会携带更多的标准 C 库实现。
华为 LiteOS 是一款 “开源免费” 的实时操作系统,面向 IoT 领域轻量级物联网操作系统, 广泛应用于智能家居、个人穿戴、车联网、城市公共服务、制造业等领域,大幅降低设备布置及维护成本,有效降低 开发门槛、缩短开发周期。遵循 BSD-3 开源许可协议。
LiteOS 整体结构如下:
主要包含以下组成部分:
Huawei LiteOS 内核结构如下:
Huawei LiteOS 自开源社区发布以来,围绕 NB-IoT 物联网市场从技术、生态、解决方案、商用支持等多维度使能合作伙伴,构建开源的物联网生态,目前已经聚合了 50+MCU 和解决方案合作伙伴,共同推出一批开源开发套件和行业解决 方案,帮助众多行业客户快速的推出物联网终端和服务,客户涵盖众多行业,为开发者提供 “一站式” 完整软件平台,有效降低开发门槛、缩短开发周期。
Huawei LiteOS 基础内核包括不可裁剪的极小内核和可裁剪的其他模块。极小内核包含任务管理、内存管理、中断管理、异常管理和系统时钟。可裁剪的模块包括信号量、互斥锁、队列管理、事件管理、软件定时器等。Huawei LiteOS 支持 UP(单核)与 SMP(多核)模式,即支持在单核或者多核的环境上运行。
ES32 SDK 为用户提供了 FreeRTOS、RT-Thread-Nano和 Huawei LiteOS 的内核用例,如下图所示。用户可以通过这些用例学习 RTOS 的使用。
全部0条评论
快来发表一下你的评论吧 !