此系列是筆者關(guān)于 OpenHarmony 智能家居開發(fā)套件(Hi3861 芯片)的學(xué)習(xí)歷程,本篇作為入門環(huán)節(jié),將具體介紹 OpenHarmony 的環(huán)境搭建。
Windows(新手推薦)
目前 Window 系統(tǒng)已經(jīng)能夠用過 DevEco Device Tool 工具獨(dú)立完成大部分的 OpenHarmony 開發(fā)工作,而先前通過 HiBurn,MobaXterm 工具進(jìn)行的燒錄,串口調(diào)試并不方便,下面具體介紹如何在 Windows 系統(tǒng)上配置環(huán)境。
①DevEco Device Tool 安裝
DevEco Device Tool:
https://device.harmonyos.com/cn/develop/ide#download
我們雙擊下載 Windows(64-bit)版本的 ZIP 壓縮包即可。
下載完成后請(qǐng)各位自行解壓,打開解壓號(hào)的文件,雙擊 exe 文件進(jìn)行安裝。
點(diǎn)擊“下一步”。
選擇“我接受…”,點(diǎn)擊“下一步”。
選擇安裝的目錄,點(diǎn)擊"下一步"[不建議安裝在 C 盤]。
因?yàn)楣P者自己的電腦上已經(jīng)安裝過 Python 和 VSCode 了,這里的狀態(tài)是 ok,如果沒有裝過 Python 和 VsCode 的伙伴們也不用擔(dān)心,你可以通過這個(gè)安裝軟件下載 python 和 VsCode。
如果你想自己安裝 Python 和 VsCode,筆者也會(huì)提供他們的官網(wǎng)地址,供小伙伴們參考,這里就不詳細(xì)說明了。要注意工具對(duì)應(yīng)的版本需求,不能錯(cuò)。
Python:
https://www.python.org/downloads/windows/VsCode:
https://code.visualstudio.com/點(diǎn)擊“安裝”等待…
點(diǎn)擊“完成”完成 DevEco Device Tool 的安裝。
現(xiàn)在我們打開 VsCode,就會(huì)發(fā)現(xiàn)左側(cè)欄中多了一個(gè)工具。
那么至此 Windows 開發(fā) OpenHarmony 的環(huán)境已經(jīng)完成了一大半,是不是很簡(jiǎn)單。
②使用 DevEco Device Tool 創(chuàng)建項(xiàng)目
點(diǎn)擊 New Project:
輸入自己的項(xiàng)目名,在 SOC 中選擇 Hi3861。
點(diǎn)擊“Download”下載 SDK:
下載完成后,點(diǎn)擊“Confirm”完成項(xiàng)目的創(chuàng)建。
我們創(chuàng)建的項(xiàng)目,OpenHarmony 的源碼在 src 目錄下:
③編譯
項(xiàng)目已經(jīng)建好了,下面就可以開始編譯了。
打開“DevEco”工具,點(diǎn)擊“Biuld”:
我們可以看到控制臺(tái)的輸出,表示我們?cè)?32 秒的時(shí)間完成了編譯[首次編譯時(shí)會(huì)自動(dòng)下載相關(guān)的依賴耗時(shí)可能較長(zhǎng)]。
④燒錄
點(diǎn)擊“upload”進(jìn)行燒錄,我們發(fā)現(xiàn)控制臺(tái)報(bào)了錯(cuò),是因?yàn)闊浌ぞ吆?a target="_blank">端口我們自己去手動(dòng)配置。
在進(jìn)行燒錄端口配置之前我們需要將智能家居板連接到我們的主機(jī)上,并確保主機(jī)能夠識(shí)別到這個(gè)端口。在設(shè)備管理器中可以查看智能家居板的端口信息。
在 DevEco 中,配置端口號(hào),圖片中漏標(biāo)了 upload_speed 建議改成 115200。
完成配置后我們?cè)俅吸c(diǎn)擊“upload”,看到控制臺(tái)輸出如下“Connrct…”就說明我們的燒錄配置已經(jīng)成功完成,此時(shí)只需要點(diǎn)擊主板右下角的 RET 按鈕,重啟開發(fā)板即可開始燒錄。
如果還出現(xiàn)了相同的錯(cuò)誤就點(diǎn)擊“manager”,再點(diǎn)擊底下的“confirm”刷新一下配置。
完成燒錄:
⑤串口調(diào)試
點(diǎn)擊“Monitor”開始串口調(diào)試,點(diǎn)擊主板“RET”鍵重啟開發(fā)板,開始調(diào)試,注意觀察控制臺(tái)輸出的信息。
如果需要中斷程序,按下[Ctrl + C]即可。 至此我們已經(jīng)完成了 Windows下OpenHarmony 環(huán)境的配置。
Windows + Linux
盡管 Windows 很方便,可以獨(dú)立完成 OpenHarmony 開發(fā)的大部分工作,但是難免有時(shí)候需要使用到 Linux 系統(tǒng)對(duì)源碼進(jìn)行編譯,那么就不得不使用 Windows + Linux 的環(huán)境進(jìn)行開發(fā)。 本篇不使用虛擬機(jī)搭建 Windows,因?yàn)樘摂M機(jī)的性能受到了限制,對(duì)開發(fā)效率而言是個(gè)痛點(diǎn),本篇將使用 WSL 詳細(xì)講解 Windows + Linux 的環(huán)境搭建。
①WSL
不了解 WSL 的伙伴們可以查詢相關(guān)信息,這里就不細(xì)說了,簡(jiǎn)單的講就是 Windows subSystem Linux,是不是一下就理解了,我們的 Linux 將不再局限于原來虛擬機(jī)的配置,而是直接作為我們 Windows 系統(tǒng)下的一個(gè)子系統(tǒng)進(jìn)行運(yùn)營(yíng),性能將被大大地釋放出來。
②安裝 WSL
打開管理員終端 PowerShell 輸入以下命令[他可能會(huì)將 wsl 和 ubuntu 一起給你裝了]
wsl--install
③配置 WSL
啟動(dòng)“適用于 Linux 的 Windows 子系統(tǒng)”可選功能,打開 PowerShell 輸入以下命令:
dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestar/
再輸入以下命令,啟動(dòng)虛擬機(jī)功能:
dism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all/norestart
輸入以下命令,設(shè)置 WSL 的版本為 2。
wsl--set-default-version2重啟電腦,打開資源管理器,出現(xiàn) Linux 的圖標(biāo)就說明我們的 WSL 安裝完成了。
下面我們安裝 Linux,這里推薦使用 Ubuntu。打開微軟的商店下載 Ubuntu,這里提供了 3 個(gè) LST 長(zhǎng)期支持版本,筆者之前已經(jīng)使用 20.04LTS 版本完成的環(huán)境的搭建,這里就使用 22.04LTS 版本為大家重新演示。
完成安裝后打開 Ubuntu,創(chuàng)建好賬戶。
至此 WSL 安裝完成了:
但是我們還需要做一些額外的配置去優(yōu)化我們的 WSL,WSL 是裝在我們的系統(tǒng)盤的,時(shí)間長(zhǎng)了很容易占用我們的系統(tǒng)盤空間,空間不足還會(huì)導(dǎo)致 WSL 系統(tǒng)崩潰,因此需要把 WSL 導(dǎo)出到別的盤符。 停止 WSL 的運(yùn)行,打開 PowerShell 輸入一下命令:
wsl--shutdown輸入一下命令檢測(cè) WSL 是否停止:
wsl-l-v
這里筆者把 WSL 導(dǎo)出至 D 盤了,目錄建議先建好[一定要加 xxx.tar 文件]不然會(huì)出現(xiàn)拒絕訪問的錯(cuò)誤。
wsl--exportUbuntu-22.04D:wsl2-ubuntu22.04ubuntu.tar
④注銷 Linux
wsl--unregisterUbuntu-22.04
![261ddc9c-f29d-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/64/wKgZomTnnuSACH3JAAAXECGBF_I108.png)
wsl--importUbuntu-22.04D:wsl2-ubuntu22.04D:wsl2-ubuntu22.04ubuntu.tar--version2
⑥點(diǎn)進(jìn)我們?cè)O(shè)置好的目錄,ext4.vhdx 說明導(dǎo)出,導(dǎo)入成功了
xxx.tar 文件大家自行刪除即可:
delD:wsl2-ubuntu22.04ubuntu.tar
⑦設(shè)置默認(rèn)登錄用戶
ubuntu20.04config--default-userxxx
Windows 連接 Linux
打開 VsCode,安裝“WSL”這個(gè)插件: 安裝完成后點(diǎn)擊左下角后,選擇自己要連接的Linux子系統(tǒng),右下角變成筆者所示的顯示?Ubuntu xxx 就說明成功了。
打開終端,我們發(fā)現(xiàn)控制臺(tái)顯示的東西很熟悉,沒錯(cuò),這就是你的 Linux 終端了,你可以在這里使用 Linux 指令去操作你的系統(tǒng)了。
Linux 環(huán)境搭建
軟件包換源:
debhttps://mirrors.ustc.edu.cn/ubuntu/jammymainrestricteduniversemultiverse deb-srchttps://mirrors.ustc.edu.cn/ubuntu/jammymainrestricteduniversemultiverse debhttps://mirrors.ustc.edu.cn/ubuntu/jammy-securitymainrestricteduniversemultiverse deb-srchttps://mirrors.ustc.edu.cn/ubuntu/jammy-securitymainrestricteduniversemultiverse debhttps://mirrors.ustc.edu.cn/ubuntu/jammy-updatesmainrestricteduniversemultiverse deb-srchttps://mirrors.ustc.edu.cn/ubuntu/jammy-updatesmainrestricteduniversemultiverse debhttps://mirrors.ustc.edu.cn/ubuntu/jammy-backportsmainrestricteduniversemultiverse deb-srchttps://mirrors.ustc.edu.cn/ubuntu/jammy-backportsmainrestricteduniversemultiverse ##Notrecommended #debhttps://mirrors.ustc.edu.cn/ubuntu/jammy-proposedmainrestricteduniversemultiverse #deb-srchttps://mirrors.ustc.edu.cn/ubuntu/jammy-proposedmainrestricteduniversemultiverse
在控制臺(tái)中輸入以下指令,更換軟件源:
sudocp/etc/apt/sources.list/etc/apt/sources.list.bak sudovim/etc/apt/sources.list
對(duì)于不熟悉 Linux 的伙伴們,這里提供一些 Linux 指令幫助大家快速刪除文件的內(nèi)容:
gg 100dd將軟件源復(fù)制進(jìn)去后,點(diǎn)擊[esc]鍵,輸入[ :wq ]保存退出。
更新軟件包:
sudoapt-getupdate
環(huán)境搭建如下:
安裝必要的庫(kù)和工具:
sudoapt-getinstallbuild-essentialgccg++makezlib*libffi-dev sudoapt-getinstalllibc6 sudoapt-getinstalle2fsprogspkg-configflexbisonperlbcopenssllibssl-devlibelf-devbinutilsbinutils-devlibdwarf-devu-boot-toolsmtd-utilsgcc-arm-linux-gnueabicpiodevice-tree-compiler配置 Python:
sudoupdate-alternatives--install/usr/bin/pythonpython/usr/bin/python3.81 sudoupdate-alternatives--install/usr/bin/python3python3/usr/bin/python3.81 python--version安裝 pip:
sudoaptinstallpython3-pip在家目錄下創(chuàng)建源碼目錄:
mkdir/home/ohos/openharmony安裝編譯工具:
pip3installscons scons-v pip3installkconfiglib pip3installpycryptodomeecdsa安裝 gcc_riscv32:
wgethttps://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz tar-xvfgcc_riscv32-linux-7.3.0.tar.gz-C~/ rmgcc_riscv32-linux-7.3.0.tar.gz echo'exportPATH=~/gcc_riscv32/bin:$PATH'|tee-a~/.bashrc source~/.bashrc安裝 git、git-lfs:
sudoaptinstallgit-lfs wgethttps://gitee.com/oschina/repo/raw/fork_flow/repo-py3 sudomvrepo-py3/usr/local/bin/repo sudochmoda+x/usr/local/bin/repo pipinstallrequests配置 git:
gitconfig--globaluser.email"xxxx@qq.com" gitconfig--globaluser.name"xxxx" ssh-keygen-trsa-C'xxxx@qq.com' cat~/.ssh/id_rsa.pub將公鑰添加到自己的賬戶中:
安裝 repo:
curl-shttps://gitee.com/oschina/repo/raw/fork_flow/repo-py3>repo chmoda+xrepo sudomvrepo/usr/local/bin/
OpenHarmony 獲取源碼
3.0LTS 長(zhǎng)期支持版本:
repoinit-uhttps://gitee.com/openharmony/manifest.git-brefs/tags/OpenHarmony-v3.0-LTS--no-repo-verify reposync-c[這一步會(huì)稍微有些慢] repoforall-c'gitlfspull'
在源碼的同級(jí)目錄補(bǔ)充環(huán)境。
安裝 gn:
mkdir-p~/openharmony/prebuilts/build-tools/linux-x86/bin/ wgethttps://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz tar-xvfgn-linux-x86-1717.tar.gz-C~/openharmony/prebuilts/build-tools/linux-x86/bin/ rmgn-linux-x86-1717.tar.gz安裝 nijia:
wgethttps://repo.huaweicloud.com/harmonyos/compiler/ninja/1.10.1/linux/ninja-linux-x86-1.10.1.tar.gz tar-xvfninja-linux-x86-1.10.1.tar.gz-C~/openharmony/prebuilts/build-tools/linux-x86/bin/ rmninja-linux-x86-1.10.1.tar.gz安裝 hb:
pip3installbuild/lite echo'exportPATH=~/.local/bin:$PATH'|tee-a~/.bashrc source~/.bashrc hb-h
最后一步中會(huì)報(bào)錯(cuò):
[ImportError:cannotimportname‘Mapping’from‘collections’(/usr/lib/python3.10/collections/init.py)]這是由于 Ubuntu22.04 內(nèi)置了 python3.10 版本過高。
解決辦法如下找到最后一行的報(bào)錯(cuò)信息:
[File“/root/.local/lib/python3.10/site-packages/prompt_toolkit/styles/from_dict.py”,line9,infromcollectionsimportMapping]
打開這個(gè)文件:
fromcollectionsimportMapping #改為 fromcollections.abcimportMapping修改完文件后保存,再次執(zhí)行 hb -h 就解決了。用 Ubuntu20.04 的伙伴們內(nèi)置 python3.8 就不會(huì)出現(xiàn)這樣的問題。
編譯:使用 hb 對(duì)源碼進(jìn)行編譯,在源碼根目錄下輸入以下指令進(jìn)行編譯:
hbset
選擇 hisillicon wifiiot_hispark_pegasus:
輸入最后的編譯指令:
hbbuild-f
觀察控制臺(tái)的輸出情況:
編譯完成,Linux 環(huán)境搭建成功!
Windows環(huán)境搭建
完成了 Linux 下的源碼編譯,下面開始配置 Windows 環(huán)境。
HiBurn 下載:
https://ost.51cto.com/resource/29
MobaXTerm 下載:
https://mobaxterm.mobatek.net/download.html
具體的安裝流程就不具體說了,沒有什么需要注意的,正常安裝即可。準(zhǔn)備好這兩個(gè)工具后就可以開始進(jìn)行燒錄和串口調(diào)試的測(cè)試了。
①燒錄
將智能家居板連接至主機(jī),打開 HiBurn:
配置 Hiburn:
選擇文件,燒錄好的文件在源碼根目錄下的 out 目錄里,選擇名為“Hi3861_wifiiot_app_allinone.bin” 的文件,點(diǎn)擊 connect 后并重啟開發(fā)板即可。
燒錄完成后點(diǎn)擊“disconnect”斷開連接,把端口空出來給下一步的串口調(diào)試工具使用
②串口調(diào)試
創(chuàng)建連接:
重啟開發(fā)板,觀察開發(fā)板的信息輸出:
到這里,Windows + Linux 環(huán)境下的開發(fā)環(huán)境也搭建完成了。
結(jié)束語(yǔ)
初次發(fā)帖,還請(qǐng)大家多多指點(diǎn),希望能夠幫助到學(xué)習(xí) OpenHarmony 的伙伴們!
審核編輯:湯梓紅
-
芯片
+關(guān)注
關(guān)注
456文章
51273瀏覽量
427764 -
智能家居
+關(guān)注
關(guān)注
1930文章
9612瀏覽量
186546 -
開發(fā)套件
+關(guān)注
關(guān)注
2文章
158瀏覽量
24342 -
環(huán)境搭建
+關(guān)注
關(guān)注
0文章
54瀏覽量
9081 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3753瀏覽量
16661
原文標(biāo)題:OpenHarmony入門攻略:環(huán)境搭建
文章出處:【微信號(hào):gh_834c4b3d87fe,微信公眾號(hào):OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Qt快速入門攻略
一種簡(jiǎn)單的OpenHarmony開發(fā)環(huán)境搭建
OpenHarmony輕量與小型系統(tǒng)入門概述
OpenHarmony系統(tǒng)基礎(chǔ)環(huán)境搭建
Windows搭建OpenHarmony編譯環(huán)境
CC3200 LaunchPad使用入門01_開發(fā)環(huán)境搭建
openharmony教程 openharmony快速入門
OpenHarmony開發(fā)環(huán)境搭建
![<b class='flag-5'>OpenHarmony</b>開發(fā)<b class='flag-5'>環(huán)境</b><b class='flag-5'>搭建</b>](https://file.elecfans.com/web2/M00/29/36/pYYBAGHFlpGAPNtbAAAd1hPxl4A055.png)
【鴻蒙開發(fā)】一種簡(jiǎn)單的OpenHarmony開發(fā)環(huán)境搭建
![【鴻蒙開發(fā)】一種簡(jiǎn)單的<b class='flag-5'>OpenHarmony</b>開發(fā)<b class='flag-5'>環(huán)境</b><b class='flag-5'>搭建</b>](https://file.elecfans.com/web2/M00/1E/13/pYYBAGGVucSAKnAEAAAdgGHe8Cw874.jpg)
Windows搭建OpenHarmony編譯環(huán)境
![Windows<b class='flag-5'>搭建</b><b class='flag-5'>OpenHarmony</b>編譯<b class='flag-5'>環(huán)境</b>](https://file.elecfans.com/web2/M00/26/21/pYYBAGG5jjSALfrEAAAwAa9Oig8799.png)
評(píng)論