OpenHarmony2.0 一站式編譯燒錄Hi3516標準系統
工欲善其事,必先利其器。
6月初,OpenHarmony2.0開源后,Hi3516的小型系統已經實現ubuntu環境下的一站式開發,對于Hi3516的標準系統,同樣可以一站式編譯燒錄,提高開發效率。
開發環境和源碼升級
標準系統的開發 需在小型系統開發環境的基礎上進行升級。小型系統開發參考(https://harmonyos.51cto.com/posts/7435)(ubuntu20.04,DevEco Device Tool v2.2 Beta1,源碼code-2.0-canary)
1.安裝依賴工具
- sudo apt-get install binutils git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4
- 1.
- 1.
- 1.
2.升級源碼的 prebuilts
- #切換到工程目錄
- cd code-2.0-canary
- #下載腳本文件prebuilts_download.sh
- curl https://gitee.com/landwind/script-tools/raw/master/Shell/OpenHarmony/OpenHarmony_2.0_canary_prebuilts_download.sh >./prebuilts_download.sh
- #運行腳本,下載升級源碼的二進制文件,并解壓到指定位置
- bash ./prebuilts_download.sh
3.標準系統編譯JS Framework,需下載并配置NodeJS
- #創建nodejs目錄
- mkdir -p prebuilts/build-tools/common/nodejs
- #進入nodejs目錄
- cd prebuilts/build-tools/common/nodejs
- #下載nodejs (下載較慢且網絡不穩,可下載附件壓縮包,放至code-2.0-canary/prebuilts/build-tools/common/nodejs 下 )
- wget --no-check-certificate https://nodejs.org/download/release/v12.18.4/node-v12.18.4-linux-x64.tar.gz
- #解壓nodejs壓縮包
- tar -zxvf node-v12.18.4-linux-x64.tar.gz
- #設置NodeJS環境變量
- echo "export PATH=`pwd`/node-v12.18.4-linux-x64/bin:${PATH}" >> ~/.bashrc;source ~/.bashrc
- #切換到之前的目錄 code-2.0-canary 下
- cd -
- #進入源代碼的third_party/jsframework目錄,準備下載node_modules包
- cd third_party/jsframework
- #下載node_modules包
- npm install
- #升級npm
- npm install -g npm
- #切換到之前的目錄 code-2.0-canary 下
- cd -
- #在prebuilts/build-tools/common下創建js-framework目錄
- mkdir -p prebuilts/build-tools/common/js-framework
- #把下載的node_modules包放入js-framework
- cp -rp third_party/jsframework/node_modules prebuilts/build-tools/common/js-framework/
恭喜你,標準系統開發環境搭建成功!
編譯
環境搭建好,就可以編譯了。在code-2.0-canary 工程的命令窗口,執行標準系統的編譯指令
- ./build.sh --product-name Hi3516DV300
首次編譯較慢,大約一小時,編譯完成。

對源代碼applications/standard/hap/BUILD.gn稍作修改,保存,再次編譯,77秒,編譯成功

編譯后生成的燒錄文件,輸出在 out/ohos-arm-release/packages/phone/images/ 目錄下
燒錄
.Hi3516DV300燒錄標準系統,有USB、網口和串口燒錄三種方式,串口太慢,USB只能在windows下使用,我們采用網口方式燒錄。
1.首先開發板通電,用串口線連接電腦USB口和開發板,把電腦和開發板分別通過網線連接到路由器。
2.打開DevEco Device Tool,在Projects中,點擊code-2.0-canary工程的Settings打開工程配置界面。
3.在Partition Configuration選項卡中,刪除原有4項燒錄文件信息,添加位于out/ohos-arm-release/packages/phone/images/下的7項燒錄文件信息

4.在“hi3516dv300”選項卡下,設置燒錄選項 ,注意設置之前需完成硬件連接并通電。

5.網絡設置如下:
upload_net_server_ip: 電腦主機的IP地址,本機為 192.168.1.101
upload_net_client_mask:開發板的子網掩碼,自動生成 255.255.255.0
upload_net_client_gw: 開發板的網關,自動生成 192.168.1.1,需留心與路由器是否一致
upload_net_client_ip: 開發板的IP地址,自動生成 192.168.1.2
6.工程配置完成后,點擊右上部Save進行保存。
7.打開DevEco Device Tool界面,在PROJECT TASKS中,點擊code-2.0-canary下hi3516dv300的Upload按鈕,啟動燒錄。
8.開始燒錄后,根據提示,對Hi3516開發板斷電再上電
9.重新上電后,先串口燒錄,再網口燒錄,十分鐘左右,燒錄成功。

開發板自動重啟,進入OpenHarmony2.0標準系統的開機桌面
總結
1.標準系統初次編譯較慢,后續增量編譯一般可以在幾分鐘之內完成,加上燒錄10分鐘左右,標準系統的編譯燒錄一般為十多分鐘或者更少,基本可以滿足學習和開發需求。
2.手動配置Partition Configuration燒錄信息較為繁瑣,相比輕量系統的自動配置或者燒錄工具Hitool的一鍵配置,后續版本DevEco Device Tool相信會加以改進
3.OpenHarmony2.0的源碼code-2.0-canary在ubuntu環境下,小型系統和標準系統都已實現一站式開發。在windows環境下,輕量型Hi3861的也已實現一站式開發。