別找了,這多是全網最全的鴻蒙(OpenHarmony)刷機指南

目錄:python

 

1. 配置編譯環境linux

2. 編譯HarmonyOS源代碼git

3. 燒錄HarmonyOSbash

4.下載文中資源app

5.做者文章合集dom

摘要:相信不少同窗都玩過鴻蒙(HarmonyOS)了,不過估計大多數同窗都只是用鴻蒙開發App,與開發Android App也沒啥區別。不過鴻蒙還有更有意思的玩法,那就是與硬件結合,也就是IoT。本文將教你們如何將鴻蒙刷到開發板上,經過這些開發板能夠控制更多的硬件。
 curl

本文的目的是將鴻蒙2.0刷到潤和Hi386一、Hi3516和Hi3518開發板上。目前網上已經有不少關於刷鴻蒙2.0的文章,我整理了一下,並結合本身的經驗,在本文中闡述了從配置環境,到編譯鴻蒙源代碼,再到刷機的全過程。
 工具

注意:這裏的Hi3861至關於Ardiuno,價格也差很少,主要用於控制外設,自己並無多少計算能力,Hi3516和Hi3518的配置相對較高,支持GUI。有點相似於樹莓派。post


本文主要以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還沒測試,但大機率也沒問題。


因此這裏是重點:須要準備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/repo
chmod +x ~/bin/repo
echo 'export PATH=~/bin:$PATH'  >> ~/.bashrc
source ~/.bashrc


若是尚未curl命令,須要先執行下面的命令下載curl:


sudo apt install curl


(2)下載HarmonyOS源代碼


讀者可按下面的操做下載HarmonyOS的最新源代碼

mkdir -p ~/harmonyos/openharmony && cd ~/harmonyos/openharmony
sudo 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-verify
repo sync -c  # 之後天天同步遠程倉的修改,只須要執行這一條命令便可


讀者須要將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/compiler
DOWNLOAD_DIR=~/Downloads                # 下載目錄,可自行修改
TOOLCHAIN_DIR=~/harmonyos/toolchain     # 工具鏈存放目錄,可自行修改

[ -e $DOWNLOAD_DIR ] || mkdir $DOWNLOAD_DIR
[ -e $TOOLCHAIN_DIR ] || mkdir -p $TOOLCHAIN_DIR

wget -P $DOWNLOAD_DIR $URL_PREFIX/gn/1523/linux/gn.1523.tar
wget -P $DOWNLOAD_DIR $URL_PREFIX/ninja/1.9.0/linux/ninja.1.9.0.tar
wget -P $DOWNLOAD_DIR $URL_PREFIX/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar
wget -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.tar
tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/ninja.1.9.0.tar
tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/llvm-linux-9.0.0-34042.tar
tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/hc-gen-0.65-linux.tar
tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/gcc_riscv32-linux-7.3.0.tar.gz

# 向 ~/.bashrc 中追加gn/ninja/LLVM/hc-gen路徑配置:
cat <<EOF >> ~/.bashrc
TOOLCHAIN_DIR=$TOOLCHAIN_DIR
export PATH=\$TOOLCHAIN_DIR/gn:\$PATH
export PATH=\$TOOLCHAIN_DIR/ninja:\$PATH
export PATH=\$TOOLCHAIN_DIR/llvm/bin:\$PATH
export PATH=\$TOOLCHAIN_DIR/hc-gen:\$PATH
export PATH=\$TOOLCHAIN_DIR/gcc_riscv32/bin:\$PATH
export PATH=~/.local/bin:\$PATH       # 用戶pip二進制工具目錄
EOF

# 生效環境變量
source ~/.bashrc


(6)改變pip源,加速下載


執行下面的命令從新配置pip.conf文件

mkdir ~/.pip/
cat <<EOF > ~/.pip/pip.conf
[global]
index-url = https://mirrors.huaweicloud.com/repository/pypi/simple
trusted-host = mirrors.huaweicloud.com
timeout = 120
EOF


另外,若是沒有pip命令,是由於默認叫pip3,能夠執行下面的命令建立pip命令。


ln -s /usr/bin/pip3 /usr/bin/pip


(7)繼續安裝各類包

# 安裝 setuptools 和 kconfiglib
pip3 install setuptools kconfiglib

# 安裝編譯hi3861須要的pip包
pip3 install scons ecdsa pycryptodome


2. 編譯HarmonyOS源代碼

 

(1)查看支持的平臺


經過執行python build.py -h命令,能夠查看HarmonyOS當前支持哪些平臺,如圖1所示。別找了,這多是全網最全的鴻蒙(OpenHarmony)刷機指南


第1個是hi3561,第2個是hi3518,第3個是hi3861。


(2)分別執行和3個命令來編譯這3個版本的目標文件


若是要增長調試信息,後面能夠加-b debug

# 編譯hi3561
python build.py ipcamera_hi3516dv300 -b debug
# 編譯hi3518 
python build.py ipcamera_hi3518dv300 -b debug
# 編譯hi3861
python build.py wifiiot


執行這3行命令,會在<HarmonyOS源代碼根目錄>/out目錄下出現對應的子目錄,如Hi3861編譯完,會出現wifiiot子目錄,二進制目標文件都在該目錄中。燒錄文件是Hi3861_wifiiot_app_allinone.bin。


編譯完的二進制文件下載方式在本文後面。


3. 燒錄HarmonyOS


本文以Hi3861開發板爲例,開發板樣式如圖2所示。  別找了,這多是全網最全的鴻蒙(OpenHarmony)刷機指南


須要按下面的步驟進行燒錄。


(1)將Hi3861_wifiiot_app_allinone.bin文件複製到Windows10中(隨便放一個目錄就能夠)。
(2)用Hi3861鏈接線將開發板與PC鏈接。
(3)檢查設備管理器,看看是否正確識別Hi3861開發板,若是正確識別,如圖3所示。
 
別找了,這多是全網最全的鴻蒙(OpenHarmony)刷機指南


若是設備管理器沒有「端口(COM和LPT)」節點,那是由於被隱藏了,點擊「查看」>「顯示隱藏的設備」菜單項,就會顯示,如圖4所示。

 

別找了,這多是全網最全的鴻蒙(OpenHarmony)刷機指南一般Windows 10會自動安裝驅動,若是不幸沒有自動安裝驅動,那麼能夠自行下載。Hi3861使用的是CH340G芯片,讀者可本身在google搜索該芯片驅動的下載地址,也能夠在本文後面下載驅動文件。


(4)運行HiBurn.exe


這個工具是海思作的,用於燒錄開發板,華爲推出的驅動開發工具內置了該工具,讀者也能夠在本文後面下載該工具。


運行後,在COM中選擇圖3看到的COM端口號(如圖5所示),本例是COM4。

別找了,這多是全網最全的鴻蒙(OpenHarmony)刷機指南


(5)選擇傳輸速率


點擊HiBurn中的Setting > com settings菜單項,彈出Com settings對話框,在Baud中選擇3000000,讓燒錄速度更快,如圖6所示。別找了,這多是全網最全的鴻蒙(OpenHarmony)刷機指南

查看文章更多章節>>>

做者:蒙娜麗寧

想了解更多內容,請訪問: 51CTO和華爲官方戰略合做共建的鴻蒙技術社區https://harmonyos.51cto.com

相關文章
相關標籤/搜索