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

Openharmony輕量設(shè)備開發(fā)—潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用

系統(tǒng) OpenHarmony
在輕量系統(tǒng)中,單獨(dú)編譯的目標(biāo)或者是組件是不能夠獨(dú)立運(yùn)行的,這種編譯方式適合發(fā)現(xiàn)編譯錯(cuò)誤,但是要燒錄運(yùn)行的話,我們要進(jìn)行固件的全量編譯(hb build -f)。

想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問:

51CTO 開源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

在上一篇帖子中,我們學(xué)習(xí)了Openharmony輕量系統(tǒng)的編譯構(gòu)建https://ost.51cto.com/posts/25293,其中包括了子系統(tǒng),組件的核心理念、編譯構(gòu)建系統(tǒng)的配置規(guī)則等等。下面我們來學(xué)習(xí)一下編譯構(gòu)建系統(tǒng)的使用。

案例:新增組件

1、根據(jù)功能準(zhǔn)備開發(fā)套件

筆者使用的是潤和智能家居開發(fā)套件,連接主板和核心板。

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

2、編寫/合入組件源碼

編寫組件源碼:applications\sample\component_demo\demo.c。

1.在applications/sample下新建component_demo文件夾。

2.在component_demo文件夾下新建文件demo.c。

3.編寫如下代碼:

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

#include <stdio.h>
 #include "ohos_init.h"
 void entry(void)
 {
   printf("I am a component.\r\n");
 }
 SYS_RUN(entry);

其中:

  • #include “ohos_init.h” 是Openharmony的特有頭文件,它在utils\native\lite\include\ohos_init.h中,在開發(fā)中,它提供了一系列入口,用于初始化服務(wù)(services)和功能(features)。
  • SYS_RUN(entry) 的意思是讓entry函數(shù)以“優(yōu)先級(jí)2”在系統(tǒng)啟動(dòng)過程中的“階段4.system startup”階段執(zhí)行。

3、編寫組件編譯腳本

編寫組件編譯腳本:在applications\sample\component_demo下新建BUILD.gn文件,編寫如下代碼。

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

static_library("TestComponent"){

   sources = [ "demo.c" ]

   include_dirs = [
       "http://utils/native/lite/include",
   ]
}
  • static_library為靜態(tài)庫,“TestComponent"是庫名稱,最終被編譯為"libTestComponent.a”。
  • sources里面存放的是源文件。
  • include_dirs里存放的是include目錄,包括"ohos_init.h"等頭文件。

單獨(dú)編譯目標(biāo)

在組件源碼和編譯腳本完成之后,我們可以嘗試單獨(dú)編譯目標(biāo)。

首先我們來看一下hb的用法:

打開虛擬機(jī),進(jìn)去Openharmony的源碼目錄,鼠標(biāo)右鍵選擇在終端中打開,輸入如下命令:

hb build -h

顯示如下:

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

語法:
hb build -T 路徑:目標(biāo)

在上面的例子中:
語法為:

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

注意:-T是要大寫的。

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

可以看到,編譯成功完成。

4、添加組件定義

作為一個(gè)組件,必須要注冊(cè)到一個(gè)子系統(tǒng)中,Openharmony才會(huì)意識(shí)到你的存在。
具體內(nèi)容可以看上一篇帖子:https://ost.51cto.com/posts/25293找到build\lite\components\applications.json

添加如下定義:

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

{
      "component":"TestComponent",
      "description":"A test component",
      "optional":"true",
      "dirs":[
        "applications/sample/component_demo"
      ],
      "targets":[
        "http://applications/sample/component_demo:TestComponent"
      ],
      "adapted_kernel":["liteos_m"]
    },

添加的內(nèi)容解釋如下:

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

5、將組件配置到產(chǎn)品

找到vendor\hisilicon\hispark_pegasus\config.json,添加如下配置:

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

接著我們?cè)賮韱为?dú)編譯組件,這與前面編譯目標(biāo)的效果一樣(目標(biāo)就是一個(gè)組件),這樣會(huì)快捷。

語法:

hb build 組件名稱

在終端中輸入如下命令

hb build -f TestComponent

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

編譯結(jié)果如上。

這樣就不用像之前那樣想要編譯一個(gè)組件,還需要它的路徑,會(huì)更快捷方便。

6、編譯產(chǎn)品

在輕量系統(tǒng)中,單獨(dú)編譯的目標(biāo)或者是組件是不能夠獨(dú)立運(yùn)行的,這種編譯方式適合發(fā)現(xiàn)編譯錯(cuò)誤,但是要燒錄運(yùn)行的話,我們要進(jìn)行固件的全量編譯(hb build -f)。

接下來我們進(jìn)行全量編譯:
執(zhí)行以下命令:

hb build -f

編譯成功結(jié)果如下:

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

7、燒錄固件

下面就到了我們熟悉的地方,燒錄固件,筆者這里采用的是Hiburn燒錄工具,相關(guān)細(xì)節(jié)可以看我這篇貼子:https://ost.51cto.com/posts/25292下面給出燒錄成功之后的樣子:

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

燒錄完成后,點(diǎn)擊disconnect,然后關(guān)閉Hiburn燒錄工具。

8、運(yùn)行

運(yùn)行我們采用的是MobaXterm串口終端工具。相關(guān)細(xì)節(jié)可以看我這篇帖子:https://ost.51cto.com/posts/25292下面給出運(yùn)行結(jié)果:

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

可以看到,成功的編譯運(yùn)行了剛剛的component_demo組件.總結(jié):新增組件的案例就是按照這1-8個(gè)步驟來完成。再次附上子系統(tǒng)的構(gòu)建模型,希望大家能有更深的理解。

【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)【Openharmony輕量設(shè)備開發(fā)】潤和智能家居套件-編譯構(gòu)建系統(tǒng)的使用-開源基礎(chǔ)軟件社區(qū)

想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問:

51CTO 開源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

責(zé)任編輯:jianghua 來源: 51CTO 開源基礎(chǔ)軟件社區(qū)
相關(guān)推薦

2023-07-28 15:32:26

鴻蒙操作系統(tǒng)

2023-04-25 16:30:58

設(shè)備開發(fā)鴻蒙

2022-01-24 18:43:20

OpenHarmon操作系統(tǒng)鴻蒙

2023-04-03 15:39:31

2022-01-21 21:22:24

OpenHarmon操作系統(tǒng)鴻蒙

2023-04-24 15:11:51

系統(tǒng)開發(fā)鴻蒙

2023-03-24 14:39:17

鴻蒙系統(tǒng)開發(fā)

2022-02-09 19:45:41

MQTTOpenHarmon鴻蒙

2022-06-09 14:40:14

系統(tǒng)移植鴻蒙

2022-01-24 18:35:56

OpenHarmon鴻蒙操作系統(tǒng)

2018-09-19 16:20:17

智能系統(tǒng)開源

2020-11-24 10:05:54

人工智能

2024-01-15 11:07:18

2022-02-08 15:21:59

Hi3861開發(fā)鴻蒙

2022-04-15 14:31:02

鴻蒙操作系統(tǒng)

2022-07-01 10:28:24

智能家居網(wǎng)絡(luò)安全漏洞

2022-02-10 15:07:10

云平臺(tái)OpenHarmon系統(tǒng)開發(fā)

2023-05-06 15:41:00

人體傳感器數(shù)據(jù)鴻蒙

2020-11-10 12:08:25

開發(fā)框架

2019-12-24 19:31:27

智能家居物聯(lián)網(wǎng)技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩久久在线 | 亚洲免费观看视频网站 | 亚洲视频在线播放 | 欧美精品一区三区 | 欧美成人精品激情在线观看 | 亚洲精品一区二区三区在线 | 狠狠色综合久久婷婷 | 日韩美女爱爱 | 毛片a级毛片免费播放100 | 日韩精品在线网站 | 免费高清av | 欧产日产国产精品国产 | 亚洲不卡在线观看 | 国产精品一区二区在线 | 伊人网综合在线 | av中文字幕在线观看 | 91视频进入 | 亚洲成人中文字幕 | 久久久www| 成人免费黄视频 | 精品视频999 | 日批的视频 | 久久久亚洲一区 | 狠狠操狠狠干 | 91精品国产91久久久久久最新 | 精品91 | 中文字幕中文字幕 | 99亚洲精品| 久久久久网站 | 看毛片网站| 久久久久网站 | 欧美一区成人 | 欧美精品久久久久久久久老牛影院 | 亚洲免费在线视频 | 国产精品高清一区二区三区 | 国产精品久久久久aaaa樱花 | 午夜视频在线免费观看 | 久久www免费视频 | 欧美日韩在线视频一区 | 天天干天天草 | 国产一级毛片精品完整视频版 |