OpenHarmonyLiteOS-A 源码目录

Posted 嵌入式up笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenHarmonyLiteOS-A 源码目录相关的知识,希望对你有一定的参考价值。

文章目录

【OpenHarmony】LiteOS-A 源码目录

华为的 OpenHarmony 鸿蒙生态包含了三个系统,根据面向的对象不同,分为轻量级系统、小型系统、标准系统,其中轻量级系统面向资源较少的 MCU 之类的芯片,比如 STM32、GD32 等芯片,小型系统面向 MPU 一些小型微处理器,比如 IMX6ULL、全志H3 等芯片,而标准系统则面向一些更高级的芯片,比如高通骁龙870、麒麟9000等芯片,这三个系统运行基于的内核也不相同,区别如下:

系统级别轻量系统小型系统标准系统
LiteOS×
Linux×

轻量级系统使用的 LiteOS-M 内核,不支持 Linux,小型系统则可以基于 LiteOS-A 和 Linux 内核,标准系统目前只支持 Linux 内核,这个在未来会替换为 LiteOS 的内核,这个未来离我们应该不久,本篇文章就分析一下目前 OpenHarmony 开源代码中 LiteOS-A 源码的内核目录,OpenHarmony 开源仓库链接:Gitee OpenHarmony 仓库,目前有 3w 多开发者关注,仓库活跃度很高,潜力很强!

代码文件目录如下:

一、apps

该目录存放了用户态的 init 初始化程序,以及和 shell 相关的应用程序

二、arch

存放了 arm 架构相关的代码,以及中断管理相关代码

三、bsd

FreeBSD 相关的驱动和适配层模块代码引入

FreeBSD 是一种类 UNIX操作系统,是由经过 BSD、386BSD 和 4.4BSD 发展而来的Unix的一个重要分支。FreeBSD 为不同架构的计算机系统提供了不同程度的支持,由于 FreeBSD 宽松的法律条款,其代码被其他很多系统借鉴

四、compat

POSIX 相关内核接口

POSIX 标准目的是为了提供源码级的软件可移植性。一个系统提供了 POSIX 接口,则任何其它的系统可以通过 POSIX 调用该系统

五、drivers

内核驱动代码,分别对应块设备驱动、字符设备驱动、内存设备驱动

六、fs

文件系统模块,存放文件系统相关模块:

七、kernel

内核相关代码

  • base:基础内核,包括调度、内存等模块
  • commom:内核通用组件
  • extended:扩展内核,包括动态加载、vdso、liteipc等模块
  • include:对外暴露头文件存放目录
  • user:加载init进程

八、lib

内核的 lib 库,用于存放内核的一些调用库

十、net

网络模块,主要来源于lwip开源项目

十一、platform

支持不同的芯片平台代码

十二、security

安全特性相关的代码

十三、syscall

系统调用相关代码

十四、tools

构建工具及相关配置和代码:

十五、其他顶层文件

build.sh:构建脚本

makefile:顶层 makefile

以上是关于OpenHarmonyLiteOS-A 源码目录的主要内容,如果未能解决你的问题,请参考以下文章

鸿蒙轻内核源码分析:虚拟内存

Android 跨进程通信-AIDL中的代理模式之源码分析

kotlin协程硬核解读(2. 协程基础使用&源码浅析)

kotlin协程硬核解读(2. 协程基础使用&源码浅析)

kotlin协程硬核解读(2. 协程基础使用&源码浅析)

kotlin协程硬核解读(2. 协程基础使用&源码浅析)