0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

中国软件openharmony刷机包

姚小熊27 来源:HarmonyOS技术社区 作者:HarmonyOS技术社区 2021-06-23 16:42 次阅读

摘要:相信很多同学都玩过openharmony了,不过估计大多数同学都只是用鸿蒙开发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还没测试,但大概率也没问题。

所以这里是重点:需要准备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/repo

chmod +x ~/bin/repo

echo ‘export PATH=~/bin:$PATH’ 》》 ~/.bashrc

source ~/.bashrc

如果还没有curl命令,需要先执行下面的命令下载curl:

sudo apt install curl

(2)下载HarmonyOS源代码

读者可按下面的操作下载HarmonyOS的最新源代码

mkdir -p ~/harmonyos/openharmony && cd ~/harmonyos/openharmony

sudo 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-verify

repo 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/compiler

DOWNLOAD_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.tar

wget -P $DOWNLOAD_DIR $URL_PREFIX/ninja/1.9.0/linux/ninja.1.9.0.tar

wget -P $DOWNLOAD_DIR $URL_PREFIX/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar

wget -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.tar

tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/ninja.1.9.0.tar

tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/llvm-linux-9.0.0-34042.tar

tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/hc-gen-0.65-linux.tar

tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/gcc_riscv32-linux-7.3.0.tar.gz

# 向 ~/.bashrc 中追加gn/ninja/LLVM/hc-gen路径配置:

cat 《《EOF 》》 ~/.bashrc

TOOLCHAIN_DIR=$TOOLCHAIN_DIR

export PATH=\$TOOLCHAIN_DIR/gn:\$PATH

export PATH=\$TOOLCHAIN_DIR/ninja:\$PATH

export PATH=\$TOOLCHAIN_DIR/llvm/bin:\$PATH

export PATH=\$TOOLCHAIN_DIR/hc-gen:\$PATH

export PATH=\$TOOLCHAIN_DIR/gcc_riscv32/bin:\$PATH

export 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/simple

trusted-host = mirrors.huaweicloud.com

timeout = 120

EOF

另外,如果没有pip命令,是因为默认叫pip3,可以执行下面的命令创建pip命令。

ln -s /usr/bin/pip3 /usr/bin/pip

(7)继续安装各种包

# 安装 setuptools 和 kconfiglib

pip3 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

# 编译hi3561

python build.py ipcamera_hi3516dv300 -b debug

# 编译hi3518

python build.py ipcamera_hi3518dv300 -b debug

# 编译hi3861

python 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开发板,如果正确识别,如图3所示。

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

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

(4)运行HiBurn.exe

这个工具是海思做的,用于烧录开发板,华为推出的驱动开发工具内置了该工具,读者也可以在本文后面下载该工具。

运行后,在COM中选择图3看到的COM端口号(如图5所示),本例是COM4。

(5)选择传输速率

点击HiBurn中的Setting 》 com settings菜单项,弹出Com settings对话框,在Baud中选择3000000,让烧录速度更快,如图6所示。

责任编辑:YYX

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

    关注

    1

    文章

    21

    浏览量

    15888
  • Hi3518
    +关注

    关注

    0

    文章

    8

    浏览量

    5350
  • 鸿蒙
    +关注

    关注

    57

    文章

    2336

    浏览量

    42801
  • OpenHarmony
    +关注

    关注

    25

    文章

    3712

    浏览量

    16250
收藏 人收藏

    评论

    相关推荐

    中国人民大学OpenHarmony技术俱乐部正式揭牌成立

    12月13日,由OpenAtom OpenHarmony(以下简称“OpenHarmony”)项目群技术指导委员会与中国人民大学共同举办的“中国人民大学
    的头像 发表于 12-17 09:15 213次阅读
    <b class='flag-5'>中国</b>人民大学<b class='flag-5'>OpenHarmony</b>技术俱乐部正式揭牌成立

    市场活动 | 润和软件星闪业务亮相第三届OpenHarmony技术大会

    海世博中心盛大举办。作为OpenHarmony项目群初始成员单位、A类捐赠人、核心共建单位,以及本届TSC的主要支持单位之一,江苏润和软件股份有限公司(以下简称“润
    的头像 发表于 10-17 08:00 547次阅读
    市场活动 | 润和<b class='flag-5'>软件</b>星闪业务亮相第三届<b class='flag-5'>OpenHarmony</b>技术大会

    第三届OpenHarmony技术大会在上海成功举办

    OpenHarmony”)项目群技术指导委员会(TSC)主办,华为、上海交通大学、润开鸿、开鸿智谷、九联开鸿、鸿湖万联、深开鸿、中国科学院软件研究所、奥思维、证通电子、诚迈科技、汇思博等合作单位支持,邀请
    发表于 10-13 11:14

    Openharmony软件评估指南-米尔瑞芯微RK3568开发板

    Openharmony系统软件评估和开发文档、以及开发调试过程中使用的一些工具等。相应的硬件资料也随SDK一起以文件的形式发布,完整的文件内容如下: 表3-1. MYD-LR35
    发表于 09-06 20:06

    DVD程序

    DVD程序恒晨CVD613B机芯板号CVD605A-B 12XH SEVR0 V1.5 8202GQ 120XH
    发表于 09-05 11:38 0次下载

    小雅触屏音箱成maskrom

    小雅触屏音箱,把提出的system文件增加软件回去,结果忘点设备分区表查看地址,没有生成正确地址,是打开软件时的原始地址,结果fla
    发表于 08-27 01:43

    名单公布!【书籍评测活动NO.38】OpenHarmony开发与实践 | 基于红莓RK2206开发板

    移植,包括板级支持(BSP)的开发和适配,以及外设驱动的开发和移植;第5章介绍了OpenHarmony操作系统的IoT组件开发,包括GPIO、PWM、UART等常用组件的开发和使用;第6章介绍了
    发表于 07-19 10:57

    中国矿业大学OpenHarmony技术俱乐部正式揭牌成立

    6月14日,由OpenAtom OpenHarmony(以下简称“OpenHarmony”)项目群技术指导委员会与中国矿业大学共同举办的“中国矿业大学
    的头像 发表于 06-19 16:55 406次阅读
    <b class='flag-5'>中国</b>矿业大学<b class='flag-5'>OpenHarmony</b>技术俱乐部正式揭牌成立

    基础软件开源生态研讨会暨OpenHarmony城市技术论坛(延安站)成功举办

    ”基础软件开源生态研讨会暨OpenHarmony城市技术论坛延安站活动在延安举行。二十余名来自OpenHarmony项目群技术指导委员会、华为、中国科学院
    的头像 发表于 05-17 09:29 321次阅读
    基础<b class='flag-5'>软件</b>开源生态研讨会暨<b class='flag-5'>OpenHarmony</b>城市技术论坛(延安站)成功举办

    基础软件开源生态研讨会暨OpenHarmony城市技术论坛延安站活动成功举办

    中学协办,延安市科技局、延安市工信局、延安学习书院支持的“红色筑梦智汇未来”基础软件开源生态研讨会暨OpenHarmony城市技术论坛延安站活动在延安举行。二十余名来自OpenHarmony项目群技术指导委员会、华为、
    的头像 发表于 05-15 18:41 548次阅读
    基础<b class='flag-5'>软件</b>开源生态研讨会暨<b class='flag-5'>OpenHarmony</b>城市技术论坛延安站活动成功举办

    鸿蒙开发学习:【OpenHarmony HAR】

    OpenHarmony js/ts三方库使用的是OpenHarmony静态共享,即HAR(Harmony Archive),可以包含js/ts代码、c++库、资源和配置文件。通过HAR,可以实现
    的头像 发表于 03-18 16:27 740次阅读

    开放原子开源大赛—基于OpenHarmony的团结引擎应用开发赛正式启动!

    “基于OpenHarmony的团结引擎应用开发赛”是开放原子全球开源大赛下开设的新兴及应用赛的赛题之一,本次赛题旨在鼓励更多开发者基于OpenHarmony 4.x版本,使用Unity中国团结引擎
    发表于 03-13 10:45

    重庆大学OpenHarmony技术俱乐部正式揭牌成立

    委员会与重庆大学共同举办的“重庆大学OpenHarmony技术俱乐部成立大会暨关键软件筑基数智生态创新论坛”在虎溪校区图书馆大报告厅举行。 嘉宾合影 重庆大学校长、中国工程院院士王树新出席大会并致辞
    的头像 发表于 01-11 21:30 737次阅读
    重庆大学<b class='flag-5'>OpenHarmony</b>技术俱乐部正式揭牌成立

    OpenHarmony社区运营报告(2023年12月)

    1.7 万行。 • 京东:贡献 TARO 适配 OpenHarmony 版本 1.5 万行。 • 诚迈科技:贡献多模输入、用户态 Rndis、驱动外设等领域特性,新增 1300+行。 • 中国科学院软件
    发表于 01-10 15:44

    电池气密检测怎么用

    电池气密检测是一种重要的质量检测设备,本文介绍了其详细的使用方法,以及注意事项。通过正确操作电池气密检测,可以确保电池的密封性能,
    的头像 发表于 12-25 11:25 511次阅读