首发: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
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下使用,我们采用网口方式烧录。
-
首先开发板通电,用串口线连接电脑USB口和开发板,把电脑和开发板分别通过网线连接到路由器。
-
打开DevEco Device Tool,在Projects中,点击code-2.0-canary工程的Settings打开工程配置界面。
-
在Partition Configuration选项卡中,删除原有4项烧录文件信息,添加位于out/ohos-arm-release/packages/phone/images/下的7项烧录文件信息
-
在“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
-
工程配置完成后,点击右上部Save进行保存。
-
打开DevEco Device Tool界面,在PROJECT TASKS中,点击code-2.0-canary下hi3516dv300的Upload按钮,启动烧录。
-
开始烧录后,根据提示,对Hi3516开发板断电再上电
-
重新上电后,先串口烧录,再网口烧录,十分钟左右,烧录成功。
开发板自动重启,进入OpenHarmony2.0标准系统的开机桌面
总结
- 标准系统初次编译较慢,后续增量编译一般可以在几分钟之内完成,加上烧录10分钟左右,标准系统的编译烧录一般为十多分钟或者更少,基本可以满足学习和开发需求。
- 手动配置Partition Configuration烧录信息较为繁琐,相比轻量系统的自动配置或者烧录工具Hitool的一键配置,后续版本DevEco Device Tool相信会加以改进
- OpenHarmony2.0的源码code-2.0-canary在ubuntu环境下,小型系统和标准系统都已实现一站式开发。在windows环境下,轻量型Hi3861的也已实现一站式开发。
大佬牛批
--来自51CTO 鸿蒙技术社区社区鸿蒙版