此系列是筆者關于 OpenHarmony 智能家居開發套件(Hi3861 芯片)的學習歷程,本篇作為入門環節,將具體介紹 OpenHarmony 的環境搭建。
Windows(新手推薦)
目前 Window 系統已經能夠用過 DevEco Device Tool 工具獨立完成大部分的 OpenHarmony 開發工作,而先前通過 HiBurn,MobaXterm 工具進行的燒錄,串口調試并不方便,下面具體介紹如何在 Windows 系統上配置環境。
①DevEco Device Tool 安裝
DevEco Device Tool:
https://device.harmonyos.com/cn/develop/ide#download
我們雙擊下載 Windows(64-bit)版本的 ZIP 壓縮包即可。
下載完成后請各位自行解壓,打開解壓號的文件,雙擊 exe 文件進行安裝。
點擊“下一步”。
選擇“我接受…”,點擊“下一步”。
選擇安裝的目錄,點擊"下一步"[不建議安裝在 C 盤]。
因為筆者自己的電腦上已經安裝過 Python 和 VSCode 了,這里的狀態是 ok,如果沒有裝過 Python 和 VsCode 的伙伴們也不用擔心,你可以通過這個安裝軟件下載 python 和 VsCode。
如果你想自己安裝 Python 和 VsCode,筆者也會提供他們的官網地址,供小伙伴們參考,這里就不詳細說明了。要注意工具對應的版本需求,不能錯。
Python:
https://www.python.org/downloads/windows/VsCode:
https://code.visualstudio.com/點擊“安裝”等待…
點擊“完成”完成 DevEco Device Tool 的安裝。
現在我們打開 VsCode,就會發現左側欄中多了一個工具。
那么至此 Windows 開發 OpenHarmony 的環境已經完成了一大半,是不是很簡單。
②使用 DevEco Device Tool 創建項目
點擊 New Project:
輸入自己的項目名,在 SOC 中選擇 Hi3861。
點擊“Download”下載 SDK:
下載完成后,點擊“Confirm”完成項目的創建。
我們創建的項目,OpenHarmony 的源碼在 src 目錄下:
③編譯
項目已經建好了,下面就可以開始編譯了。
打開“DevEco”工具,點擊“Biuld”:
我們可以看到控制臺的輸出,表示我們在 32 秒的時間完成了編譯[首次編譯時會自動下載相關的依賴耗時可能較長]。
④燒錄
點擊“upload”進行燒錄,我們發現控制臺報了錯,是因為燒錄工具和端口我們自己去手動配置。
在進行燒錄端口配置之前我們需要將智能家居板連接到我們的主機上,并確保主機能夠識別到這個端口。在設備管理器中可以查看智能家居板的端口信息。
在 DevEco 中,配置端口號,圖片中漏標了 upload_speed 建議改成 115200。
完成配置后我們再次點擊“upload”,看到控制臺輸出如下“Connrct…”就說明我們的燒錄配置已經成功完成,此時只需要點擊主板右下角的 RET 按鈕,重啟開發板即可開始燒錄。
如果還出現了相同的錯誤就點擊“manager”,再點擊底下的“confirm”刷新一下配置。
完成燒錄:
⑤串口調試
點擊“Monitor”開始串口調試,點擊主板“RET”鍵重啟開發板,開始調試,注意觀察控制臺輸出的信息。
如果需要中斷程序,按下[Ctrl + C]即可。 至此我們已經完成了 Windows下OpenHarmony 環境的配置。
Windows + Linux
盡管 Windows 很方便,可以獨立完成 OpenHarmony 開發的大部分工作,但是難免有時候需要使用到 Linux 系統對源碼進行編譯,那么就不得不使用 Windows + Linux 的環境進行開發。 本篇不使用虛擬機搭建 Windows,因為虛擬機的性能受到了限制,對開發效率而言是個痛點,本篇將使用 WSL 詳細講解 Windows + Linux 的環境搭建。
①WSL
不了解 WSL 的伙伴們可以查詢相關信息,這里就不細說了,簡單的講就是 Windows subSystem Linux,是不是一下就理解了,我們的 Linux 將不再局限于原來虛擬機的配置,而是直接作為我們 Windows 系統下的一個子系統進行運營,性能將被大大地釋放出來。
②安裝 WSL
打開管理員終端 PowerShell 輸入以下命令[他可能會將 wsl 和 ubuntu 一起給你裝了]
wsl--install
③配置 WSL
啟動“適用于 Linux 的 Windows 子系統”可選功能,打開 PowerShell 輸入以下命令:
dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestar/
再輸入以下命令,啟動虛擬機功能:
dism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all/norestart
輸入以下命令,設置 WSL 的版本為 2。
wsl--set-default-version2重啟電腦,打開資源管理器,出現 Linux 的圖標就說明我們的 WSL 安裝完成了。
下面我們安裝 Linux,這里推薦使用 Ubuntu。打開微軟的商店下載 Ubuntu,這里提供了 3 個 LST 長期支持版本,筆者之前已經使用 20.04LTS 版本完成的環境的搭建,這里就使用 22.04LTS 版本為大家重新演示。
完成安裝后打開 Ubuntu,創建好賬戶。
至此 WSL 安裝完成了:
但是我們還需要做一些額外的配置去優化我們的 WSL,WSL 是裝在我們的系統盤的,時間長了很容易占用我們的系統盤空間,空間不足還會導致 WSL 系統崩潰,因此需要把 WSL 導出到別的盤符。 停止 WSL 的運行,打開 PowerShell 輸入一下命令:
wsl--shutdown輸入一下命令檢測 WSL 是否停止:
wsl-l-v
這里筆者把 WSL 導出至 D 盤了,目錄建議先建好[一定要加 xxx.tar 文件]不然會出現拒絕訪問的錯誤。
wsl--exportUbuntu-22.04D:wsl2-ubuntu22.04ubuntu.tar
④注銷 Linux
wsl--unregisterUbuntu-22.04⑤導入 Linux
wsl--importUbuntu-22.04D:wsl2-ubuntu22.04D:wsl2-ubuntu22.04ubuntu.tar--version2
⑥點進我們設置好的目錄,ext4.vhdx 說明導出,導入成功了
xxx.tar 文件大家自行刪除即可:
delD:wsl2-ubuntu22.04ubuntu.tar
⑦設置默認登錄用戶
ubuntu20.04config--default-userxxx
Windows 連接 Linux
打開 VsCode,安裝“WSL”這個插件: 安裝完成后點擊左下角后,選擇自己要連接的Linux子系統,右下角變成筆者所示的顯示?Ubuntu xxx 就說明成功了。
打開終端,我們發現控制臺顯示的東西很熟悉,沒錯,這就是你的 Linux 終端了,你可以在這里使用 Linux 指令去操作你的系統了。
Linux 環境搭建
軟件包換源:
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
在控制臺中輸入以下指令,更換軟件源:
sudocp/etc/apt/sources.list/etc/apt/sources.list.bak sudovim/etc/apt/sources.list
對于不熟悉 Linux 的伙伴們,這里提供一些 Linux 指令幫助大家快速刪除文件的內容:
gg 100dd將軟件源復制進去后,點擊[esc]鍵,輸入[ :wq ]保存退出。
更新軟件包:
sudoapt-getupdate
環境搭建如下:
安裝必要的庫和工具:
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在家目錄下創建源碼目錄:
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 長期支持版本:
repoinit-uhttps://gitee.com/openharmony/manifest.git-brefs/tags/OpenHarmony-v3.0-LTS--no-repo-verify reposync-c[這一步會稍微有些慢] repoforall-c'gitlfspull'
在源碼的同級目錄補充環境。
安裝 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
最后一步中會報錯:
[ImportError:cannotimportname‘Mapping’from‘collections’(/usr/lib/python3.10/collections/init.py)]這是由于 Ubuntu22.04 內置了 python3.10 版本過高。
解決辦法如下找到最后一行的報錯信息:
[File“/root/.local/lib/python3.10/site-packages/prompt_toolkit/styles/from_dict.py”,line9,infromcollectionsimportMapping]
打開這個文件:
fromcollectionsimportMapping #改為 fromcollections.abcimportMapping修改完文件后保存,再次執行 hb -h 就解決了。用 Ubuntu20.04 的伙伴們內置 python3.8 就不會出現這樣的問題。
編譯:使用 hb 對源碼進行編譯,在源碼根目錄下輸入以下指令進行編譯:
hbset
選擇 hisillicon wifiiot_hispark_pegasus:
輸入最后的編譯指令:
hbbuild-f
觀察控制臺的輸出情況:
編譯完成,Linux 環境搭建成功!
Windows環境搭建
完成了 Linux 下的源碼編譯,下面開始配置 Windows 環境。
HiBurn 下載:
https://ost.51cto.com/resource/29
MobaXTerm 下載:
https://mobaxterm.mobatek.net/download.html
具體的安裝流程就不具體說了,沒有什么需要注意的,正常安裝即可。準備好這兩個工具后就可以開始進行燒錄和串口調試的測試了。
①燒錄
將智能家居板連接至主機,打開 HiBurn:
配置 Hiburn:
選擇文件,燒錄好的文件在源碼根目錄下的 out 目錄里,選擇名為“Hi3861_wifiiot_app_allinone.bin” 的文件,點擊 connect 后并重啟開發板即可。
燒錄完成后點擊“disconnect”斷開連接,把端口空出來給下一步的串口調試工具使用
②串口調試
創建連接:
重啟開發板,觀察開發板的信息輸出:
到這里,Windows + Linux 環境下的開發環境也搭建完成了。
結束語
初次發帖,還請大家多多指點,希望能夠幫助到學習 OpenHarmony 的伙伴們!
審核編輯:湯梓紅
-
芯片
+關注
關注
456文章
51090瀏覽量
425967 -
智能家居
+關注
關注
1928文章
9602瀏覽量
185979 -
開發套件
+關注
關注
2文章
155瀏覽量
24304 -
環境搭建
+關注
關注
0文章
54瀏覽量
9069 -
OpenHarmony
+關注
關注
25文章
3744瀏覽量
16470
原文標題:OpenHarmony入門攻略:環境搭建
文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論