0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【XR806開發(fā)板試用】+4.OpenHarmony編譯順序

冬至子 ? 來源:還沒吃飯 ? 作者:還沒吃飯 ? 2023-12-11 14:02 ? 次閱讀

大家好,今天我們來談一談編程時一個很有趣的話題——編譯順序。

首先呢,得看看這個"vendor/xradio/xr806/config.json",這可是個關(guān)鍵角色。它就像是一個交通警察,告訴編譯器:“嘿,你得先編譯這個,然后再編譯那個?!逼渲械?product_name"就是交通警察手中的指揮棒,它決定了執(zhí)行hb set時會出現(xiàn)的選項。

而"device_company"、"board"、"kernel_type"這三位則是一同決定了代碼的行走路徑。

當(dāng)你用hb set選定了"wifi_skylark"后,就會在根目錄中生成一個叫做ohos_config.json的文件。這個文件就像是一張地圖,上面清楚地標(biāo)明了各個代碼文件應(yīng)該放置的位置。這樣,編譯器就知道去哪里找這些代碼了。

然后,當(dāng)你執(zhí)行hb build -f命令時,HarmonyOS的編譯腳本就會從device_path中獲取編譯工具和編譯選項,從product_path下尋找BUILD.gn文件。這個過程就像是在準備一場演出,編譯工具是音響設(shè)備,編譯選項是音量調(diào)節(jié)器,而BUILD.gn文件則是節(jié)目單。

BUILD.gn文件中的內(nèi)容可是相當(dāng)精彩的。其中build_ext_component("libSDK")就像是一個大明星,有很多依賴項需要先行準備。這些依賴項就像是它的伴舞團隊和樂隊,得提前到位才能確保演出的順利進行。

同樣的道理也適用于group("xr806")和ohosdemo/BUILD.gn中的內(nèi)容。這些文件和文件夾都需要按照一定的順序進行編譯,才能確保整個程序的順利運行。

最后呢,當(dāng)你打開hello_demo/BUILD.gn時,你會看到import("http://device/xradio/xr806/liteos_m/config.gni")這句話。這就像是在演出開始前,主持人走上臺說:“感謝大家的支持,現(xiàn)在我們開始演出!”然后,static_library("app_hello")就像是第一個節(jié)目,閃亮登場!

你想想看,一群代碼如果不按照順序來,豈不是亂成一鍋粥了?好在Harmony給我們提供了明確的編譯順序,讓代碼們可以乖乖排隊,一個個等待被編譯。

所以說啊,編譯順序可是個大學(xué)問。只有掌握了正確的順序,才能讓代碼們和諧共處,共同演繹出一場精彩的程序運行秀!

以XR806_OpenHarmony為例,當(dāng)你通過hb set選定wifi_skylark后,會在根目錄中生成一個叫ohos_config.json的文件。這個文件里主要包括以下內(nèi)容:

{
 "root_path": "/home/workspace/Harmony_XR806",
 "board": "xr806",
 "kernel": "liteos_m",
 "product": "wifi_skylark",
 "product_path": "/home/workspace/Harmony_XR806/vendor/xradio/xr806",
 "device_path": "/home/workspace/Harmony_XR806/device/xradio/xr806/liteos_m"
}

然后,當(dāng)你執(zhí)行hb build -f時,HarmonyOS的編譯腳本就會從device_path中獲取編譯工具和編譯選項,然后從product_path下尋找BUILD.gn文件。

現(xiàn)在讓我們看看這個BUILD.gn文件的內(nèi)容:

build_ext_component("libSDK") {
  exec_path = rebase_path(".", root_build_dir)
  outdir = rebase_path("$root_out_dir")
  command = "./build.sh ${outdir}"
  deps = [
      "http://kernel/liteos_m:kernel",       #(3)
      "os:liteos_glue",
      "adapter/hals:adapter",
      "adapter/console:app_console",
      "ohosdemo:ohosdemo",              #(2)
  ]
}

group("xr806") {
    deps = [
        ":libSDK"       #(1)
    ]
}

這里有三個需要注意的地方:

1.deps關(guān)鍵字代表執(zhí)行g(shù)roup("xr806")前需要先執(zhí)行l(wèi)ibSDK,也就是build_ext_component("libSDK")。

2.在執(zhí)行build_ext_component("libSDK")前,需要先找到ohosdemo文件夾下的BUILD.gn,并且這個文件里會有ohosdemo的定義。

3.//代表絕對路徑,可以理解為根目錄。比如//kernel/liteos_m代表根目錄下的kernel/liteos_m文件夾。

最后,關(guān)于演示部分:

XR806_OpenHarmony串口默認配置為:波特率115200,無校驗,8位數(shù)據(jù)位,1位停止位。開發(fā)板成功連接PC上對串口調(diào)試助手后按下開發(fā)板的復(fù)位按鍵串口輸出。這段文字描述了如何配置串口以及如何通過串口輸出信息。

當(dāng)你連接開發(fā)板到PC并使用串口調(diào)試助手進行調(diào)試時,你可以通過發(fā)送復(fù)位信號來啟動應(yīng)用程序,然后你將看到“Hello World!”消息輸出到串口上。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 調(diào)節(jié)器
    +關(guān)注

    關(guān)注

    5

    文章

    848

    瀏覽量

    46417
  • 串口輸出
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    7490
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3722

    瀏覽量

    16320
  • xr806
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    1323
收藏 人收藏

    評論

    相關(guān)推薦

    XR806開發(fā)板適用】基于多源信息融合的糧食霉變檢測系統(tǒng)設(shè)計

    XR806開發(fā)板具有強大的數(shù)據(jù)處理和傳輸能力,廣泛應(yīng)用于物聯(lián)網(wǎng)和嵌入式系統(tǒng)開發(fā)。
    的頭像 發(fā)表于 10-27 17:06 ?941次閱讀
    【<b class='flag-5'>XR806</b><b class='flag-5'>開發(fā)板</b>適用】基于多源信息融合的糧食霉變檢測系統(tǒng)設(shè)計

    基于全志XR806開發(fā)板的家用環(huán)境監(jiān)測傳感器設(shè)計

    本文來自全志XR806開發(fā)板評測活動文章,作者使用XR806開發(fā)板制作一個簡單的家用環(huán)境監(jiān)測傳感器,可以獲取當(dāng)前的溫度、濕度、氣壓、海拔這四個參數(shù),同時能夠通過外部的屏幕實時顯示刷新。
    的頭像 發(fā)表于 12-03 10:20 ?675次閱讀
    基于全志<b class='flag-5'>XR806</b><b class='flag-5'>開發(fā)板</b>的家用環(huán)境監(jiān)測傳感器設(shè)計

    如何使用XR806開發(fā)板來設(shè)計一個糧食霉變檢測系統(tǒng)?

    XR806開發(fā)板具有強大的數(shù)據(jù)處理和傳輸能力,廣泛應(yīng)用于物聯(lián)網(wǎng)和嵌入式系統(tǒng)開發(fā),
    的頭像 發(fā)表于 01-05 17:30 ?834次閱讀
    如何使用<b class='flag-5'>XR806</b><b class='flag-5'>開發(fā)板</b>來設(shè)計一個糧食霉變檢測系統(tǒng)?

    OpenHarmony南向嵌入式:【XR806開發(fā)板指導(dǎo)文檔】

    XR806_OpenHarmony開發(fā)板是基于XR806芯片設(shè)計開發(fā)的參考評估,身集成了XR806
    的頭像 發(fā)表于 04-14 09:25 ?771次閱讀
    <b class='flag-5'>OpenHarmony</b>南向嵌入式:【<b class='flag-5'>XR806</b><b class='flag-5'>開發(fā)板</b>指導(dǎo)文檔】

    XR806芯片、XR806開源鴻蒙開發(fā)板簡介

    ??蓮V泛滿足 智能家居、智慧樓宇、工業(yè)互聯(lián)、兒童玩具、電子競賽、極客DIY 等領(lǐng)域的無線連接需求。芯片框圖芯片參數(shù)XR806開源鴻蒙開發(fā)板介紹XR806開發(fā)板是基于
    發(fā)表于 11-15 17:08

    XR806芯片、XR806開源鴻蒙開發(fā)板簡介

    ??蓮V泛滿足 智能家居、智慧樓宇、工業(yè)互聯(lián)、兒童玩具、電子競賽、極客DIY 等領(lǐng)域的無線連接需求。芯片框圖芯片參數(shù)XR806開源鴻蒙開發(fā)板介紹XR806開發(fā)板是基于
    發(fā)表于 11-15 18:32

    【資料釋放】全志XR806開發(fā)板全資料釋放,連bomlist都給出來了

    ://www.openharmony.cn/#/supportDevices/XR8061.硬件bomlist包含核心和底板兩個部分核心:底板:完整excel文檔下載:
    發(fā)表于 12-06 14:06

    XR806開發(fā)板下載代碼時遇到錯誤fatal: Cannot get該怎么辦

    XR806開發(fā)板試用】下載代碼時遇到如下錯誤 fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle請問大家
    發(fā)表于 12-28 06:21

    【資料合集】全志XR806開發(fā)板全部資料

    3.軟件SDK——OpenHarmony/鴻蒙XR806開發(fā)板支持L0(輕量設(shè)備)級別的鴻蒙系統(tǒng)全部代碼已經(jīng)從gitee開源gittee倉庫鏈接:https://gitee.com
    發(fā)表于 03-10 14:59

    OpenHarmony開發(fā)樣例】基于全志XR806開發(fā)板開發(fā)的智能門鎖

    參考 連接IOT云平臺指南;智能設(shè)備與數(shù)字管家應(yīng)用之間的設(shè)備模型定義可以參考profile .2. 實物簡介: 如上圖所示,上面是XR806開發(fā)板,中間的是hcsr04超聲波距離傳感器,下面
    發(fā)表于 03-11 10:29

    如何下載xr806鴻蒙代碼并編譯?

    gcc-arm-none-eabi-10-2020-q4-major-src.tar.bz2  2.2  改編譯工具鏈路徑    改成  ~/workspace/chenkunyao/xr806_openharmony2/to
    發(fā)表于 03-11 16:02

    用deepin進行xr806開發(fā)板開發(fā)

    為了防止后面一些玄學(xué)問題,就放棄在deepin上進行xr806開發(fā)了,還是老老實實的在ubuntu上吧.相同的操作,在ubuntu20是,就沒有問題。由于下載源碼時,正好原官方倉庫不可用,就使用了臨時
    發(fā)表于 11-17 10:50

    XR806開發(fā)板試用】留言功能開發(fā)

    XR806開源鴻蒙開發(fā)板是一款基于XR806芯片設(shè)計,高度集成WiFi/BLE/常用外設(shè),可供開發(fā)者進行方案評估、DIY或小規(guī)模產(chǎn)品研發(fā),可廣泛應(yīng)用于智能家居、智能樓宇、智能城市和工業(yè)
    的頭像 發(fā)表于 10-08 10:58 ?676次閱讀

    XR806開發(fā)板試用】FreeRTOS創(chuàng)建任務(wù)測試

    這篇來學(xué)習(xí)下,XR806開發(fā)板在FreeRTOS系統(tǒng)下創(chuàng)建兩個任務(wù)測試,由于沒有找到學(xué)習(xí)的文檔,試著參考例程來測試。
    的頭像 發(fā)表于 10-10 11:47 ?644次閱讀
    【<b class='flag-5'>XR806</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>】FreeRTOS創(chuàng)建任務(wù)測試

    全志XR806開發(fā)板原理圖

    全志XR806開發(fā)板原理圖
    發(fā)表于 10-19 15:11 ?12次下載