openharmony怎么用,OpenHarmony)刷機指南
目錄:
1. 配置編譯環境
2. 編譯HarmonyOS源代碼
3. 燒錄HarmonyOS
4.下載文中資源
5.作者文章合集
openharmony怎么用,摘要:相信很多同學都玩過鴻蒙(HarmonyOS)了,不過估計大多數同學都只是用鴻蒙開發App,與開發Android App也沒啥區別。不過鴻蒙還有更有意思的玩法,那就是與硬件結合,也就是IoT。本文將教大家如何將鴻蒙刷到開發板上,通過這些開發板可以控制更多的硬件。
本文的目的是將鴻蒙2.0刷到潤和Hi3861、Hi3516和Hi3518開發板上。目前網上已經有很多關于刷鴻蒙2.0的文章,我整理了一下,并結合自己的經驗,在本文中闡述了從配置環境,到編譯鴻蒙源代碼,再到刷機的全過程。
注意:這里的Hi3861相當于Ardiuno,價格也差不多,主要用于控制外設,本身并沒有多少計算能力,Hi3516和Hi3518的配置相對較高,支持GUI。有點類似于樹莓派。
本文主要以Hi3861為例,其他兩個開發板的編譯和刷機過程類似。
Hi3581需要分為編譯環境和燒錄環境,目前編譯環境只能是Linux,推薦使用Ubuntu Linux 20.04,用這個版本你會少了很多麻煩。至少Python環境直接是3.8.5了,大家可以不用理會Python了,因為編譯HarmonyOS,Python的版本是3.7或以上版本即可,經過測試,Python 3.9也沒問題。
Hi3581的刷機環境需要使用Windows,推薦使用Windows 10,Home版、專業版都經過了測試,沒問題,企業版的Windows還沒測試,但大概率也沒問題。
openharmony怎么用,所以這里是重點:需要準備Ubuntu 20.04和Windows 10。 Ubuntu 20.04可以安裝的虛擬機中,我用的是VMWare,這樣可以通過快照在不同狀態之前切換。
1. 配置編譯環境
現在開始配置Ubuntu 20.04的編譯環境,讀者需要按著如下幾步操作:
(1)配置 repo 工具
如果你的Linux系統上還沒有配置repo命令,需要先按下面的操作下載并配置repo命令行工具:
mkdir ~/bin/curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/bin/repochmod +x ~/bin/repoecho 'export PATH=~/bin:$PATH' >> ~/.bashrcsource ~/.bashrc
如果還沒有curl命令,需要先執行下面的命令下載curl:
sudo apt install curl
(2)下載HarmonyOS源代碼
讀者可按下面的操作下載HarmonyOS的最新源代碼
mkdir -p ~/harmonyos/openharmony && cd ~/harmonyos/openharmonysudo apt install --no-install-recommends git python # repo工具本身是python腳本,它會調用git命令下載單個代碼倉git config --global user.name "yourname"git config --global user.email "your-email-address"repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verifyrepo sync -c # 以后每天同步遠程倉的修改,只需要執行這一條命令即可
openharmony怎么用,讀者需要將yourname改成自己的名字,將your-email-address改成自己的email。
(3)檢測mkfs.vfat和mcopy命令是否安裝
在終端執行這兩個命令,如果沒有安裝,使用apt安裝這兩個命令
(4)安裝各種工具和包
在終端執行下面的命令進行安裝:
sudo apt-get install dosfstools mtools # 官方文檔說明的兩個文件系統打包工具sudo apt-get install zip # 官方文檔雖然沒有寫,但是打包rootfs過程中需要使用sudo apt install mtd-utils # 3518需要打包 jffs2 鏡像的mkfs.jffs2 命令,需要安裝這個包sudo apt install build-essential # 安裝gcc/g++/make等工具,ffmpeg的測試過程中需要使用
(5)下載各種編譯器和工具包
下面的命令分別下載了gn、ninja、LLVM、hc-gen包,一步到位
# 下載gn/ninja/LLVM/hc-gen包URL_PREFIX=https://repo.huaweicloud.com/harmonyos/compilerDOWNLOAD_DIR=~/Downloads # 下載目錄,可自行修改TOOLCHAIN_DIR=~/harmonyos/toolchain # 工具鏈存放目錄,可自行修改[ -e $DOWNLOAD_DIR ] || mkdir $DOWNLOAD_DIR[ -e $TOOLCHAIN_DIR ] || mkdir -p $TOOLCHAIN_DIRwget -P $DOWNLOAD_DIR $URL_PREFIX/gn/1523/linux/gn.1523.tarwget -P $DOWNLOAD_DIR $URL_PREFIX/ninja/1.9.0/linux/ninja.1.9.0.tarwget -P $DOWNLOAD_DIR $URL_PREFIX/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tarwget -P $DOWNLOAD_DIR $URL_PREFIX/hc-gen/0.65/linux/hc-gen-0.65-linux.tar# 編譯 hi3861 需要 riscv 編譯工具鏈wget -P $DOWNLOAD_DIR $URL_PREFIX/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz# 解壓gn/ninja/LLVM/hc-gen包:tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/gn.1523.tartar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/ninja.1.9.0.tartar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/llvm-linux-9.0.0-34042.tartar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/hc-gen-0.65-linux.tartar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/gcc_riscv32-linux-7.3.0.tar.gz# 向 ~/.bashrc 中追加gn/ninja/LLVM/hc-gen路徑配置:cat <> ~/.bashrcTOOLCHAIN_DIR=$TOOLCHAIN_DIRexport PATH=\$TOOLCHAIN_DIR/gn:\$PATHexport PATH=\$TOOLCHAIN_DIR/ninja:\$PATHexport PATH=\$TOOLCHAIN_DIR/llvm/bin:\$PATHexport PATH=\$TOOLCHAIN_DIR/hc-gen:\$PATHexport PATH=\$TOOLCHAIN_DIR/gcc_riscv32/bin:\$PATHexport PATH=~/.local/bin:\$PATH # 用戶pip二進制工具目錄EOF# 生效環境變量source ~/.bashrc
(6)改變pip源,加速下載
執行下面的命令重新配置pip.conf文件
mkdir ~/.pip/cat <~/.pip/pip.conf[global]index-url = https://mirrors.huaweicloud.com/repository/pypi/simpletrusted-host = mirrors.huaweicloud.comtimeout = 120EOF
另外,如果沒有pip命令,是因為默認叫pip3,可以執行下面的命令創建pip命令。
ln -s /usr/bin/pip3 /usr/bin/pip
(7)繼續安裝各種包
# 安裝 setuptools 和 kconfiglibpip3 install setuptools kconfiglib# 安裝編譯hi3861需要的pip包pip3 install scons ecdsa pycryptodome
2. 編譯HarmonyOS源代碼
(1)查看支持的平臺
通過執行python build.py -h命令,可以查看HarmonyOS當前支持哪些平臺,如圖1所示。
第1個是hi3561,第2個是hi3518,第3個是hi3861。
(2)分別執行和3個命令來編譯這3個版本的目標文件
如果要增加調試信息,后面可以加-b debug
# 編譯hi3561python build.py ipcamera_hi3516dv300 -b debug# 編譯hi3518 python build.py ipcamera_hi3518dv300 -b debug# 編譯hi3861python build.py wifiiot
執行這3行命令,會在/out目錄下出現對應的子目錄,如Hi3861編譯完,會出現wifiiot子目錄,二進制目標文件都在該目錄中。燒錄文件是Hi3861_wifiiot_app_allinone.bin。
編譯完的二進制文件下載方式在本文后面。
3. 燒錄HarmonyOS
本文以Hi3861開發板為例,開發板樣式如圖2所示。
需要按下面的步驟進行燒錄。
(1)將Hi3861_wifiiot_app_allinone.bin文件復制到Windows10中(隨便放一個目錄就可以)。
(2)用Hi3861連接線將開發板與PC連接。
(3)檢查設備管理器,看看是否正確識別Hi3861開發板,如果正確識別,如圖3所示。
如果設備管理器沒有“端口(COM和LPT)”節點,那是因為被隱藏了,點擊“查看”>“顯示隱藏的設備”菜單項,就會顯示,如圖4所示。
通常Windows 10會自動安裝驅動,如果不幸沒有自動安裝驅動,那么可以自行下載。Hi3861使用的是CH340G芯片,讀者可自己在google搜索該芯片驅動的下載地址,也可以在本文后面下載驅動文件。
(4)運行HiBurn.exe
這個工具是海思做的,用于燒錄開發板,華為推出的驅動開發工具內置了該工具,讀者也可以在本文后面下載該工具。
運行后,在COM中選擇圖3看到的COM端口號(如圖5所示),本例是COM4。
(5)選擇傳輸速率
點擊HiBurn中的Setting > com settings菜單項,彈出Com settings對話框,在Baud中選擇3000000,讓燒錄速度更快,如圖6所示。
-
OpenHarmony
+關注
關注
29文章
3854瀏覽量
18611
發布評論請先 登錄
OpenHarmony2025年度競賽訓練營重磅開啟
請問下,openharmony支持哪一款龍芯的開發板?有沒有開源的龍芯的openharmony源碼?
蜂鳥板上Openharmony系統跑QT程序
OpenHarmony程序分析框架論文入選ICSE 2025

觸覺智能亮相OpenHarmony人才生態大會2024

OpenHarmony首次亮相歐洲開源會議

第三屆OpenHarmony技術大會星光璀璨、致謝OpenHarmony社區貢獻者
第三屆OpenHarmony技術大會 “OpenHarmony開發者激勵計劃”授牌儀式圓滿舉行

OpenHarmony年度技術俱樂部、個人及活動評選結果公示
基于ArkTS語言的OpenHarmony APP應用開發:HelloOpenharmony

基于ArkTS語言的OpenHarmony APP應用開發:HelloOpenharmony
河南大學OpenHarmony技術俱樂部正式揭牌成立

第二屆大會回顧第25期 | OpenHarmony上的Python設備應用開發

評論