《HarmonyOS开发 - IPC Camera开发笔记》第3章 HiSpark IPC Camera源码编译与下载

2024-08-30 12:18

本文主要是介绍《HarmonyOS开发 - IPC Camera开发笔记》第3章 HiSpark IPC Camera源码编译与下载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开发环境:
开发系统:Ubuntu 20.04
开发板:HiSpark IPC Camera(Hi3518)

3.1 Harmony源码编译

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

3.1.1 Harmony V1.0编译

进入源码目录,执行以下命令:

$ python build.py ipcamera_hi3518ev300

ipcamera_hi3518ev300代表HiSpark IPC Camera开发板。

然后等待编译完成。

在这里插入图片描述

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

在这里插入图片描述

3.1.2 Harmony V1.1.4编译

HiSpark IPC DIY Camera基于华为海思Hi3518芯片,对应的产品名字是ipccamera_hispark_aries。
接下来编译ipccamera_hispark_aries,这里采用hb工具编译,在代码根目录下执行

$hb set

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

这里我们选择ipccamera_hispark_aries

在这里插入图片描述

可使用上下键进行选择,也可使鼠标选择。

然后输入以下命令开始编译:

$ hb build -f

等待编译完成。

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

在这里插入图片描述

ohos_image.bin, rootfs_jffs2.img, userfs_jffs2.img三个文件是需要烧写的,因此需要拷贝到Windows。

值得注意的是,Harmony最新均是采用hb编译。

3.2 Harmony固件烧写

HiSpark IPC Camera烧写Harmony固件到flash可以采用两种方式:串口方式、USB方式。
下面一一介绍。

3.2.1串口烧写

这里使用海思自研的烧录工具Hitool。

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

固件下载地址

在这里插入图片描述

下载之后解压需要用到里面的Uboot文件。

在这里插入图片描述

这里按照分区方式烧写,可以将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_Info ProgrammerFile="">
<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>

准备好所有文件资源就可以开始烧写了。

在这里插入图片描述

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

在这里插入图片描述

选择hi3518ev300芯片。

在这里插入图片描述

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

在这里插入图片描述

接着勾选所有文件,上电,再点击擦除按钮。

在这里插入图片描述

不管是擦除还是烧写,都需要拔掉电源再插上电源。可以按照HiBurn控制台的提示进行操作。

在这里插入图片描述

等待烧写完成即可,串口烧写的时间比较长,请耐心等待。

在这里插入图片描述

修改U-boot的bootcmd及bootargs内容,打开终端,输入以下语句到终端:

setenv bootargs "console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=7M rootsize=8M";
setenv bootcmd "sf probe 0;sf read 0x40000000 0x100000 0x600000;go 0x40000000";
saveenv

在这里插入图片描述
然后输入reset即可重启。

在这里插入图片描述

输入回车会出现 OHOS # 提示符表示系统启动完成。

3.2.2 USB烧写

首先安装HiUSBBurnDriver,不然无法使用USB烧写。

在烧写之前,先擦除分区,参看上一节内容。

接下来就可以烧写固件了。

在这里插入图片描述

等待烧写完成即可。

在这里插入图片描述

输入以下语句到终端:

setenv bootargs "console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=7M rootsize=8M";
setenv bootcmd "sf probe 0;sf read 0x40000000 0x100000 0x600000;go 0x40000000";
saveenv

然后输入reset即可重启。

在这里插入图片描述



欢迎访问我的网站

BruceOu的哔哩哔哩
BruceOu的主页
BruceOu的博客
BruceOu的CSDN博客
BruceOu的简书
BruceOu的知乎


欢迎订阅我的微信公众号

关注公众号[嵌入式实验楼]获取更多资讯

这篇关于《HarmonyOS开发 - IPC Camera开发笔记》第3章 HiSpark IPC Camera源码编译与下载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1120796

相关文章

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF