openharmony怎么用

电子说

1.2w人已加入

描述

  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所示。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分