《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

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

Java ArrayList扩容机制 (源码解读)

结论:初始长度为10,若所需长度小于1.5倍原长度,则按照1.5倍扩容。若不够用则按照所需长度扩容。 一. 明确类内部重要变量含义         1:数组默认长度         2:这是一个共享的空数组实例,用于明确创建长度为0时的ArrayList ,比如通过 new ArrayList<>(0),ArrayList 内部的数组 elementData 会指向这个 EMPTY_EL