前言
如果手里不是RK3568 这块开发板就不用往下看了。
烧录开发板是每个开发者的必修课,每次对系统的修改务必进行烧录测试,确保修改正确和不会引入新问题。
本文基于Windows10,以RK3568开发板为例,指导如何烧录 OpenHarmony 镜像,镜像也叫固件。Hihoop(润和)是开发板集成商,Dayu200是开发板型号,RK3568(瑞芯微)是芯片型号, 很多地方名称不同却指的是同一块开发板。
这块开发板是OpenHarmony最早完全支持的开发板,属于标准系统的开发板,整个烧录过程较为舒适。
一、 安装路线
二、避坑指南
1. 每次烧录镜像时如何不用选择路径?
- 第一次导入原始config.cfg之后,选择正确的路径,再导出配置,保存起来;
- 下次烧录镜像,直接将之前保存的配置文件,导入配置即可;
2. 从服务器上下载镜像,看到了全部的镜像文件,但是烧录最后提示失败,怎么办?
- 一般是下载不完整造成的,即文件大小较小,所以重新下载完成再烧录即可解决。
3. gitee上下载的最新镜像一定是正常的吗?
- 不一定,甚至一周时间都不正常,所以建议本地至少备份最近且正常的代码或者镜像包。
三、Windows下烧录前准备
3.1. 安装 USB 驱动
双击 windows\DriverAssitant\ DriverInstall.exe 打开安装程序,点击下图所示的“驱动安装”按钮:

说明:
1.如果已经安装旧版本的烧录工具,请先点击“驱动卸载”按钮下载驱动,然后再点击“驱动安装”按钮安装驱动。
2.驱动安装一次就好了,无须每次烧录前安装。
3.2 连接电缆
按照图片提示连接电源线,Debug 串口调试线,USB 烧录线

打开电源,开发板指示灯点亮
3.3 下载镜像
方法一:从每日编译的 Daily 版本中下载对应镜像(http://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist),选择 dayu200 进行下载
方法二:拉取源码编译,在路径 out/rk3568/packages/phone/images 目录里拷贝镜像
方法三:下载 RK3568 官方提供的固件,下载地址:https://gitee.com/hihope_iot/images
四、Windows 下烧录镜像
4.1 以Loader 模式烧录
4.1.1. 将固件下载到本地目录


4.1.2. 打开烧录工具
-
开发板现在处于开机状态,双击 windows\RKDevTool.exe 打开烧录工具,按鼠标右键导入配置

-
选择config.cfg 配置文件,然后打开

-
长按 Power 和 VOL+/RECOVER 按键超过6秒,让开发板关机,抬起手指,这时提示"没有发现设备"

-
再次按下这两个键,这时提示"发现一个LOADER设备"

-
松开按键,点击执行进行烧录, 稍等几秒后, 这时会在右侧信息框提示“下载完成”
4.2. 以Maskrom 模式烧录
4.2.1. 打开烧录工具
-
双击 windows\RKDevTool.exe 打开烧录工具,如图所示,默认是 Maskrom 模式:

-
将固件下载保存到本地目录,勾选需要烧录的固件

4.2.2 确认开发板是否进入烧录模式
如果界面显示"发现一个 MASKROM 设备", 说明开发板进入 Maskrom 模式等待烧录固件。
如果界面显示"没有发现设备",说明开发板没有进入烧录模式,请按以下操作步骤让开发板进入烧录模式。
a. 按住白色按钮 Maskrom 按键(图中标注的①号键)和 RESET 按钮(图中标注的②号键)不松开,烧录工具此时显示“没有发现设备”;

b. 松开 RESER 键,烧录工具显示“发现一个 MASKROM 设备”,说明此时已经进入烧录模式

c. 松开按键,稍等几秒后点击执行进行烧录

说明:
如果烧录成功,在工具界面右侧会显示下载完成
如果烧录失败,在工具界面右侧会用红色的字体显示烧录错误信息,更多出错信息查看 Log 目录下的文件
五、Linux 命令行烧录镜像
5.1. 查看开发板是否进入烧录模式
进入 OHOS 的根目录,执行命令查看:python3 flash.py -q
说明:
如果输出"loader", 说明开发板进入 Loader 模式等待烧录固件
如果输出"maskrom", 说明开发板进入 Maskrom 模式等待烧录固件
如果输出"none",说明开发板没有进入烧录模式,请按文档第 2 部分内容操作让开发板进入烧录模式
5.2. 烧录固件
烧录所有固件:python3 flash.py -a
说明:此命令会烧录所有 OHOS 固件,包括:uboot, kernel(boot_linux), system, vendor, userdata 烧录指定固件:
python3 flash.py -u //烧录 uboot.img
python3 flash.py -k //烧录 boot_linux.img
python3 flash.py -s //烧录 system.img
python3 flash.py -v //烧录 vendor.img
python3 flash.py -d //烧录 userdata.img
说明:烧录多个指定固件,可以根据需要执行输入多个参数。如:-sv 表示烧录 system.img 和 vendor.img。
5.3 烧录完成


六、恭喜您!
您成功将镜像(固件)烧录到了开发板,可以一睹芳容!操作相关应用看看功能是否正常,用IPOP工具、hdc工具查看日志,也可以跑一下相关模块的测试用例看看功能是否成功。
您如果是OpenHarmony开源贡献者,下一章节指导您如何将修改好的代码上库。您如果不是OpenHarmony开源贡献者,工作准备的教程就到此结束了。预祝您以后的工作顺利!