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

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

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

openharmony 運行代碼操作

丫丫119 ? 來源:未知 ? 作者:肖冰 ? 2021-06-21 19:46 ? 次閱讀

openharmony 運行代碼操作

openharmony 運行代碼,本文主要介紹windows環(huán)境下OpenHarmony社區(qū)代碼操作:代碼下載,開發(fā)環(huán)境搭建,版本編譯,燒寫,掛載,代碼運行,上庫等完整操作流程總結(jié);

本文以xts_acts倉庫,Hi3516開源板子操作為例。

主要操作是在Ubuntu子系統(tǒng)操作,本地只有HiTool版本燒寫和代碼編輯工具Visual Studio Code(操作過程中有些安裝包和軟件獲取不便的,可以直接找我獲?。?/p>

OpenHarmony社區(qū)文檔:https://device.harmonyos.com/cn/docs/

代碼倉庫地址:https://openharmony.gitee.com

OpenHarmony_Hi3861Ubuntu編譯環(huán)境搭建測試套編譯用例執(zhí)行操作總結(jié):

https://blog.csdn.net/nanzhanfei/article/details/115841263

OpenHarmony-Hi3518EV300掛載燒寫:

https://blog.csdn.net/nanzhanfei/article/details/115834734?spm=1001.2014.3001.5501

openharmony 運行代碼,目錄

Windows環(huán)境中準(zhǔn)備Ubuntu

獲取OpenHarmony源碼

編譯

燒寫

NFS掛載

windows本地代碼編輯

代碼上庫

提交失敗項解決

附件

Windows環(huán)境中準(zhǔn)備Ubuntu

使用Windows10的WSL的Ubuntu子系統(tǒng),網(wǎng)上有很多安裝的分享,這里不做介紹,也可按照以下InsStep直接安裝,默認(rèn)安裝是安裝在系統(tǒng)盤下的,具體路徑如下,所有Ubuntu的內(nèi)容都在這個路徑下。

C:\Users\username\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\rootfs

InsStep:

1.打開設(shè)置->安全和更新->開發(fā)者選項,選擇為“開發(fā)人員模式”;

2.Win + R運行control appwiz.cpl指令,在啟用或關(guān)閉Windows功能中勾選適用于Linux的Windows子系統(tǒng)和虛擬機平臺兩項啟用,重啟;

3.微軟商店搜索Ubuntu安裝,安裝完畢直接啟動并設(shè)置初始用戶名密碼便可以進入Ubuntu子系統(tǒng);

這里介紹一下如何將安裝好的Ubuntu子系統(tǒng)從系統(tǒng)盤遷移到指定的目錄,本文將其遷移到D:\Ubuntu目錄下。

Ubuntu子系統(tǒng)安裝成功后,進行遷移操作,操作如下:

1.需要下載LxRunOffline,下載地址,下載文件LxRunOffline-v3.5.0-mingw.zip,然后解壓到某個目錄中

2.設(shè)置環(huán)境變量,在系統(tǒng)變量Path中添加LxRunOffline解壓的目錄(.exe所在的目錄)

3.重啟電腦,使環(huán)境變量生效

4.Win + R運行cmd,輸入LxRunOffline,如果顯示下面的提示證明已經(jīng)安裝成功了

5.Win + R運行cmd,輸入LxRunOffline list查看子系統(tǒng)版本

6.復(fù)制上面的版本號,然后輸入LxRunOffline move -n {version} -d {dir},{version}是版本號,{dir}是遷移目的目錄,比如本文是20版本,遷移到D盤Ubuntu目錄下,LxRunOffline move -n Ubuntu-20.04 -d D:\Ubuntu,然后回車,等待遷移完成,10分鐘左右。

這樣,整個Ubuntu子系統(tǒng)就遷移到了指定目錄下了。

openharmony 運行代碼,獲取OpenHarmony源碼

Ubuntu環(huán)境下:

1.Linux開發(fā)環(huán)境準(zhǔn)備

參考 安裝Linux編譯環(huán)境 https://device.harmonyos.com/cn/docs/start/introduce/oem_minitinier_environment_lin-0000001105407498

2.python環(huán)境

Ubuntu20已自帶python3.8.5,執(zhí)行sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150切換python3:

安裝pip3

$ sudo apt-get -y update

$ sudo apt-get install python3-pip

其他所需庫參考開源文檔使用pip3安裝即可。或者直接依次執(zhí)行下面命令:

$ sudo pip3 install kconfiglib

$ sudo pip3 install pycryptodome

$ sudo pip3 install six --upgrade --ignore-installed six

$ sudo pip3 install ecdsa

安裝gn,ninja,LLVM參考開源文檔傻瓜安裝即可;

源碼獲取

1.碼云gitee賬號注冊,SSH公鑰注冊,git客戶端配置參考開源文檔介紹配置即可,https://device.harmonyos.com/cn/docs/start/get-code/oem_sourcecode_guide-0000001050769927

2.安裝碼云repo工具:

$ su root -----------身份驗證失敗,執(zhí)行 sudo passwd,設(shè)置root密碼即可。

$ sudo passwd

$ su root

# curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo

# chmod a+x /usr/local/bin/repo

# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple reques

獲取OpenHarmony主干代碼

repo init -u https://gitee.com/openharmony/manifest.git -b ssh/master --no-repo-verify

repo sync -c -j16

repo forall -c 'git lfs pull'

如圖:

獲取OpenHarmony release分支代碼

repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify

repo sync -c -j16

repo forall -c 'git lfs pull'

如圖:

編譯

1.安裝hb

$ python3 -m pip install --user build/lite

$ vim ~/.bashrc

填加:export PATH=~/.local/bin:$PATH

source ~/.bashrc

編譯:

以Hi3516DV300板子為例:

1.Hi3516環(huán)境搭建:編譯依賴基礎(chǔ)軟件、文件打包工具、hc-gen、Java 虛擬機環(huán)境安裝 點擊參考開源文檔Hi3516環(huán)境搭建 流式安裝即可

2.編譯版本

repo sync 更新代碼

hb set

回車

選擇ipcamera_hispark_taurus@hisilicon

hb build

等待編譯完成

編譯完成所在路徑:D:\Ubuntu\rootfs\home\alex\openharmony_master\out\hispark_taurus\ipcamera_hispark_taurus\

版本燒寫所需文件:OHOS_Image.bin,rootfs_vfat.img,userfs_vfat.img

燒寫

openharmony 運行代碼,使用Hitool工具燒寫:

1.登錄Hihope官網(wǎng)下載Hi3516-HiTool安裝包解壓到本地

Windows環(huán)境雙擊HiTool.exe即可打開;

2.點擊鏈接下載USB-to-Serial Comm Port驅(qū)動程序

點擊安裝包,安裝驅(qū)動程序。

驅(qū)動安裝完成后,將Hi3516開源板子連接到PC上,重新插拔USB接口,串口信息顯示如下圖所示(如果初次查看設(shè)備管理沒有端口,請安裝CH341SER.EXE驅(qū)動)。

3.連接網(wǎng)線,進行小網(wǎng)Ip設(shè)置

4.燒寫

打開hitool燒寫工具,按照如下配置燒寫:

下電上電等待燒寫成功:

PS:板子第一次燒寫需要燒寫fastboot,uboot文件(Hi3516DV300為例)可從device/hisilicon/hispark_taurus/sdk_liteos/uboot/out/boot獲?。?/p>

參數(shù):開始地址 0 長度 1M

其他板子的uboot文件所在路徑同樣路徑獲取即可:

如圖,燒寫成功,板子正常啟動:

NFS掛載

說明:hanewin官網(wǎng)下載的最新版本的nfs1.2.59,安裝使用時會存在Unable to open file ×××.xml的情況,可自行下載安裝其他舊的nfs版本,自測hanewin_nfs_server_V1.1.69和hanewin_nfs_server_1.2.19都可以,同樣流程安裝即可正常使用,安裝包也可從附件中獲取。

1.控制面板——系統(tǒng)和安全——Windows Defender防火墻——高級設(shè)置——入站規(guī)則——新建規(guī)則(勾選端口next——TCP——特定本地端口,添加111,1058,2049 next——允許連接next——勾選域、專用、共用 next)——為該規(guī)則定義一個名字haneWinTcp——完成。

2.hanewin官網(wǎng)下載最新版本的nfs server安裝包

3.雙擊.exe安裝;

4.安裝成功后,到安裝所在路徑下,以管理員方式運行NFS Server:

5.配置

6.設(shè)置保存后,重啟NFS服務(wù)

7.掛載

使用Xshell或其他工具,連接3516的板子:

掛載:

創(chuàng)建掛載目錄:/test_root/kernel

完成掛載:mount 192.168.1.3:/mnt /test_root/kernel nfs

windows本地代碼編輯

1.下載安裝代碼編輯工具Visual Studio Code,點擊下載;

2.安裝一些常用插件;

3.直接從本地Ubuntu目錄打開打開代碼文件編輯即可;

編輯后,編譯,以某個測試套用例為例:

將編譯好的可執(zhí)行文件放到掛載目錄下:

執(zhí)行

代碼上庫

1.登錄碼云fork代碼xts_acts倉

2.簽署“貢獻者許可協(xié)議”(CLA)

3.創(chuàng)建本地分支:repo start branch_name --all

4.查看修改:git status

5.git add .

6.git commit -sm "xxxxxx" //xxxxx為提交信息描述

ps:

參考:https://gitee.com/openharmony/docs/blob/master/zh-cn/contribute/%E8%B4%A1%E7%8C%AE%E6%B5%81%E7%A8%8B.md

7.git push https://gitee.com/碼云用戶名/xts_acts upup:refs/heads/kernel_lite_20210402_3

其中,碼云用戶名是自己注冊碼云的名稱,xts_acts是fork的代碼倉,upup是Ubuntu本地repo建的分支,kernel_lite__20210405是分支標(biāo)簽,自己隨便建,不創(chuàng)建默認(rèn)是maser分支(這是給碼云遠端個人倉本次提交所創(chuàng)建的分支)。

說明:第一次push,需要輸入username和password,用戶名輸入碼云用戶名,密碼是碼云登錄密碼;輸入后回車,重新執(zhí)行g(shù)it push操作即可。

8.新建Pull Request將遠端個人倉庫同步到主干倉:

注意:這兒是從遠端fork的個人倉中同步(下圖左邊源分支這兒是個人碼云用戶名,而不是OpenHarmony),不知道的按如下操作:個人賬戶中點擊個人主頁——選擇xts_acts——Pull Request——新建Pull Request——選擇源分支同步到目標(biāo)分支;

評論輸入start build,代碼開始構(gòu)建:自動觸發(fā)編譯和測試以及靜態(tài)檢查,全部通過后,會有審核人員審核合入;

如圖已成功合入的:

至此,代碼已成功上庫合入,如果有編譯或測試或靜態(tài)檢查失敗,以同樣流程修改后重新上庫。

提交失敗項解決

1.靜態(tài)檢查失?。?/p>

失敗項查看:

按照失敗項本地修改后重新提交

2.編譯測試項失敗:

編譯失敗較少,一般提交前本地最好編譯測試通過,編譯失敗查看,點擊后面的report會自動下載編譯內(nèi)容;

測試失敗查看:

3.解決后重新提交:

git add .

git commit --amend

git push https://gitee.com/碼云用戶名/xts_acts upup:refs/heads/kernel_lite_20210402_3 --force

說明:

修改后,追加提交,只需要git push時在前面git push 信息的后面加上 --force,這樣修改追加提交的內(nèi)容就會自動同步到前面創(chuàng)建的pr里,不需要重新在創(chuàng)建新的PR,然后評論輸入start build,開始構(gòu)建即可。

遠端個人倉分支管理:

4.特殊情況:

靜態(tài)檢查無法修改的,比如誤報,測試對象本身問題等,在評論去說明情況即可,審核人會審核合入;

碼云工具問題導(dǎo)致失敗的情況,聯(lián)系工具的人解決恢復(fù)后,評論輸入start build 重新觸發(fā)構(gòu)建即可。

附件

提供了一些用到的軟件安裝包,可直接下載使用:

點擊下載

————————————————

版權(quán)聲明:本文為CSDN博主「@_南先森」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/nanzhanfei/article/details/115409538

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

    關(guān)注

    25

    文章

    3548

    瀏覽量

    15741
收藏 人收藏

    評論

    相關(guān)推薦

    【龍芯2K0300蜂鳥板試用】OpenHarmony代碼

    收到龍芯2K0300蜂鳥開發(fā)板后,對開發(fā)板做了一些了解和研究,現(xiàn)將OpenHarmony代碼提供給大家測試,也希望大家能更多的認(rèn)識龍芯2K0300蜂鳥開發(fā)板,下面先簡單介紹一下這塊開發(fā)板。 廣東
    發(fā)表于 09-18 11:42

    【開源鴻蒙】使用QEMU運行OpenHarmony輕量系統(tǒng)

    本文將會介紹如何從源碼安裝QEMU 6.2.0,以及如何使用QEMU運行OpenHarmony輕量系統(tǒng)。通過本文,你將會對QEMU和OpenHarmony輕量系統(tǒng)又一個初步的認(rèn)知,并對如何使用QEMU又一個初步的理解和體會。
    的頭像 發(fā)表于 09-14 08:51 ?211次閱讀
    【開源鴻蒙】使用QEMU<b class='flag-5'>運行</b><b class='flag-5'>OpenHarmony</b>輕量系統(tǒng)

    400萬!深開鴻OpenHarmony主倉代碼貢獻量再創(chuàng)里程碑!

    2024年7月8日,據(jù)OpenAtomOpenHarmony(以下簡稱“OpenHarmony”)官網(wǎng)顯示,深開鴻在OpenHarmony社區(qū)主倉代碼貢獻總量超過400萬行,在華為以外
    的頭像 發(fā)表于 07-09 08:33 ?202次閱讀
    400萬!深開鴻<b class='flag-5'>OpenHarmony</b>主倉<b class='flag-5'>代碼</b>貢獻量再創(chuàng)里程碑!

    【開源鴻蒙】下載OpenHarmony 4.1 Release源代碼

    本文介紹了如何下載開源鴻蒙(OpenHarmony操作系統(tǒng) 4.1 Release版本的源代碼,該方法同樣可以用于下載OpenHarmony最新開發(fā)版本(master分支)或者4.0
    的頭像 發(fā)表于 04-27 23:16 ?595次閱讀
    【開源鴻蒙】下載<b class='flag-5'>OpenHarmony</b> 4.1 Release源<b class='flag-5'>代碼</b>

    鴻蒙開發(fā)學(xué)習(xí):【OpenHarmony HAR】

    OpenHarmony js/ts三方庫使用的是OpenHarmony靜態(tài)共享包,即HAR(Harmony Archive),可以包含js/ts代碼、c++庫、資源和配置文件。通過HAR,可以實現(xiàn)
    的頭像 發(fā)表于 03-18 16:27 ?531次閱讀

    [鴻蒙]OpenHarmony4.0的Rust開發(fā)

    背景 Rust 是一門靜態(tài)強類型語言,具有更安全的內(nèi)存管理、更好的運行性能、原生支持多線程開發(fā)等優(yōu)勢。Rust 官方也使用 Cargo 工具來專門為 Rust 代碼創(chuàng)建工程和構(gòu)建編譯
    的頭像 發(fā)表于 02-26 17:28 ?662次閱讀
    [鴻蒙]<b class='flag-5'>OpenHarmony</b>4.0的Rust開發(fā)

    【鴻蒙】OpenHarmony 4.0藍牙代碼結(jié)構(gòu)簡析

    OpenHarmony 4.0藍牙代碼結(jié)構(gòu)簡析前言 OpenHarmony 4.0上藍牙倉和目錄結(jié)構(gòu)進行一次較大整改,本文基于4.0以上版本對藍牙代碼進行分析,便于讀者快速了解和學(xué)習(xí)
    的頭像 發(fā)表于 02-26 16:08 ?1121次閱讀
    【鴻蒙】<b class='flag-5'>OpenHarmony</b> 4.0藍牙<b class='flag-5'>代碼</b>結(jié)構(gòu)簡析

    python軟件怎么運行代碼

    Python是一種高級編程語言,它被廣泛用于開發(fā)各種類型的應(yīng)用程序,從簡單的腳本到復(fù)雜的網(wǎng)絡(luò)應(yīng)用和機器學(xué)習(xí)模型。要運行Python代碼,您需要一個Python解釋器,它可以將您的代碼翻譯成計算機可以
    的頭像 發(fā)表于 11-28 16:02 ?745次閱讀

    python代碼寫完后點哪個運行

    當(dāng)你完成了編寫Python代碼后,你可以選擇多種方式來運行它。下面是幾種常見的運行代碼的方式: Python解釋器:Python是一種解釋型語言,你可以直接使用Python解釋器來
    的頭像 發(fā)表于 11-24 09:28 ?2826次閱讀

    OpenHarmony C++公共基礎(chǔ)類庫應(yīng)用案例:HelloWorld

    OpenHarmony-v3.2.1-release)運行正常,詳細說明及案例源代碼可參考:https://gitee.com/Lockzhiner-Electronics/lockzhiner
    的頭像 發(fā)表于 11-23 08:22 ?591次閱讀
    <b class='flag-5'>OpenHarmony</b> C++公共基礎(chǔ)類庫應(yīng)用案例:HelloWorld

    OpenHarmony C++公共基礎(chǔ)類庫應(yīng)用案例:Thread

    OpenHarmony-v3.2.1-release)運行正常,詳細說明及案例源代碼可參考:https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk3
    的頭像 發(fā)表于 11-23 08:22 ?751次閱讀
    <b class='flag-5'>OpenHarmony</b> C++公共基礎(chǔ)類庫應(yīng)用案例:Thread

    python怎樣運行代碼

    討論Python代碼運行方式,包括解釋器、交互式環(huán)境和命令行。 Python代碼可以通過兩種主要的方式運行:解釋執(zhí)行和編譯執(zhí)行。解釋執(zhí)行是指將源
    的頭像 發(fā)表于 11-22 10:31 ?988次閱讀

    linux虛擬機怎么運行代碼

    運行代碼是Linux虛擬機中的常見操作,本文將詳細介紹如何運行代碼。 首先,要運行
    的頭像 發(fā)表于 11-17 10:12 ?3921次閱讀

    調(diào)度運行操作設(shè)備介紹

    調(diào)度運行操作設(shè)備介紹
    的頭像 發(fā)表于 11-09 15:55 ?391次閱讀
    調(diào)度<b class='flag-5'>運行</b><b class='flag-5'>操作</b>設(shè)備介紹

    再創(chuàng)新高!深開鴻OpenHarmony社區(qū)代碼貢獻量超過200萬行!

    2023年10月10日,據(jù)OpenAtomOpenHarmony(以下簡稱“OpenHarmony”)官網(wǎng)顯示,深開鴻在OpenHarmony社區(qū)主倉代碼貢獻量超過200萬行,在華為以
    的頭像 發(fā)表于 10-13 09:54 ?589次閱讀
    再創(chuàng)新高!深開鴻<b class='flag-5'>OpenHarmony</b>社區(qū)<b class='flag-5'>代碼</b>貢獻量超過200萬行!