今日看点

鸿蒙(HarmonyOS)刷机指南

发表于话题:HarmonyOS 2
发布时间:2021-06-02

本文的目的是将鸿蒙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 ~/.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 “显示隐藏的设备”菜单项,就会显示,如图4所示。

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

(4)运行HiBurn.exe

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

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

(5)选择传输速率

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

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

(7)开始烧录

选中Send file按钮旁边的Auto burn复选框,然后点击上方的connect按钮,这时下方日志栏会出现Connecting字样,如图8所示。

(8)最后按一下图2所示开发板上的Reset Key,就会开始烧录,如图9所示。

这是因为Hi3861开发板需要重启,才会检测boot动作,如果遇到烧录的指令,就会烧录,否则就会正常启动。

如果烧录成功,会显示如图9所示的信息。

另外,AI Camera和DIY IPC套件附赠的USB串口线中集成了PL2302芯片,需要安装USB-to-Serial Comm Port.exe驱动才可以被Windows识别,下载地址:http://www.hihope.org/download

OK,然后就可以愉快滴玩耍了。
————————————————
版权声明:本文为CSDN博主「蒙娜丽宁」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/nokiaguy/article/details/113931855

标签组:[repo] [linux系统

本文来源:https://www.kandian5.com/articles/24004.html

相关阅读

杜牧的文学成就:受到杜甫巨大影响

杜牧的文学创作有多方面的成就,诗、赋、古文都身趁名家,喜老庄道学。杜牧主张凡为文以意为主,以气为辅,以辞采章句为之兵卫,对作品内容与形式的关系有比较正确的理解。并能吸收、融化前人的长处,以形成自己特殊...

2025-07-30

杜牧《秋夕》赏析

《秋夕》是唐代诗人杜牧(一作王建)创作的一首七言绝句,是一首宫怨诗。这首诗描写一名孤单的宫女,于七夕之夜,仰望天河两侧的牛郎织女,不时扇扑流萤,排遣心中寂寞,反映了宫廷妇女不幸的命运,表现了一位官女举...

2025-07-30

《过华清宫绝句三首》其二鉴赏

《过华清宫绝句三首》赏析:其二新丰绿树起黄埃,数骑渔阳探使回。霓裳一曲千峰上,舞破中原始下来。唐玄宗时,安禄山兼任平卢、范阳、河东三镇节度使后伺机谋反,玄宗却对他十分宠信。皇太子和宰相杨国忠屡屡启奏,...

2025-07-30

杜牧《江南春》:多少楼台烟雨中

《江南春》是唐代诗人杜牧创作的一首七绝。诗中不仅描绘了明媚的江南春光,而且还再现了江南烟雨蒙蒙的楼台景色,使江南风光更加神奇迷离,别有一番情趣。迷人的江南,经过诗人生花妙笔的点染,显得更加令人心旌摇荡...

2025-07-30

杜牧《紫薇花》:咏物抒情

《紫薇花》是唐代诗人杜牧创作的一首七言绝句。诗的首句描绘新开之紫薇花,次句赞美其不争春,后两句用《史记》“桃李无言”典故,淡雅表现紫薇花高洁的风骨和谦逊的品格。这首诗设想入奇,扩大了诗的张力和戏剧效果...

2025-07-30

杜牧的经典代表作五首

1、《清明》唐代:杜牧清明时节雨纷纷,路上行人欲断魂。借问酒家何处有,牧童遥指杏花村。译文:江南清明时节细雨纷纷飘洒,路上羁旅行人个个落魄断魂。借问当地之人何处买酒浇愁?牧童笑而不答遥指杏花山村。2、...

2025-07-30

害群之马的成语典故

害群之马的意思 害群之马是一个汉语成语,读音是hài qún zhīmǎ,原指危害马群的劣马。现比喻危害社会或集体的人。出自《庄子·杂篇·徐无鬼》。害群之马的出处 《庄子·徐无鬼》:“夫为天下者,亦奚...

2025-07-30

伯乐相马的成语典故

伯乐相马的意思 伯乐相马是一个汉语成语,拼音是,意思是比喻善于识别人才,爱惜人才。伯乐相马的出处 汉·韩婴《韩诗外传》卷七:“使骥不得伯乐,安得千里之足。”唐·韩愈《马说》:“世有伯乐,然后有千里马。...

2025-07-30

朝秦暮楚的成语典故

朝秦暮楚的意思 朝秦暮楚是一个汉语成语,拼音是zhāo qín mùchǔ,意思是战国时期,秦楚两个诸侯大国相互对立,经常作战。有的诸侯小国为了保证自身的利益与安全,时而倾向秦,时而倾向楚。朝秦暮楚的...

2025-07-30

杜牧的作品集:《樊川文集》

杜牧有《樊川文集》二十卷,是其甥裴延翰所编,宋以后人又辑有《樊川外集》、《樊川别集》等等。四部丛刊本《樊川文集》二十卷、别集一卷、外集一卷,乃据翻宋雕本影印。又有清杨寿昌的景苏园影宋本,是杨守敬令书手...

2025-07-30