[文章]【HarmonyOS IPC 试用连载 】第3章 HiSpark IPC Camera源码编译与下载

阅读量0
0
0
开发环境:
开发系统:Ubuntu 20.04
开发板:HiSpark IPCCamera(Hi3518)

3.1 Harmony源码编译
Harmony在V1.1.1之后引入hb工具,因此不同的版本会有不同的编译方式。

HiSpark IPC DIYCamera基于华为海思Hi3518芯片,对应的产品名字是ipccamera_hispark_aries。

接下来编译ipccamera_hispark_aries,这里采用hb工具编译,在代码根目录下执行
$hb set

然后输入‘.’表示当然路径。

这里我们选择ipccamera_hispark_aries

20220405-3-t3.png

可使用上下键进行选择,也可使鼠标选择。
然后输入以下命令开始编译:
$ hb build -f

等待编译完成。

编译成功后,在out目录会生成ohos_image.bin, rootfs_jffs2.img, userfs_jffs2.img三个文件。

20220405-3-t4.png

ohos_image.bin, rootfs_jffs2.img, userfs_jffs2.img三个文件是需要烧写的,因此需要拷贝到Windows。
值得注意的是,Harmony最新均是采用hb编译。
3.2 Harmony固件烧写
HiSpark IPCCamera烧写Harmony固件到flash可以采用两种方式:串口方式、USB方式。
下面一一介绍。
3.2.1串口烧写
这里使用海思自研的烧录工具Hitool。

接下来准备好需要用到的文件,由于没有编译Hi3518ev300的Uboot,这里可以到润和官网下载。

20220405-3-t5.png
下载之后解压需要用到里面的Uboot文件。

20220405-3-t6.png

这里按照分区方式烧写,可以将uboot、ohos_image.bin, rootfs_jffs2.img, userfs_jffs2.img四个文件一起烧写,也可以只烧写ohos_image.bin, rootfs_jffs2.img, userfs_jffs2.img三个文件。

然后准备一个分区文件ipcamera_hi3518.xml,输入以下内容:
<?xml version="1.0"encoding="GB2312" ?>
<Partition_InfoProgrammerFile="">
<Part Sel="1"PartitionName="fastboot" FlashType="spi"FileSystem="none" Start="0" Length="1M"SelectFile="u-boot-hi3518ev300.bin"/>
<Part Sel="1" PartitionName="ohos_image"FlashType="spi" FileSystem="none" Start="1M"Length="6M" SelectFile="OHOS_Image.bin"/>
<Part Sel="1"PartitionName="rootfs" FlashType="spi"FileSystem="none" Start="7M" Length="8M"SelectFile="rootfs_jffs2.img"/>
<Part Sel="1" PartitionName="userfs"FlashType="spi" FileSystem="none" Start="15M"Length="1M" SelectFile="userfs_jffs2.img"/>
</Partition_Info>
准备好所有文件资源就可以开始烧写了。

20220405-3-t7.png

首先打开Hitool,选择HiBurn工具。

20220405-3-t8.png


选择hi3518ev300芯片。

20220405-3-t9.png
在 USB 线没有上电的前提下,选择好对应的串口号后,选择传输方式为串口,然后选择分区文件表。

20220405-3-t10.png
接着勾选所有文件,上电,再点击擦除按钮。

20220405-3-t11.png
不管是擦除还是烧写,都需要拔掉电源再插上电源。可以按照HiBurn控制台的提示进行操作。
20220405-3-t12.png
等待烧写完成即可,串口烧写的时间比较长,请耐心等待。
20220405-3-t13.png
修改U-boot的bootcmd及bootargs内容,打开终端,输入以下语句到终端:
setenv bootargs "console=ttyAMA0,115200n8 root=flashfstype=jffs2 rw rootaddr=7M rootsize=8M";
setenv bootcmd "sf probe 0;sf read 0x400000000x100000 0x600000;go 0x40000000";
saveenv

20220405-3-t14.png
然后输入reset即可重启。
20220405-3-t15.png
输入回车会出现 OHOS # 提示符表示系统启动完成。

3.2.2 USB烧写
首先安装HiUSBBurnDriver,不然无法使用USB烧写。
在烧写之前,先擦除分区,参看上一节内容。
接下来就可以烧写固件了。

20220405-3-t16.png
等待烧写完成即可。

20220405-3-t17.png
输入以下语句到终端:
setenv bootargs "console=ttyAMA0,115200n8 root=flashfstype=jffs2 rw rootaddr=7M rootsize=8M";
setenv bootcmd "sf probe 0;sf read 0x400000000x100000 0x600000;go 0x40000000";
saveenv
20220405-3-t18.png
然后输入reset即可重启。

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友