OpenHarmony系统编程————内核概述
OpenHarmony内核采用多内核设计,支持LiteOS和Linux两种内核。LiteOS分为LiteOS-M(面向MCU设备,128KiB内存)和LiteOS-A(支持MMU隔离)两个版本,具有轻量级、低功耗特点。Linux内核适用于内存≥128MB的标准系统。LiteOS-M采用分层架构,支持ARM Cortex-M系列和RISC-V等主流CPU架构,提供任务管理、内存管理等基础功能,适用于
内核概述
OpenHarmony(鸿蒙)内核是OpenHarmony操作系统的核心组成部分,它采用了分层设计,从下向上依次为内核层、系统服务层、框架层和应用层。内核层作为最底层,提供了系统的基础功能和资源管理能力。
1.1内核设计
OpenHarmony内核层采用了多内核设计,支持针对不同资源受限设备选用适合的OS内核。具体来说,OpenHarmony提供了LiteOS和Linux两种内核选项:
1.1.1 基于LiteOS内核
LiteOS-M内核:
- 特性:面向IoT领域的轻量级物联网操作系统内核,具有小体积、低功耗、高性能的特点。它主要面向MCU类处理器(如Arm Cortex-M、RISC-V 32位)的设备,支持的设备最小内存为128KiB。LiteOS-M内核架构包含硬件相关层和硬件无关层,硬件相关层提供统一的HAL接口,硬件无关层则包括基础内核模块和扩展模块,提供网络、文件系统等组件能力。LiteOS-M内核代码结构简单,它支持多任务,采用抢占式调度机制,支持32个优先级,并提供任务管理、内存管理、中断管理等功能。
- 应用场景:适用于对资源要求极为苛刻的物联网设备,如智能家居、穿戴设备等。
LiteOS-A内核:
- 特性:主要应用于小型系统,面向设备一般是M级内存,可支持MMU隔离。LiteOS-A内核在LiteOS-M的基础上增加了更多功能,如虚拟内存、系统调用、多核、轻量级IPC等,使得其能够支持更复杂的应用场景。
- 应用场景:适用于对性能有一定要求的物联网设备,如智能音箱、智能摄像头等。
1.2 基于Linux内核
适用于标准系统类设备(参考内存≥128MB),OpenHarmony选择Linux内核作为基础内核。Linux内核从LTS版本中选择合适的版本作为内核的基础版本,目前已完成对Linux-4.19及Linux-5.10的适配及支持。Linux内核为OpenHarmony提供了丰富的系统功能和强大的性能支持。
1.3 LiteOS-M 内核介绍
咱们编译内核是LiteOS-M:

1、LiteOS-M内核架构图:

2、LiteOS-M内核CPU体系架构支持
CPU体系架构分为通用架构定义和特定架构定义两层,通用架构定义层为所有体系架构都需要支持 和实现的接口,特定架构定义层为特定体系架构所特有的部分。在新增一个体系架构的时候,必须 需要实现通用架构定义层,如果该体系架构还有特有的功能,可以在特定架构定义层来实现。

LiteOS-M 已经支持ARM Cortex-M3、ARM Cortex-M4、ARM Cortex-M7、ARM Cortex-M33、RISC-V等主流 架构。
3、LiteOS-M内核启动流程

更多推荐
所有评论(0)