当前位置:   article > 正文

OpenHarmony源码的目录及简单说明_openharmony目录结构

openharmony目录结构

kernel_liteos_a:揭开神秘的面纱!

在这里插入图片描述
怎么感觉跟linux内核有点相似,kernel fs lib net arch是一样的

内核子系统

简介
OpenHarmony内核是华为推出面向IoT领域的实时操作系统内核,它同时具备RTOS轻快和Linux易用的特点。

OpenHarmony内核主要包括进程和线程调度、内存管理、IPC机制、timer管理等内核基本功能。

OpenHarmony内核的源代码分为 kernel_liteos_a 和 kernel_liteos_m 这2个代码仓库,其中kernel_liteos_a主要针对Cortex-A系列处理器,而kernel_liteos_m则主要针对Cortex-M系列处理器,两者目录结构非常相似,所以下面主要针对kernel_liteos_a代码仓库进行介绍。
在这里插入图片描述

目录(2022)

/kernel/liteos_a
├── apps # 用户态的init和shell应用程序
├── arch # 体系架构的目录,如arm等
│ └── arm # arm架构代码
├── bsd # freebsd相关的驱动和适配层模块代码引入,例如USB等
├── compat # 内核接口兼容性目录
│ └── posix # posix相关接口
├── drivers # 内核驱动
│ └── char # 字符设备
│ ├── mem # 访问物理IO设备驱动
│ ├── quickstart # 系统快速启动接口目录
│ ├── random # 随机数设备驱动
│ └── video # framebuffer驱动框架
├── figures # 内核架构图
├── fs # 文件系统模块,主要来源于NuttX开源项目
│ ├── fat # fat文件系统
│ ├── jffs2 # jffs2文件系统
│ ├── include # 对外暴露头文件存放目录
│ ├── nfs # nfs文件系统
│ ├── proc # proc文件系统
│ ├── ramfs # ramfs文件系统
│ └── vfs # vfs层
├── kernel # 进程、内存、IPC等模块
│ ├── base # 基础内核,包括调度、内存等模块
│ ├── common # 内核通用组件
│ ├── extended # 扩展内核,包括动态加载、vdso、liteipc等模块
│ ├── include # 对外暴露头文件存放目录
│ └── user # 加载init进程
├── lib # 内核的lib库
├── net # 网络模块,主要来源于lwip开源项目
├── platform # 支持不同的芯片平台代码,如Hi3516DV300等
│ ├── hw # 时钟与中断相关逻辑代码
│ ├── include # 对外暴露头文件存放目录
│ └── uart # 串口相关逻辑代码
├── security # 安全特性相关的代码,包括进程权限管理和虚拟id映射管理
├── shell # 接收用户输入的命令,内核去执行
├── syscall # 系统调用
├── testsuilts # 测试套件
└── tools # 构建工具及相关配置和代码

约束
Hi3518EV300默认使用jffs2文件系统,Hi3516DV300默认使用vfat文件系统。若要使用其他文件系统,需要新增适配。

使用
请参考《内核使用指南》。

涉及仓
drivers_liteos

kernel_liteos_a

kernel_liteos_a_huawei_proprietary_fs_proc

kernel_liteos_m

来源:https://openharmony.gitee.com/openharmony
https://gitee.com/openharmony/docs/blob/master/readme/%E5%86%85%E6%A0%B8%E5%AD%90%E7%B3%BB%E7%BB%9FREADME.md

OpenHarmony轻内核

OpenHarmony轻内核基础功能

进程
线程
内存
网络
OpenHarmony轻内核文件系统

VFS
NFS
RAMFS
FAT
JFFS2
标准库

标准库
与Linux标准库的差异
调测

Shell介绍

Shell命令开发指导

Shell命令编程实例

Shell命令使用详解

系统命令

cpup
date
dmesg
exec
free
help
hwi
kill
log
memcheck
oom
pmm
reset
sem
stack
su
swtmr
systeminfo
task
uname
vmm
watch
文件命令

cat
cd
chgrp
chmod
chown
cp
format
ls
lsfd
mkdir
mount
partinfo
partition
pwd
rm
rmdir
statfs
sync
touch
writeproc
umount
网络命令

arp
dhclient
dns
ifconfig
ipdebug
netstat
ntpdate
ping
ping6
telnet
tftp
魔法键使用方法

用户态异常信息说明
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号