今日看点

别找了,这可能是全网最全的鸿蒙(OpenHarmony)刷机指南

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

目录:

1. 配置编译环境

2. 编译HarmonyOS源代码

3. 烧录HarmonyOS

4.下载文中资源

5.作者文章合集

摘要:相信很多同学都玩过鸿蒙(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还没测试,但大概率也没问题。


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


查看文章更多章节>>>

作者:蒙娜丽宁

想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com

 

标签组:[python] [repo] [linux系统] [linux编译

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

相关阅读

京剧:地地道道的中国国粹

京剧,曾称平剧,亦称乱弹、国剧。我国知名戏曲剧种,中国五大戏曲剧种之一,场景布置注重写意,腔调以西皮、二黄为主,用胡琴和锣鼓等伴奏,被视为中国国粹,中国戏曲三鼎甲“榜首”。京剧艺术博大精深,文戏武戏各...

2025-08-02

京剧锣鼓演奏中的忌讳

李渔在《闲情偶寄》“锣豉忌杂”一节中一曰赳:戏场锣鼓,筋节所关。当敲不敲,不当敲而敲,与宜重而轻,宜轻反重者,均足令戏文减价。” 同是一个[快长锤]锣鼓,变换演奏速度和力度(也包括音高),可用于不同的...

2025-08-02

京剧四大须生都是谁

四大须生,指四位著名的京剧老生表演艺术家。在京剧史上,有前四大须生和后四大须生的说法。而在前四大须生和后四大须生中马连良均榜上有名,因此,列名四大须生的著名京剧演员有七位,他们分别是:余叔岩、言菊朋、...

2025-08-02

京剧演唱中的十大禁忌

1、吃字:戏曲演员在唱念上,讲究口齿清楚,这样才能吐字真切,发音准确,把唱词或话白送入观众耳中。“吃字”即为咬字不清,犹如把字吃到肚子里一样,演员导致"吃字"的原因在于不能够正确的运用唇,齿,舌,牙,...

2025-08-02

董平能成为五虎将的原因

我们知道,梁山排定座次之后,就设立了很多小组,最著名的就是马军五虎将。分别是关胜,林冲,秦明,呼延灼,董平。但是通过上次的帖子,我们发现董平其实是没资格进入五虎的。今天我发现,让董平进五虎,是宋江玩弄...

2025-08-02

京剧台步:走出来的功夫

戏校每天有一堂课专门走台步,无论什么行当都必须练台步,这是基本功。假若连台步也走不好,怎么能唱戏呢?京剧讲究“四功五法”,“步”是其中很重要的一法。每个行当的台步都有自己的规范。 行当不同,台步就不同...

2025-08-02

公孙胜排名第四的原因

众所周知,梁山一百单八将虽以兄弟相称,但是其中党派林立,划分了许多阵营。这些阵营虽然不至于水火不容,却也绝对算不上和谐。在这些阵营中,对立最为明显的,则是晁盖旧部和宋江一党。 毕竟宋江取代的,是晁盖的...

2025-08-02

王安石寻笔的故事

王安石寻笔王安石听说李白有一支可以生长出花的笔之后,自己也想寻找一支这样神奇的笔,今天就给大家讲一个关于王安石寻笔的小故事。有一天王安石读书的时候从书里看到李白有一支可以生长出花的笔。他就去找他的老师...

2025-08-02

《游褒禅山记》原文及创作背景

《游褒禅山记》是北宋的政治家、思想家王安石在辞职回家的归途中游览了褒禅山后,以追忆形式写下的一篇游记。该篇游记因事见理,夹叙夹议,其中阐述的诸多思想,不仅在当时难能可贵,在当今社会也具有极其深远的现实...

2025-08-02

王安石小故事:不迩声色

不迩声色:王安石任知制诰时,王安石的妻子吴氏,给王安石置一妾。那女子前去伺候王安石,王安石问:“你是谁?”女子说自己是“家欠官债、被迫卖身”而来。王安石听罢,不仅没收她为妾,还送钱给她,帮助她还清官债...

2025-08-02