Hi3516开发板USB口烧录方法总结 原创 精华

发布于 2021-6-17 13:31
浏览
5收藏

Hi3516开发板USB口烧录方法总结

liangkz 2021.06.17

前文《Hi3516开发板烧录总结》提到:

3. USB烧录还没成功

官网上说只需要连接USB线(包含了供电)和串口线即可,按照官方文档操作,中间需要给平台“重启开发板(下电再上电)”,这总不能拔掉USB线再插上吧,开发板串口线座子边上倒是有一个SW3按键(原理图上是UPDATE_MODE),但目前实际按下去是没有反应的,估计是还需要先做一些配置。

这几天烧录标准系统,速度实在是太慢了,完整烧录一次需要8分钟以上~~所以想尝试一下USB烧录。

向华为官方咨询了一下,上面说到的需要给平台“重启开发板(下电再上电)”的操作,原来就是拔插一下USB数据线,简单粗暴有效我居然一开始就想当然地把这个操作否定掉了,实在是不应该!

 

我尝试了一下各种烧录方法,结果如下表:

Hi3516开发板USB口烧录方法总结-开源基础软件社区

下面就对上表红框内的两种烧录方法做个对比:

Hi3516开发板USB口烧录方法总结-开源基础软件社区

首先需要在Windows主机安装好USB烧录的驱动程序“HiUSBBurnDriver”,以及USB转串口的驱动程序。(请按官方指导文档去下载和安装)

 

USB口烧录,只需要连接两根线:USB线数据线(包含了供电)连接开发板背后的USB口和主机USB口;USB转串口线连接开发板串口到主机另一个USB口。

USB转串口线,默认是直接接到windows主机上的,需要切换连接到Linux虚拟机里去,如下图,选择“连接(与主机断开连接)”,这时候windows的串口设备就会切换到Linux虚拟机里的USB0。

Hi3516开发板USB口烧录方法总结-开源基础软件社区

 

Linux虚拟机里,在DevEco 打开 Hi3516工程的配置页面,点击“hi3516dv300”标签,找到“Upload Options”,“upload_port”设置为“/dev/tty/USB0”,“upload_protocol”设置为“hiburn-usb”,“upload_partitions”默认的四个可烧录的分区都列出来了,保持默认配置(跟华为官方确认了,USB烧录方法必须要擦除fastboot,然后一次性烧录4个分区),所以这里的“upload_partitions”不要改动。“Partition Configuration”里面的四个烧录分区的相关信息,也保持默认配置即可,点击“Save”保存配置。

Hi3516开发板USB口烧录方法总结-开源基础软件社区

Hi3516开发板USB口烧录方法总结-开源基础软件社区

在DevEco的“Project Tasks”界面展开“hi3516dv300”,再展开“hi3516dv300_fastboot”,点击“Erase”,开始擦除fastboot,这一步是必须要做的

Hi3516开发板USB口烧录方法总结-开源基础软件社区

右下角的终端界面会提示:

SerialPort has been connented, Please power off, then power on the device.

If it doesn't work, please try to repower on.

这时候就需要手动拔插一次USB数据线(注意不是USB转串口线),这就是“power off”再“power on”开发板了。

 

开发板重新上电,擦除fastboot分区成功,会有下图的log,同时会有一个新的“Huawei USB Serial”设备尝试连接进来,选择将其连接进虚拟机里。

Hi3516开发板USB口烧录方法总结-开源基础软件社区

确定后,再点击“Project Tasks”界面上的“Upload”按键,这时候平台会自动重启,

Open USB Success

################################################# ---- 10%

########## .....

################################################# ---- 100%

Boot download completed!

Open USB Success

start download process.

Boot started successfully!

接下来是自动执行一组“Send command:”开始烧录,20s左右就完成烧录了,速度可比网口烧录快多了!

Hi3516开发板USB口烧录方法总结-开源基础软件社区

烧录完成后,平台自动重启,会停留在

Hit any key to stop autoboot:  0 

## Error: "distro_bootcmd" not defined

hisilicon # 

这一步,这是因为烧录了fastboot分区的缘故。

 

这里,需要你重新写入引导内核启动的指令和参数,可以直接点击“hi3516dv300”中的“Configure bootloader(Boot OS)”按钮,根据终端的提示,重新拔插一下USB数据线,就可以自动执行命令配置fastboot的指令和参数,并且自动重启了。

Hi3516开发板USB口烧录方法总结-开源基础软件社区

也可以在你清楚地知道自己在做什么的前提下,在终端手动写入下面四条指令完成同样的工作:

setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000";

setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=20M rw";

saveenv

reset

前两条指令的参数一定要与上面“Partition Configuration”配置的参数匹配,否则会出现无法正确引导内核启动的异常。

 

系统自动重启,就大功告成了。

 

 

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2021-6-17 14:21:45修改
9
收藏 5
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐