10d163575Sopenharmony_ci# LiteOS-A內核<a name="ZH-CN_TOPIC_0000001096612501"></a>
20d163575Sopenharmony_ci
30d163575Sopenharmony_ci- [簡介](#section11660541593)
40d163575Sopenharmony_ci- [目錄](#section161941989596)
50d163575Sopenharmony_ci- [約束](#section119744591305)
60d163575Sopenharmony_ci- [使用說明](#section741617511812)
70d163575Sopenharmony_ci- [準備](#section1579912573329)
80d163575Sopenharmony_ci- [獲取源碼](#section11443189655)
90d163575Sopenharmony_ci- [編譯構建](#section2081013992812)
100d163575Sopenharmony_ci- [貢獻](#section1371123476304)
110d163575Sopenharmony_ci- [相關倉](#section1371113476307)
120d163575Sopenharmony_ci
130d163575Sopenharmony_ci## 簡介<a name="section11660541593"></a>
140d163575Sopenharmony_ci
150d163575Sopenharmony_ciOpenHarmony LiteOS-A內核是基於Huawei LiteOS內核演進發展的新一代內核,Huawei LiteOS是面向IoT領域構建的輕量級物聯網操作系統。在IoT產業高速發展的潮流中,OpenHarmony LiteOS-A內核能夠帶給用戶小體積、低功耗、高性能的體驗以及統一開放的生態系統能力,新增了豐富的內核機制、更加全面的POSIX標準接口以及統一驅動框架**HDF**(OpenHarmony Driver Foundation)等,為設備廠商提供了更統一的接入方式,為OpenHarmony的應用開發者提供了更友好的開發體驗。圖1為OpenHarmony LiteOS-A內核架構圖:
160d163575Sopenharmony_ci
170d163575Sopenharmony_ci**圖 1** OpenHarmony LiteOS-A內核架構圖<a name="fig27311582210"></a>
180d163575Sopenharmony_ci
190d163575Sopenharmony_ci![](figures/OpenHarmony-LiteOS-A内核架构图.png "OpenHarmony-LiteOS-A內核架構圖")
200d163575Sopenharmony_ci
210d163575Sopenharmony_ci## 目錄<a name="section161941989596"></a>
220d163575Sopenharmony_ci
230d163575Sopenharmony_ci```
240d163575Sopenharmony_ci/kernel/liteos_a
250d163575Sopenharmony_ci├── apps # 用戶態的init和shell應用程序
260d163575Sopenharmony_ci├── arch # 體系架構的目錄,如arm等
270d163575Sopenharmony_ci│ └── arm # arm架構代碼
280d163575Sopenharmony_ci├── bsd # freebsd相關的驅動和適配層模塊代碼引入,例如USB等
290d163575Sopenharmony_ci├── compat # 內核接口兼容性目錄
300d163575Sopenharmony_ci│ └── posix # posix相關接口
310d163575Sopenharmony_ci├── drivers # 內核驅動
320d163575Sopenharmony_ci│ └── char # 字符設備
330d163575Sopenharmony_ci│ ├── mem # 訪問物理IO設備驅動
340d163575Sopenharmony_ci│ ├── quickstart # 系統快速啟動接口目錄
350d163575Sopenharmony_ci│ ├── random # 隨機數設備驅動
360d163575Sopenharmony_ci│ └── video # framebuffer驅動框架
370d163575Sopenharmony_ci├── fs # 文件系統模塊,主要來源於NuttX開源項目
380d163575Sopenharmony_ci│ ├── fat # fat文件系統
390d163575Sopenharmony_ci│ ├── jffs2 # jffs2文件系統
400d163575Sopenharmony_ci│ ├── include # 對外暴露頭文件存放目錄
410d163575Sopenharmony_ci│ ├── nfs # nfs文件系統
420d163575Sopenharmony_ci│ ├── proc # proc文件系統
430d163575Sopenharmony_ci│ ├── ramfs # ramfs文件系統
440d163575Sopenharmony_ci│ └── vfs # vfs層
450d163575Sopenharmony_ci├── kernel # 進程、內存、IPC等模塊
460d163575Sopenharmony_ci│ ├── base # 基礎內核,包括調度、內存等模塊
470d163575Sopenharmony_ci│ ├── common # 內核通用組件
480d163575Sopenharmony_ci│ ├── extended # 擴展內核,包括動態加載、vdso、liteipc等模塊
490d163575Sopenharmony_ci│ ├── include # 對外暴露頭文件存放目錄
500d163575Sopenharmony_ci│ └── user # 加載init進程
510d163575Sopenharmony_ci├── lib # 內核的lib庫
520d163575Sopenharmony_ci├── net # 網絡模塊,主要來源於lwip開源項目
530d163575Sopenharmony_ci├── platform # 支持不同的芯片平台代碼,如Hi3516DV300等
540d163575Sopenharmony_ci│ ├── hw # 時鐘與中斷相關邏輯代碼
550d163575Sopenharmony_ci│ ├── include # 對外暴露頭文件存放目錄
560d163575Sopenharmony_ci│ └── uart # 串口相關邏輯代碼
570d163575Sopenharmony_ci├── security # 安全特性相關的代碼,包括進程權限管理和虛擬id映射管理
580d163575Sopenharmony_ci├── syscall # 系統調用
590d163575Sopenharmony_ci└── tools # 構建工具及相關配置和代碼
600d163575Sopenharmony_ci```
610d163575Sopenharmony_ci
620d163575Sopenharmony_ci## 約束<a name="section119744591305"></a>
630d163575Sopenharmony_ci
640d163575Sopenharmony_ci- 開發語言:C/C++;
650d163575Sopenharmony_ci- 適用於Hi3516DV300單板;
660d163575Sopenharmony_ci- Hi3516DV300默認使用FAT文件系統。
670d163575Sopenharmony_ci
680d163575Sopenharmony_ci## 使用說明<a name="section741617511812"></a>
690d163575Sopenharmony_ci
700d163575Sopenharmony_ciOpenHarmony LiteOS-A內核支持[Hi3516DV300](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-appendix-hi3516.md)單板,開發者可基於此單板開發運行自己的應用程序。
710d163575Sopenharmony_ci
720d163575Sopenharmony_ci### 準備<a name="section1579912573329"></a>
730d163575Sopenharmony_ci
740d163575Sopenharmony_ci開發者需要在Ubuntu上搭建編譯環境:
750d163575Sopenharmony_ci
760d163575Sopenharmony_ci- [編譯環境凖備](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/Readme-CN.md);
770d163575Sopenharmony_ci
780d163575Sopenharmony_ci### 獲取源碼<a name="section11443189655"></a>
790d163575Sopenharmony_ci
800d163575Sopenharmony_ci在Ubuntu服務器上下載並解壓一套源代碼,源碼獲取方式參考[源碼獲取](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md)。
810d163575Sopenharmony_ci
820d163575Sopenharmony_ci### 編譯構建<a name="section2081013992812"></a>
830d163575Sopenharmony_ci
840d163575Sopenharmony_ci開發者開發第一個應用程序可參考:[helloworld for Hi3516DV300](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-pkg-3516-helloworld.md)。
850d163575Sopenharmony_ci
860d163575Sopenharmony_ci編譯可以參考:[編譯指導](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-pkg-3516-build.md)
870d163575Sopenharmony_ci
880d163575Sopenharmony_ci## 貢獻<a name="section1371123476304"></a>
890d163575Sopenharmony_ci
900d163575Sopenharmony_ci[如何貢獻](https://gitee.com/openharmony/docs/blob/HEAD/zh-cn/contribute/%E5%8F%82%E4%B8%8E%E8%B4%A1%E7%8C%AE.md)
910d163575Sopenharmony_ci
920d163575Sopenharmony_ci[Commit message規範](https://gitee.com/openharmony/kernel_liteos_a/wikis/Commit%20message%20%E8%A7%84%E8%8C%83)
930d163575Sopenharmony_ci
940d163575Sopenharmony_ci[OpenHarmony C&C++ 安全編程指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/contribute/OpenHarmony-c-cpp-secure-coding-guide.md)
950d163575Sopenharmony_ci
960d163575Sopenharmony_ci[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)
970d163575Sopenharmony_ci
980d163575Sopenharmony_ci## 相關倉<a name="section1371113476307"></a>
990d163575Sopenharmony_ci
1000d163575Sopenharmony_ci[內核子系統](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)
1010d163575Sopenharmony_ci
1020d163575Sopenharmony_ci[drivers\_liteos](https://gitee.com/openharmony/drivers_liteos/blob/master/README_zh.md)
1030d163575Sopenharmony_ci
1040d163575Sopenharmony_ci[kernel\_liteos\_a](https://gitee.com/openharmony/kernel_liteos_a/blob/master/README_zh-HK.md) 
105