成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OpenHarmony編譯構建系統—介紹新增組件以及組件模塊開發

系統 OpenHarmony
本文介紹了編譯構建系統的使用,新增組件的步驟,組件模塊開發的方法。在applications\sample目錄下新建component_demo目錄,之后在component_demo目錄下新建demo.c文件。

想了解更多關于開源的內容,請訪問:

51CTO 開源基礎軟件社區

https://ost.51cto.com

前言

本文介紹了編譯構建系統的使用,新增組件的步驟,組件模塊開發的方法。

新增組件

準備好開發套件。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

一、編寫組件源碼

在applications\sample目錄下新建component_demo目錄。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

之后在component_demo目錄下新建demo.c文件。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

開始編寫… 保存文件。

ps: 源碼各部分組成簡介可以看我的另一篇文章 https://ost.51cto.com/posts/25049。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

二、編寫編譯腳本

在component_demo目錄下新建BUILD.gn文件。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

開始編寫編譯腳本… 保存文件。

  • ps1: static_library是靜態庫 testdemo是庫名稱,最終會被編譯成libtestdemo.a。
  • ps2: sources 指定要編譯的demo.c源文件。
  • ps3: include_dirs是指定的include目錄 "http://"表示源碼根目錄,后面是目錄名稱。
  • ps4: 注意逗號。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

三、單獨編譯目標

打開虛擬機,找到1.1.3源碼根目錄,選擇在終端打開。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

查看具體用法。

hb build -h

ps:語法是 hb build -T 路徑 : 目標。

hb build -f -T //applications/sample/component_demo:testdemo

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

四、添加組件定義

回到VSCode 根據路徑 build\lite\components\applications.json 打開applications.json。

定義組件,保存文件。

ps1: targets是編譯入口 是源碼根目錄下的applications/sample/component_demo:testdemo。

ps2: adapted_kernel是適配內核。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

五、將組件配置到產品

根據路徑 vendor\hisilicon\hispark_pegasus\config.json 打開config.json 找到 “subsystem”: “applications” 進行配置,保存文件。

  • ps: 注意逗號。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

單獨編譯組件。

hb build -f testdemo

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

  • ps:在輕量系統中,單獨編譯的目標或組件,不能獨立運行,適合發現編譯錯誤。

燒錄運行的話,需要進行固件的全量編譯。

hb build -f

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

六、燒錄固件

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

七、運行

燒錄完成之后,打開MobaXterm,連接串口,重啟開發板。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

組件模塊開發

一、建立根目錄

根據路徑 applications\sample\wifi-iot\app 找到app目錄 新建gn_practice目錄。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

二、建立目錄樹

  • 應用程序模塊: application
  • 驅動模塊: driver
  • 庫模塊: library

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

三、編寫各模塊源碼

  • ps:每寫完一個文件記得保存。

先是application模塊,建立一個子模塊的c文件和頭文件。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

子模塊的c文件include對應的頭文件。

  • ps: 爆紅只需要點擊黃色小燈泡,添加到includePath即可 不會添加的可以看我的上一篇文章。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

新建一個主程序文件。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

編寫主程序文件。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

接下來是driver模塊和library模塊。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

在主程序文件include兩個模塊的頭文件。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

四、編寫各模塊腳本

先編寫application模塊腳本。

  • ps: cflags是編譯參數 這三種情況在默認編譯方式下是不允許的,會引發編譯錯誤,設置這三個參數后,編譯系統會把它們不當作錯誤來處理。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

接下來編寫driver和library模塊。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

五、定位組件編譯入口

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

applications\sample\wifi-iot\app\BUILD.gn。

修改三個模塊的編譯。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

六、編譯燒錄運行

設置:

hb set

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

編譯:

hb build -f

編譯成功。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

燒錄成功。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

運行成功。

【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區【OpenHarmony編譯構建系統】介紹新增組件以及組件模塊開發-開源基礎軟件社區

想了解更多關于開源的內容,請訪問:

51CTO 開源基礎軟件社區

https://ost.51cto.com

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2013-01-10 13:50:25

Android開發組件

2023-06-12 15:43:44

鴻蒙智能家居開發

2024-07-26 16:39:33

鴻蒙系統開源構建系統

2017-07-11 11:02:03

APP模塊化架構

2022-06-07 10:33:29

Camera組件鴻蒙

2023-08-24 16:45:16

應用開發父自定義組件

2023-03-09 15:15:21

鴻蒙模塊編譯

2021-12-02 10:05:01

鴻蒙HarmonyOS應用

2021-07-27 11:54:51

windows系統OpenHarmony

2023-04-26 15:29:35

NAPI模塊鴻蒙

2022-08-17 16:38:46

WLAN接口組件功能

2021-02-20 12:34:53

鴻蒙HarmonyOS應用開發

2023-07-28 15:32:26

鴻蒙操作系統

2021-06-28 09:38:50

鴻蒙HarmonyOS應用

2009-07-10 18:06:59

JTree Swing

2021-08-05 09:49:44

鴻蒙HarmonyOS應用

2022-02-14 14:14:02

鴻蒙數據可視化JS

2023-08-07 15:13:09

設備開發鴻蒙

2015-02-12 10:37:20

Dockerdocker生態系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产亚洲欧美日韩精品一区二区三区 | 国产精品自产拍 | 日韩成人中文字幕 | 97国产爽爽爽久久久 | 日日摸天天添天天添破 | 亚洲一区二区三区免费视频 | 日本视频在线播放 | 亚洲欧美中文日韩在线v日本 | 精品国产视频 | 欧洲视频一区 | 亚洲欧美视频一区 | 午夜视频一区二区 | 爱草视频 | 亚洲精品免费视频 | 亚洲福利在线观看 | 中文字幕免费观看 | 青青草一区| 国产精品久久福利 | 91国语清晰打电话对白 | 久久精品一区二 | 黑人成人网 | 麻豆一区二区三区精品视频 | 91视频播放| 国产精品3区 | 资源首页二三区 | 国产91精品久久久久久久网曝门 | 性福视频在线观看 | 亚洲3级| 国产精品久久久久久吹潮 | 亚洲综合99 | 国产成人小视频 | 亚洲一区二区电影网 | 在线中文字幕日韩 | 九九综合 | 久久久99国产精品免费 | 日韩中文字幕 | 久久久国 | 色天天综合| a国产视频 | 欧美理论 | 亚洲人成人一区二区在线观看 |