1# LiteOS-A内核<a name="ZH-CN_TOPIC_0000001096612501"></a> 2 3- [简介](#section11660541593) 4- [目录](#section161941989596) 5- [约束](#section119744591305) 6- [使用说明](#section741617511812) 7- [准备](#section1579912573329) 8- [获取源码](#section11443189655) 9- [编译构建](#section2081013992812) 10- [贡献](#section1371123476304) 11- [相关仓](#section1371113476307) 12 13## 简介<a name="section11660541593"></a> 14 15OpenHarmony LiteOS-A内核是基于Huawei LiteOS内核演进发展的新一代内核,Huawei LiteOS是面向IoT领域构建的轻量级物联网操作系统。在IoT产业高速发展的潮流中,OpenHarmony LiteOS-A内核能够带给用户小体积、低功耗、高性能的体验以及统一开放的生态系统能力,新增了丰富的内核机制、更加全面的POSIX标准接口以及统一驱动框架**HDF**(OpenHarmony Driver Foundation)等,为设备厂商提供了更统一的接入方式,为OpenHarmony的应用开发者提供了更友好的开发体验。图1为OpenHarmony LiteOS-A内核架构图: 16 17**图 1** OpenHarmony LiteOS-A内核架构图<a name="fig27311582210"></a> 18![](figures/OpenHarmony-LiteOS-A内核架构图.png "OpenHarmony-LiteOS-A内核架构图") 19 20## 目录<a name="section161941989596"></a> 21 22``` 23/kernel/liteos_a 24├── apps # 用户态的init和shell应用程序 25├── arch # 体系架构的目录,如arm等 26│ └── arm # arm架构代码 27├── bsd # freebsd相关的驱动和适配层模块代码引入,例如USB等 28├── compat # 内核接口兼容性目录 29│ └── posix # posix相关接口 30├── drivers # 内核驱动 31│ └── char # 字符设备 32│ ├── mem # 访问物理IO设备驱动 33│ ├── quickstart # 系统快速启动接口目录 34│ ├── random # 随机数设备驱动 35│ └── video # framebuffer驱动框架 36├── figures # 内核架构图 37├── fs # 文件系统模块,主要来源于NuttX开源项目 38│ ├── fat # fat文件系统 39│ ├── jffs2 # jffs2文件系统 40│ ├── include # 对外暴露头文件存放目录 41│ ├── nfs # nfs文件系统 42│ ├── proc # proc文件系统 43│ ├── ramfs # ramfs文件系统 44│ └── vfs # vfs层 45├── kernel # 进程、内存、IPC等模块 46│ ├── base # 基础内核,包括调度、内存等模块 47│ ├── common # 内核通用组件 48│ ├── extended # 扩展内核,包括动态加载、vdso、liteipc等模块 49│ ├── include # 对外暴露头文件存放目录 50│ └── user # 加载init进程 51├── lib # 内核的lib库 52├── net # 网络模块,主要来源于lwip开源项目 53├── platform # 支持不同的芯片平台代码,如Hi3516DV300等 54│ ├── hw # 时钟与中断相关逻辑代码 55│ ├── include # 对外暴露头文件存放目录 56│ └── uart # 串口相关逻辑代码 57├── security # 安全特性相关的代码,包括进程权限管理和虚拟id映射管理 58├── shell # 接收用户输入的命令,内核去执行 59├── syscall # 系统调用 60├── testsuilts # 测试套件 61└── tools # 构建工具及相关配置和代码 62``` 63 64## 约束<a name="section119744591305"></a> 65 66- 开发语言:C/C++; 67- 适用于Hi3516DV300单板; 68- Hi3516DV300默认使用FAT文件系统。 69 70## 使用说明<a name="section741617511812"></a> 71 72OpenHarmony LiteOS-A内核支持[Hi3516DV300](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-appendix-hi3516.md)单板。开发者可基于此单板开发运行自己的应用程序。 73 74### 准备<a name="section1579912573329"></a> 75 76开发者需要在Ubuntu上搭建编译环境: 77 78- [编译环境准备](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/Readme-CN.md); 79 80### 获取源码<a name="section11443189655"></a> 81 82在Ubuntu服务器源码获取方式参考: [源码获取](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md)。 83 84### 编译构建<a name="section2081013992812"></a> 85 86如果这是您的首次应用程序开发,可参考:[helloworld for Hi3516DV300](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-pkg-3516-helloworld.md)。 87 88编译可以参考:[编译指导](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-pkg-3516-build.md) 89 90## 贡献<a name="section1371123476304"></a> 91 92[如何贡献](https://gitee.com/openharmony/docs/blob/HEAD/zh-cn/contribute/%E5%8F%82%E4%B8%8E%E8%B4%A1%E7%8C%AE.md) 93 94[Commit message规范](https://gitee.com/openharmony/kernel_liteos_a/wikis/Commit%20message%20%E8%A7%84%E8%8C%83) 95 96[OpenHarmony C&C++ 安全编程指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/contribute/OpenHarmony-c-cpp-secure-coding-guide.md) 97 98[LiteOS-A 内核编码规范指南](https://gitee.com/openharmony/kernel_liteos_a/wikis/LiteOS-A%20%E5%86%85%E6%A0%B8%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83%E6%8C%87%E5%8D%97) 99 100## 相关仓<a name="section1371113476307"></a> 101 102[内核子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E5%86%85%E6%A0%B8%E5%AD%90%E7%B3%BB%E7%BB%9F.md) 103 104[drivers\_liteos](https://gitee.com/openharmony/drivers_liteos/blob/master/README_zh.md) 105 106[kernel\_liteos\_a](https://gitee.com/openharmony/kernel_liteos_a/blob/master/README_zh.md) 107 108