工欲善其事,必先利其器。 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

首次编译较慢,大约一小时,编译完成。 无标题1.png 对源代码applications/standard/hap/BUILD.gn稍作修改,保存,再次编译,77秒,编译成功 无标题2.png 编译后生成的烧录文件,输出在 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项烧录文件信息 无标题3.png

  4. 在“hi3516dv300”选项卡下,设置烧录选项 ,注意设置之前需完成硬件连接并通电。 无标题4.png 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 请添加链接描述

  5. 工程配置完成后,点击右上部Save进行保存。

  6. 打开DevEco Device Tool界面,在PROJECT TASKS中,点击code-2.0-canary下hi3516dv300的Upload按钮,启动烧录。

  7. 开始烧录后,根据提示,对Hi3516开发板断电再上电

  8. 重新上电后,先串口烧录,再网口烧录,十分钟左右,烧录成功。 02.png 开发板自动重启,进入OpenHarmony2.0标准系统的开机桌面 03.png

总结

  1. 标准系统初次编译较慢,后续增量编译一般可以在几分钟之内完成,加上烧录10分钟左右,标准系统的编译烧录一般为十多分钟或者更少,基本可以满足学习和开发需求。
  2. 手动配置Partition Configuration烧录信息较为繁琐,相比轻量系统的自动配置或者烧录工具Hitool的一键配置,后续版本DevEco Device Tool相信会加以改进
  3. OpenHarmony2.0的源码code-2.0-canary在ubuntu环境下,小型系统和标准系统都已实现一站式开发。在windows环境下,轻量型Hi3861的也已实现一站式开发。

想了解更多关于鸿蒙的内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#bkwz

21_9.jpg