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

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

3天內不再提示

openharmony 運行代碼操作

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

openharmony 運行代碼操作

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

本文以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í)行操作總結:

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)境中準備Ubuntu

獲取OpenHarmony源碼

編譯

燒寫

NFS掛載

windows本地代碼編輯

代碼上庫

提交失敗項解決

附件

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

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

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

InsStep:

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

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

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

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

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

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

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

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

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

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

6.復制上面的版本號,然后輸入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)境準備

參考 安裝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,設置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)境搭建:編譯依賴基礎軟件、文件打包工具、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驅動程序

點擊安裝包,安裝驅動程序。

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

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

4.燒寫

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

下電上電等待燒寫成功:

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

參數(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防火墻——高級設置——入站規(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.設置保存后,重啟NFS服務

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是分支標簽,自己隨便建,不創(chuàng)建默認是maser分支(這是給碼云遠端個人倉本次提交所創(chuàng)建的分支)。

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

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

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

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

如圖已成功合入的:

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

提交失敗項解決

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

失敗項查看:

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

2.編譯測試項失?。?/p>

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

測試失敗查看:

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,這樣修改追加提交的內容就會自動同步到前面創(chuàng)建的pr里,不需要重新在創(chuàng)建新的PR,然后評論輸入start build,開始構建即可。

遠端個人倉分支管理:

4.特殊情況:

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

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

附件

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

點擊下載

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

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

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

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

    關注

    25

    文章

    3727

    瀏覽量

    16380
收藏 人收藏

    評論

    相關推薦

    通過WebSocket操作OpenHarmony機器

    OpenHarmony機器人中運行 ArkTS APP,在APP中通過WebScoket客戶端接收指令,然后調用機器人接口實現(xiàn)相關動作。
    發(fā)表于 11-27 16:41

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

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

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

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

    基于Openharmony輕量級操作系統(tǒng)的分布式數(shù)據(jù)管理開發(fā)案例

    實驗內容本例程演示如何在小凌派-RK2206開發(fā)板上使用OpenHarmony輕量級操作系統(tǒng)進行KvStore(即分布式數(shù)據(jù)管理)數(shù)據(jù)讀寫。例程:(1)創(chuàng)建兩個線程,一個負責寫入KvStore存儲
    的頭像 發(fā)表于 08-07 08:23 ?985次閱讀
    基于<b class='flag-5'>Openharmony</b>輕量級<b class='flag-5'>操作</b>系統(tǒng)的分布式數(shù)據(jù)管理開發(fā)案例

    開源鴻蒙 編譯OpenHarmony輕量系統(tǒng)QEMU RISC-V版本

    本文將介紹如何為QEMU RISC-V虛擬平臺構建OpenHarmony輕量系統(tǒng)。得益于QEMU的CPU指令集模擬執(zhí)行能力,該方法可以在沒有開發(fā)板的情況下調試和運行OpenHarmony系統(tǒng)源碼。本文介紹的該方法,可以用于
    的頭像 發(fā)表于 07-15 10:36 ?1108次閱讀
    開源鴻蒙 編譯<b class='flag-5'>OpenHarmony</b>輕量系統(tǒng)QEMU RISC-V版本

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

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

    鴻蒙ArkUI-X平臺差異化:【運行態(tài)差異化(@ohos.deviceInfo)】

    跨平臺使用場景是一套ArkTS代碼運行在多個終端設備上,如Android、iOS、OpenHarmony(含基于OpenHarmony發(fā)行的商業(yè)版,如HarmonyOS Next)。當
    的頭像 發(fā)表于 05-25 16:37 ?1887次閱讀
    鴻蒙ArkUI-X平臺差異化:【<b class='flag-5'>運行</b>態(tài)差異化(@ohos.deviceInfo)】

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

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

    鴻蒙OpenHarmony【小型系統(tǒng)運行案例】 (基于Hi3516開發(fā)板)

    在完成Hi3516DV300的燒錄后,還需要設置BootLoader引導程序,才能運行OpenHarmony系統(tǒng)。
    的頭像 發(fā)表于 04-23 21:00 ?456次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【小型系統(tǒng)<b class='flag-5'>運行</b>案例】 (基于Hi3516開發(fā)板)

    OpenHarmony開發(fā)實例:【配置應用簽名信息】

    使用真機設備運行和調試OpenHarmony應用前,需要對應用進行簽名才能正常運行。
    的頭像 發(fā)表于 04-22 16:52 ?480次閱讀
    <b class='flag-5'>OpenHarmony</b>開發(fā)實例:【配置應用簽名信息】

    鴻蒙開發(fā)學習:【OpenHarmony HAR】

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

    【鴻蒙】OpenHarmony運行docker詳細步驟

    1.環(huán)境和設備 系統(tǒng)版本: 3.2release(64 位) OpenHarmony 內核版本:5.10 標準系統(tǒng)設備: DAYU200 Docker:18.03.1 (64 位) sd 卡一張
    的頭像 發(fā)表于 03-02 15:10 ?2700次閱讀
    【鴻蒙】<b class='flag-5'>OpenHarmony</b><b class='flag-5'>運行</b>docker詳細步驟

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

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

    【鴻蒙】OpenHarmony 4.0藍牙代碼結構簡析

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

    OpenHarmony 之 NAPI 框架介紹

    Nodejs 官網(wǎng)上查看各種 NAPI 接口定義說明。 ? ? 可以看到,NAPI 接口本身是 C++ 語言實現(xiàn)的,這些接口可以幫助 C++ 代碼創(chuàng)建 JS 變量,或訪問 JavaScript 運行
    的頭像 發(fā)表于 02-01 17:34 ?722次閱讀
    <b class='flag-5'>OpenHarmony</b> 之 NAPI 框架介紹