将鸿蒙2.0刷到润和Hi3861、Hi3516和Hi3518开发板上,附源码

MoMo 2021年6月6日16:59:19
评论
286

目前网上已经有很多关于刷鸿蒙2.0的文章,我整理了一下,并结合自己的经验,在本文中阐述了从配置环境,到编译鸿蒙源代码,再到刷机的全过程。

注意:这里的Hi3861相当于Ardiuno,价格也差不多,主要用于控制外设,本身并没有多少计算能力,Hi3516Hi3518的配置相对较高,支持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还没测试,但大概率也没问题。

所以这里是重点:需要准备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  # 以后每天同步远程仓的修改,只需要执行这一条命令即可

读者需要将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_DIR
wget -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 <<EOF >> ~/.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 <<EOF > ~/.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行命令,会在<HarmonyOS源代码根目录>/out目录下出现对应的子目录,如Hi3861编译完,会出现wifiiot子目录,二进制目标文件都在该目录中。烧录文件是Hi3861_wifiiot_app_allinone.bin。
编译完的二进制文件下载方式在本文后面。3. 烧录HarmonyOS本文以Hi3861开发板为例,开发板样式如图2所示。

需要按下面的步骤进行烧录。

(1)将Hi3861_wifiiot_app_allinone.bin文件复制到Windows10中(随便放一个目录就可以)。

(2)用Hi3861连接线将开发板与PC连接。

(3)检查设备管理器,看看是否正确识别Hi3861开发板,如果正确识别。

如果设备管理器没有“端口(COM和LPT)”节点,那是因为被隐藏了,点击“查看”>“显示隐藏的设备”菜单项,就会显示。

通常Windows 10会自动安装驱动,如果不幸没有自动安装驱动,那么可以自行下载。Hi3861使用的是CH340G芯片,读者可自己在google搜索该芯片驱动的下载地址,也可以在本文后面下载驱动文件。

(4)运行HiBurn.exe这个工具是海思做的,用于烧录开发板,华为推出的驱动开发工具内置了该工具,读者也可以在本文后面下载该工具。运行后,在COM中选择图3看到的COM端口号,本例是COM4。

(5)选择传输速率点击HiBurn中的Setting > com settings菜单项,弹出Com settings对话框,在Baud中选择3000000,让烧录速度更快。https://xpanx.com/2117.html

(6)点击Select file按钮,选择Hi3861_wifiiot_app_allinone.bin文件,在下方列表中会出现如图7所示的3个烧录项。这个文件其实是多个烧录项的合体。

(7)开始烧录选中Send file按钮旁边的Auto burn复选框,然后点击上方的connect按钮,这时下方日志栏会出现Connecting字样,

8)最后按一下图2所示开发板上的Reset Key,就会开始烧录,如图9所示。这是因为Hi3861开发板需要重启,才会检测boot动作,如果遇到烧录的指令,就会烧录,否则就会正常启动。如果烧录成功,会显示所示的信息。

另外,AI Camera和DIY IPC套件附赠的USB串口线中集成了PL2302芯片,需要安装USB-to-Serial Comm Port.exe驱动才可以被Windows识别,下载地址:http://www.hihope.org/downloadOK,然后就可以愉快滴玩耍了。后期会推出基于HI3861以及其他HarmonyOS开发板的有趣的IoT项目的文章和视频课程,敬请期待。

 

下载信息 wechat 公众号名称:xpanx 将鸿蒙2.0刷到润和Hi3861、Hi3516和Hi3518开发板上源码 解压密码:
扫描二维码关注本站微信公众号,回复 鸿蒙开发板刷机 获取解压密码
下载地址
https://xpanx.com/
MoMo
  • 本文由 发表于 2021年6月6日16:59:19
  • 转载请务必保留本文链接:https://xpanx.com/2117.html
 TongWeb 在企业级应用中的作用 东方通

 TongWeb 在企业级应用中的作用

  应用服务器 TongWeb v7 全面支持 JavaEE7 及部分 JavaEE8 规范,作为基础架 构软件,位于操作系统与应用之间,帮助企业将业务应用集成在一个基础平台上, 为应用高效...
东方通TongWeb V7.0 技术白皮书 概述 东方通

东方通TongWeb V7.0 技术白皮书 概述

现今,伴随网络和信息化建设的蓬勃发展,各种组织机构和企业都需要大量 新的应用程序和服务来应对不断扩展的业务需求和市场变化,而中间件平台为企 业提供了应用开发、部署、运行、维护所需的基础设施,既能减少企...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: