【HarmonyOS HiSpark AI Camera】映像烧录
头像 Tiechui.Wang 2021-02-05 10:00:00    发布
3670 浏览 20 点赞 21 收藏

HiSpark AI Camera开发板的鸿蒙系统有4个映像:
u-boot-hi3516dv300.bin、OHOS_Image.bin、rootfs.img和useRFs.img。
目前支持串口、USB、网口三种方式进行映像烧录。
在映像烧录前,需要确认每个映像在EMMC中的存储起始地址和存储空间大小即映像分区表。

HiSpark AI Camera开发板分区表如下:
(文件路径部分请用户根据自己的镜像目录进行修改!!!)


<?xml version="1.0" encoding="GB2312" ?>
<Partition_Info>
<Part Sel="1" PartitionName="fastboot" FlashType="emmc" FileSystem="none" Start="0"      Length="1M"   SelectFile="D:\img\hmos\u-boot-hi3516dv300.bin"/>
<Part Sel="1" PartitionName="kernel"    FlashType="emmc"  FileSystem="none" Start="1M"  Length="9M"   SelectFile="D:\img\hmos\OHOS_Image.bin"/>
<Part Sel="1" PartitionName="rootfs"    FlashType="emmc"  FileSystem="none" Start="10M" Length="15M" SelectFile="D:\img\hmos\rootfs.img"/>
<Part Sel="1" PartitionName="userfs"    FlashType="emmc"  FileSystem="none" Start="25M" Length="50M" SelectFile="D:\img\hmos\userfs.img"/>
</Partition_Info>

镜像名称起始地址长度
u-boot-hi3516dv300.bin0x00x100000
OHOS_Image.bin0x1000000x900000
rootfs.img0xa000000xf00000
userfs.img0x19000000x3200000

在烧录映像前,需要通过串口线、网线连接PC和单板,同时连接单板的电源线,保证单板可正常上电和通信。

HiTool工具烧写

HiTool是海思芯片的映像烧录工具,在映像烧录前,先选择对应的芯片,见下图:

【HarmonyOS HiSpark AI Camera】映像烧录-鸿蒙开发者社区

映像烧录方法见下图:


【HarmonyOS HiSpark AI Camera】映像烧录-鸿蒙开发者社区

1、PC与板端配置
本地PC配置:串口:设置单板和PC之间连接的串口号;服务器IP:设置PC的IP地址。
板端配置:IP地址:设置单板的IP地址 ;网关和子网掩码正常配置即可。
传输方式:选择网口,下载速度比较快。

2、烧写eMMMC
使用“浏览”选择分区表,选择需要烧录的映像,点击”烧写“。

3、上电
按照提示给单板重新上电。
注:在下载映像时,其它串口工具不能占用HiTool下载使用的串口。

IDE工具烧录

IDE工具烧录映像方法:

https://device.harmonyos.com/cn/docs/start/introduce/oem_camera_start_first_example-0000001051610926
其中“镜像烧写”详细介绍了烧录过程。

U-boot命令烧录

在U-boot命令行模式下,可以使用tftpboot进行映像文件下载,使用mmc write命令将映像保存到EMMC中。

由于tftpboot使用网络通信,需要先在PC端打开tftp工具,配置映像路径;然后在U-boot命令行模式下配置环境变量:ethaddr、ipaddr和serverip。
环境变量配置可参考“HiSpark AI Camera U-boot环境变量”。


U-boot映像下载:


hisilicon # tftpboot 0x80000000 u-boot-hi3516dv300.bin
Hisilicon ETH net controler
eth0 : phy status change : LINK=DOWN : DUPLEX=FULL : SPEED=100M
eth0 : phy status change : LINK=UP : DUPLEX=FULL : SPEED=100M
Using eth0 device
TFTP from server 10.20.16.12; our IP address is 10.20.16.110
Filename 'u-boot-hi3516dv300.bin'.
Load address: 0x80000000
Loading: #################
         44.9 KiB/s
done
Bytes transferred = 237403 (39f5b hex)
hisilicon #
hisilicon # mmc write 0 0x80000000 0x0 0x1d0   
​
MMC write: dev # 0, block # 0, count 464 ... 464 blocks written: OK
28.74 MB/s

tftpboot命令参数:
第一个参数0x80000000是下载U-boot映像的内存起始地址;第二个参数u-boot-hi3516dv300.bin是U-boot映像名。其他映像下载方法类似。

mmc write命令参数:
第一个参数0是mmc设备号;
第二个参数0x80000000是tftpboot下载U-boot映像的内存起始地址。
第三个参数0是U-boot映像保存在EMMC的起始地址/512;
第四个参数0x1d0是U-boot映像文件大小/512。
               U-boot映像文件大小:建议在PC端右键U-boot映像,选择“属性”,使用“占用空间”大小。


注:如果没有Hitool工具,不建议更新U-boot映像,否则一旦出错,后果不堪设想。

内核映像下载:


hisilicon # tftpboot 0x80000000 OHOS_Image.bin
Hisilicon ETH net controler
eth0 : phy status change : LINK=DOWN : DUPLEX=FULL : SPEED=100M
eth0 : phy status change : LINK=UP : DUPLEX=FULL : SPEED=100M
Using eth0 device
TFTP from server 10.20.16.12; our IP address is 10.20.16.110
Filename 'OHOS_Image.bin'.
Load address: 0x80000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #############################
         829.1 KiB/s
done
Bytes transferred = 5185276 (4f1efc hex)
hisilicon # mmc write 0 0x80000000 0x800 0x2790

MMC write: dev # 0, block # 2048, count 10128 ... 10128 blocks written: OK
37.65 MB/s
hisilicon #

在调试内核时,也可以不用写入到EMMC,直接使用go命令,进行内核映像加载(系统重启后,需要重新下载内核映像),命令如下:


hisilicon # tftpboot 0x80000000 OHOS_Image.bin
Hisilicon ETH net controler
eth0 : phy status change : LINK=DOWN : DUPLEX=FULL : SPEED=100M
eth0 : phy status change : LINK=UP : DUPLEX=FULL : SPEED=100M
Using eth0 device
TFTP from server 10.20.16.12; our IP address is 10.20.16.110
Filename 'OHOS_Image.bin'.
Load address: 0x80000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #############################
         838.9 KiB/s
done
Bytes transferred = 5185276 (4f1efc hex)
hisilicon # go 0x80000000
​
Starting application at 0x80000000 ...
​
******************Welcome******************
​
Processor   : Cortex-A7 * 2
Run Mode    : SMP
GIC Rev     : GICv2
build time  : Sep 21 2020 19:13:35
Kernel      : Huawei LiteOS 2.0.0.35/debug

rootfs.img和userfs.img下载方式类似,不再介绍。

U-boot启动信息

在空EMMC中烧录鸿蒙系统映像后,U-boot启动log如下:


System startup

Uncompress Ok!

U-Boot 2020.01 (Sep 01 2020 - 09:25:23 +0800)hi3516dv300

DRAM:  MMC:   
EMMC/MMC/SD controller initialization.
scan edges:2 p2f:6 f2p:1
mix set temp-phase 3
scan elemnts: startp:5 endp:123
Tuning Sampleclock. mix set phase:[04/07] ele:[2d/16]
MMC/SD Card:
    MID:         0x15
    Read Block:  512 Bytes
    Write Block: 512 Bytes
    Chip Size:   7456M Bytes (High Capacity)
    Name:        "8GTF4"
    Chip Type:   MMC
    Version:     0.0
    Speed:       100000000Hz
    Bus Width:   4bit
himci: 0 (eMMC)
Loading Environment from MMC... *** Warning - bad CRC, using default environment
​
In:    serial
Out:   serial
Err:   serial
Net:   eth0
Error: eth0 address not set.
​
Hit any key to stop autoboot:  0
​
Error: "distro_bootcmd" not defined
​
hisilicon #

从上面log看出,U-boot直接进入命令行模式(出现hisilicon#提示),无法正常引导内核和文件系统。因此,需要重新配置U-boot环境变量bootargs和bootcmd。
注:出厂的单板已经配置过环境变量bootargs和bootcmd,系统可以正常启动,不会出现上面情况。

原创作者:田曙亮


©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
其它
地址:北京市朝阳区北三环东路三元桥曙光西里甲1号第三置业A座1508室 商务内容合作QQ:2291221 电话:13391790444或(010)62178877
版权所有:电脑商情信息服务集团 北京赢邦策略咨询有限责任公司
声明:本媒体部分图片、文章来源于网络,版权归原作者所有,我司致力于保护作者版权,如有侵权,请与我司联系删除
京ICP备:2022009079号-2
京公网安备:11010502051901号
ICP证:京B2-20230255