LiteOS和RTOS 系统选型分析

一,​LiteOS​系统分析

(1),硬件支持与资源需求

  • ‌LiteOS-M ‌:面向微控制器(MCU),支持Cortex-M3/M4/M7、RISC-V等架构,典型硬件配置为内存≤128KB(部分可扩展至256KB)、Flash≤256KB,不支持内存管理单元(MMU)‌。
  • ‌LiteOS-A ‌:面向应用处理器,支持Cortex-A等带MMU的架构(如Hi3518EV300、Hi3516DV300),内存需求≥1MB(推荐2MB及以上),支持内存隔离与进程管理‌34。

(2),内核架构与设计理念

  • ‌LiteOS-M‌:典型微内核(Microkernel)设计,仅保留任务调度、IPC、内存管理等核心功能,文件系统、网络协议栈等以用户态组件形式运行,故障隔离性好,适合资源极度受限场景‌。
  • ‌LiteOS-A‌:基于微内核思想演进的"轻量级宏内核"(混合内核),集成文件系统、网络协议栈、图形引擎等功能至内核态,减少用户态/内核态切换开销,平衡性能与资源占用‌。‌
  • ‌C核(Cortex-A) ‌:就是上面的‌LiteOS-A‌,面向中高端应用处理器,支持‌**内存管理单元(MMU)**‌,可实现内存隔离、虚拟内存,适用于资源丰富的场景(内存≥1MB)‌。
  • ‌**M核(Cortex-M)**‌:面向微控制器(MCU),无MMU,资源受限(内存≥128KB,典型≤256KB),聚焦低功耗和实时性‌。

(3),功能特性与系统安全性

  • ‌LiteOS-M‌:不支持MMU,内核与应用共享地址空间,应用崩溃可能导致系统故障;不支持POSIX接口,开源软件兼容性有限‌。
  • ‌LiteOS-A‌:支持MMU,实现内核与应用内存隔离、多应用空间隔离,系统健壮性更高;兼容POSIX接口,可直接运行大量开源软件‌。

(4),应用场景

  • ‌LiteOS-M‌:适用于超低功耗、简单功能设备,如传感器、智能穿戴、智能家居小设备等‌35。
  • ‌LiteOS-A ‌:面向中等资源能力设备,如智能音箱、摄像头、工业控制模块等,需兼顾功能丰富度与实时性‌。

(5),liteos代码路径分析

1,移植LiteOS:

LiteOS/doc/LiteOS_Porting_Guide.md at master · LiteOS/LiteOS · GitHub

2,维测

doc/LiteOS_Maintenance_Guide.md · Huawei LiteOS/LiteOS - 码云 - 开源中国

3,代码路径

M核代码

https://github.com/openharmony/kernel_liteos_m

git clone https://gitcode.com/openharmony/kernel_liteos_m.git

C核代码(LiteOS-A‌)

https://github.com/openharmony/kernel_liteos_a.git

git clone https://gitcode.com/openharmony/kernel_liteos_a.git

二, freertos系统分析

‌(1)、移植难度:适配性强,门槛低‌

FreeRTOS支持40+处理器架构(如ARM Cortex-M/RISC-V、8051等),官方提供标准化移植模板(如port.c、portmacro.h),核心移植仅需实现上下文切换、中断处理等底层接口。社区资源丰富,针对不同芯片的移植案例(如STM32、ESP32)可直接参考,尤其适合非华为生态的硬件平台,移植周期短、难度低‌24。

‌(2)、Flash占用:灵活可控,基础功能约10-20KB‌

FreeRTOS内核Flash占用随功能裁剪动态变化:

  • ‌最小配置‌(仅任务调度、信号量):约10KB,适合资源极度受限的8位/16位MCU;
  • ‌标准配置‌(含消息队列、定时器):约15-20KB;
  • ‌扩展功能 ‌(如事件组、内存管理):需额外增加5-10KB。
    可通过FreeRTOSConfig.h关闭非必要功能(如钩子函数、低功耗模式),进一步压缩体积,适配Flash≥32KB的场景‌。

‌(3)、内存需求:RAM占用适中,支持动态管理‌

  • ‌RAM最小需求‌:核心调度功能仅需几KB(如任务栈、系统堆),典型场景下(3-5个任务)约10-20KB;
  • ‌动态内存管理 ‌:支持堆内存动态分配(pvPortMalloc),可通过configTOTAL_HEAP_SIZE配置堆大小,适配RAM≥16KB的设备;
  • ‌静态内存优化 ‌:支持静态任务创建(xTaskCreateStatic),避免堆碎片,适合对内存稳定性要求高的场景‌。

(4),代码路径

git clone https://github.com/FreeRTOS/FreeRTOS.git --recurse-submodules

三,rtos系统Liteos 和freertos的对比分析

(1)移植难度:FreeRTOS更易适配,LiteOS依赖华为生态‌

  • ‌FreeRTOS‌:移植门槛低,支持40+处理器架构(如ARM Cortex-M/RISC-V),官方提供标准化移植模板,社区资源丰富,适配新硬件时可参考大量开源案例‌12。
  • ‌LiteOS‌:虽支持ARM Cortex-A/M系列,但对非华为合作芯片的适配文档较少,移植需依赖华为官方SDK或自行开发底层驱动,适合华为生态内硬件(如海思芯片)‌2。

‌结论‌:非华为系硬件优先选FreeRTOS,华为生态设备可考虑LiteOS。

(2)Flash占用:LiteOS更轻量,FreeRTOS略高但灵活‌

  • ‌LiteOS‌:内核Flash占用极小(<10KB),组件高度模块化,仅保留核心功能时可进一步压缩,适合Flash资源极度受限(如<32KB)的场景‌1。
  • ‌FreeRTOS‌:内核Flash约10-20KB,基础组件(如任务调度、信号量)需额外占用空间,但可通过裁剪移除非必要功能(如钩子函数、低功耗模式),灵活性更高‌1。

‌结论‌:Flash≤32KB选LiteOS,需灵活扩展功能选FreeRTOS。

(3)内存需求:LiteOS更省RAM,FreeRTOS适配范围更广‌

  • ‌LiteOS‌:RAM占用极低(最小可至几KB),专为低功耗IoT设备优化,适合RAM≤16KB的微控制器(如8位/16位MCU)‌1。
  • ‌FreeRTOS‌:RAM需求略高(典型10-40KB),但支持动态内存管理,可通过配置堆大小适配不同资源场景,从8位MCU到中高端处理器均能覆盖‌12。

‌结论‌:RAM≤16KB选LiteOS,需动态内存管理或资源较充裕(RAM≥20KB)选FreeRTOS。

相关推荐
女神下凡9 小时前
芯参谋(61):PMSM永磁同步电机驱动电路设计指南
arm开发·单片机·嵌入式硬件·硬件工程·设计规范
早八晚十啊10 小时前
基于ARM Cortex-A53与LVGL 9.0的智能车载系统设计与实现
arm开发·车载系统
a59865211 小时前
ARM服务器部署Docker云手机,多开实例性能实测
服务器·arm开发·docker·云手机
a59865211 小时前
ARM服务器搭建云手机教程|原生ARM架构,消除指令转译损耗
arm开发
XMAIPC_Robot2 天前
ARM+FPGA+AI船舶/工业自动化控制器EMC测试等级解析(IEC60533/IEC60945)
arm开发·人工智能·fpga开发·zynq·arm+fpga·rk3588+fpga
奔跑的架构师2 天前
[A-51]ARMv9/v8-SCMI系统架构
linux·arm开发·架构·系统架构·arm
玄芯散人2 天前
【元婴·94】ARM vs RISC-V大战
arm开发·risc-v
szxinmai主板定制专家2 天前
ZYNQ PL+PS 架构拆解|工业自动化与电力物联网高速数据采集、预处理与协议上云
arm开发·人工智能·物联网·fpga开发·数据采集卡·rk3576
szxinmai主板定制专家3 天前
告别 ARM 实时性短板:基于 ZYNQ 的电力故障录波 + 工业振动数据采集系统设计
arm开发·人工智能·fpga开发·zynq·数据采集卡·arm+fpga·rk3588+fpga
Awh-3 天前
ARM 裸机开发 DAY11 学习笔记
arm开发·笔记·学习