更多内容请访问:Harmonyos技术社区https://harmonyos.51cto.com总结:我相信很多同学都玩过HarmonyOS,但估计大部分只是用HarmonyOS来开发App,这和开发AndroidApp没什么两样。不过,鸿蒙还有一个比较有意思的玩法,就是和硬件结合,也就是IoT。本文将教大家如何将鸿蒙刷入开发板,通过鸿蒙可以控制更多的硬件。本文目的是将鸿蒙2.0刷入润和Hi3861、Hi3516、Hi3518开发板。目前网上刷鸿蒙2.0的文章很多。我整理了一下,结合自己的经验。在这篇文章中,我讲解了从配置环境,编译鸿蒙源码,到刷机的整个过程。注:这里的Hi3861相当于Ardiuno,价格差不多。主要用来控制外设,本身并没有太多的计算能力。Hi3516和Hi3518的配置比较高,支持GUI。有点像树莓派。本文主要以Hi3861为例。其他两块开发板的编译烧写过程类似。Hi3581需要分编译环境和烧录环境。目前编译环境只能是linux。推荐使用UbuntuLinux20.04。使用此版本将为您省去很多麻烦。至少Python环境直接是3.8.5,可以忽略Python,因为要编译HarmonyOS,Python版本是3.7以上。经测试,Python3.9没有问题。Hi3581的刷机环境需要使用Windows,推荐使用Windows10。Home和Professional版本都经过测试,没有问题。Windows企业版没有测试过,但是大概率不会有问题。所以重点是:需要准备Ubuntu20.04和Windows10。在Ubuntu20.04可以安装的虚拟机中,我使用的是VMWare,这样可以通过快照来切换不同的状态。一、配置编译环境现在开始配置Ubuntu20.04的编译环境。读者需要按照以下步骤操作:(1)配置repo工具如果你的Linux系统没有配置过repo命令,你需要下载并配置repo命令行工具:mkdir~/bin/curlhttps://gitee.com/oschina/repo/raw/fork_flow/repo-py3>~/bin/repochmod+x~/bin/repoecho'exportPATH=~/bin:$PATH'>>~/.bashrcsource~/.bashrc如果没有curl命令,需要先执行以下命令下载curl:sudoaptinstallcurl(2)下载HarmonyOS源码读者可以下载最新的HarmonyOS源码mkdir-p~/harmonyos/openharmony&&cd~/harmonyos/openharmonysudoaptinstall--no-install-recommendsgitpython#repo工具本身是一个python脚本,它会调用git命令下载单个代码仓库gitconfig--globaluser.name"yourname"gitconfig--globaluser.email"your-email-address"repoinit-uhttps://gitee.com/openharmony/manifest.git-bmaster--no-repo-verifyreposync-c#以后只需要执行这个comm并每天同步远程仓库的修改。读者需要将yourname更改为您自己的姓名,将your-email-address更改为您的电子邮件。(3)查看终端是否安装了mkfs.vfat和mcopy命令,执行这两个命令。如果没有,使用apt安装这两个命令(4)安装各种工具和包。在终端执行以下命令安装:sudoapt-getinstalldosfstoolsmtools#官??方文档中描述的两个文件系统打包工具sudoapt-getinstallzip#虽然官方文档没有写,但是打包rootfs的过程中需要sudoaptinstallsmtd-utils#3518需要打包jffs2镜像的mkfs.jffs2命令需要安装sudoaptinstallbuild-essential#安装gcc/g++/make等工具,ffmpeg测试时需要用到下载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$下载目录$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#添加gn/ninja/LLVM/hc-gen路径配置到~/.bashrc:cat<
