📝往期推文全新看点(文中附带最新·鸿蒙全栈学习笔记)
🚩 鸿蒙(HarmonyOS)北向开发知识点记录~
🚩 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~
🚩 鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
🚩 嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
🚩 对于大前端开发来说,转鸿蒙开发究竟是福还是祸?
🚩 鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
🚩 记录一场鸿蒙开发岗位面试经历~
📃 持续更新中……
前言
如果手里不是 RK3568 这块开发板就不用往下看了。
烧录开发板是每个开发者的必修课,每次对系统的修改务必进行烧录测试,确保修改正确和不会引入新问题。
本文基于 Windows10,以 RK3568 开发板为例,指导如何烧录 OpenHarmony 镜像,镜像也叫固件。Hihoop(润和)是开发板集成商,Dayu200 是开发板型号,RK3568(瑞芯微)是芯片型号, 很多地方名称不同却指的是同一块开发板。
这块开发板是 OpenHarmony 最早完全支持的开发板,属于标准系统的开发板,整个烧录过程较为舒适。
一、 安装路线
- 1.避坑指南
- 2.Windows 下烧录前准备
- 3.Windows 下烧录镜像
- 3.1 以 Loader 模式烧录——我们一直使用的模式
- 3.2 以 Maskrom 模式烧录
- 4.Linux 命令行烧录镜像
二、避坑指南
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。