最近刚刚到手IPC DIY Camera,花了点时间研究下了如何烧写,这里分享给同学们。依然还是废话少说尽量上干货。
1. 总览
目前官方提供的烧写方法有两种
1.使用IDE进行烧写
2.使用HiTool工具进行烧写
其中IDE烧写的方案我个人不建议大家使用。不仅仅是因为环境安装麻烦,每次烧写必须烧写UBoot也是让人超级无语。这意味着你在每次更新任何一段代码后,都得重新配置UBOOT。
所以这里主要描述如何使用HiTool工具进行烧写。下载地址:http://www.hihope.org/download/AllDocuments下载文件Hi3516-HiTool.zip,别在意这个文件名我确定3516和3518都可以用。
下面就是这个工具运行起来的样子,注意图中两个要点
1.芯片一定要选择正确。IPC DIY Camera选择Hi3518EV300;AI Camera选择Hi3516DV300
2.无论下面采用何种方式烧写,串口必须选择正确。如果你插入USB串口线提示已经停产,你需要安装一下润和提供的驱动程序。官方指导:https://device.HarmonyOS.com/cn/docs/ide/user-guides/hi3516\_hi3518-drivers-0000001050743695
2. 串口烧写
这是最简单的烧写方法,但是烧写速度非常感人 我个人主要用他烧写UBoot镜像
配置要点如下图:
点击烧写后,如果一切正常输出去会打印
串口已经连接,请给单板上电,若已经上电,请断电后重新上电。这时候果断拔下给板子供电的USB口,在重新插入(注意不是串口) HiTool输出区开始打印如下内容表示正在烧写了
---- 10%########################## ---- 20%...如无意外,30多秒后你会看到烧写成功的弹窗
3. USB烧写
USB烧写才是这次要分享重点。但是提供详细烧写方法之前,不得不再提一下UBOOT,因为USB烧写实际上是UBoot的能力,不同UBoot的USB烧写方法不同。
目前适用于开发板的UBoot主要有两种,如下:
3.1. 润和版Uboot烧写方法
润和版UBoot主要来自
1.开发板发货前预置烧写的
2.润和资料中HiSpark\_IPC\_DIY摄像头\_out-bin.zip。
这里先说重点不建议使用润和版UBoot配合Harmony代码,因为Harmony版UBoot中携带了少量对环境的配置。润和的Demo中使用的Linux,并不依赖这些配置,但是HOS是需要的。
润和版UBoot搭配Harmony代码的已知问题大概率无法正确探测到SDIO总线上的Hi3881,也就是说启动后无法使用WIFI
具体使用方法:
1.在操作区中选择DDR烧写,文件目录选择镜像文件的存储目录
相当于开启tftp服务器,等待板子从USB口获取里面的文件
1.重启板子,进入UBoot,使用如下命令组,逐个从电脑获取DDR目录中的文件。
以kernel烧写为例:
向0x40000000为其实地址的0x600000(6M)空间内写入FF
mw.b 0x40000000 0xff 0x600000;
\# 从USB TFTP获取文件OHOS\_Image.bin,写入地址0x40000000
usbtftp 0x40000000 OHOS\_Image.bin;
\# 探测SPI 0;擦除0x100000 开始的0x600000(6M)空间;从内存地址0x40000000的数据写入SPI存储器地址0x100000(1M),写入长度0x600000(6M)
sf probe 0;sf erase 0x100000 0x600000;sf write 0x40000000 0x100000 0x600000;完整的3个分区烧写命令
Kernel
mw.b 0x40000000 0xff 0x600000;
usbtftp 0x40000000 OHOS\_Image.bin;
sf probe 0;sf erase 0x100000 0x600000;sf write 0x40000000 0x100000 0x600000;
RootFS
mw.b 0x40000000 0xff 0x800000;
usbtftp 0x40000000 rootfs.img;
sf probe 0;sf erase 0x700000 0x800000;sf write 0x40000000 0x700000 0x800000;
UseRFS
mw.b 0x40000000 0xff 0x100000;
usbtftp 0x40000000 userfs.img;
sf probe 0;sf erase 0xf00000 0x100000;sf write 0x40000000 0xf00000 0x100000;
3.2. Harmony版烧写方法
Harmony版UBoot可以从代码中找到,具体路径 vendor\hisi\hi35xx\hi3518ev300\uboot\out\boot\u-boot-hi3518ev300.bin
烧写前,先配置工具如下
重要:烧写是否成功操作流程更重要,请严格按我说的顺序操作
1.板子上电,连接串口进入UBoot,输入命令usb device
此时请检查电脑设备管理器,是否出现这个设备,如果没有。请按照这个文档安装驱动。成功后再进行下一步
回到HiTool工具,点击烧写。直到控制台打印出如下内容再进行下一步(大约需要5s)
\# ---- 33%
\# ---- 100%
Boot download completed!
板子下电,重新上电,并进入UBoot,再次输入命令usb device 如果没有意外,串口会打印类似
hisilicon # usb deviceInstall USB Device...
version: U-Boot 2020.01
Block:64KB Chip:16MB*1
.......
resetting ...
HiTool弹窗
至此,在HiTool中勾选的全部分区都已经完成了烧写。
作者:亓官白风
想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com/