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 源码目录的主要内容,如果未能解决你的问题,请参考以下文章