大家好,我是你的好朋友思创斯。网站金沙1005首页:https://ispacesoft.com
本文的目的是将鸿蒙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 < ~/.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
第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行命令,会在
编译完的二进制文件下载方式在本文后面。
3. 烧录harmonyos
本文以hi3861开发板为例,开发板样式如图2所示。
图2
需要按下面的步骤进行烧录。
(1)将hi3861_wifiiot_app_allinone.bin文件复制到windows10中(随便放一个目录就可以)。
(2)用hi3861连接线将开发板与pc连接。
(3)检查设备管理器,看看是否正确识别hi3861开发板,如果正确识别,如图3所示。
图3
如果设备管理器没有“端口(com和lpt)”节点,那是因为被隐藏了,点击“查看”>“显示隐藏的设备”菜单项,就会显示,如图4所示。
图4
通常windows 10会自动安装驱动,如果不幸没有自动安装驱动,那么可以自行下载。hi3861使用的是ch340g芯片,读者可自己在google搜索该芯片驱动的下载地址,也可以在本文后面下载驱动文件。
(4)运行hiburn.exe
这个工具是海思做的,用于烧录开发板,华为推出的驱动开发工具内置了该工具,读者也可以在本文后面下载该工具。
运行后,在com中选择图3看到的com端口号(如图5所示),本例是com4。
图5
(5)选择传输速率
点击hiburn中的setting > com settings菜单项,弹出com settings对话框,在baud中选择3000000,让烧录速度更快,如图6所示。
图6
(6)点击select file按钮,选择hi3861_wifiiot_app_allinone.bin文件,在下方列表中会出现如图7所示的3个烧录项。这个文件其实是多个烧录项的合体。
图7
(7)开始烧录
选中send file按钮旁边的auto burn复选框,然后点击上方的connect按钮,这时下方日志栏会出现connecting字样,如图8所示。
图8
(8)最后按一下图2所示开发板上的reset key,就会开始烧录,如图9所示。
这是因为hi3861开发板需要重启,才会检测boot动作,如果遇到烧录的指令,就会烧录,否则就会正常启动。
如果烧录成功,会显示如图9所示的信息。
图9
另外,ai camera和diy ipc套件附赠的usb串口线中集成了pl2302芯片,需要安装usb-to-serial comm port.exe驱动才可以被windows识别,下载地址:http://www.hihope.org/download
ok,然后就可以愉快滴玩耍了。后期会推出基于hi3861以及其他harmonyos开发板的有趣的iot项目的文章和视频课程,敬请期待。
微信扫描下载本文需要的所有资源,或者关注「极客起源」微信公众号,输入178950获取资源下载地址。
– eof –
想深入学习python的同学,可以识别上面二维码进入课程页面
推荐阅读 点击标题可跳转
关注「极客起源」公众号,加星标,不错过精彩技术干货
文章由思创斯整理,转载请注明出处:https://ispacesoft.com/4666.html