润和HCIP认证套件的烧写问题的终极解决方案

2023-10-26

目录

问题的由来

烧写问题

启动问题

总结


问题的由来

润和HarmonyOS鸿蒙开发板 HiSpark AI Camera开发套件(下图)是OpenHarmony的小型设备和标准设备的代表,基于华为海思Hi3516DV300芯片,支持Linux、LiteOS、鸿蒙OS,实现图像采集识别。OpenHarmony的ipcamea_hispark_taurus、ipcamera_hispark_taurus_linux和hispark_taurus_standard都是针对这款板子设计的。

润和还有另一套开发板Taurus HCIP 认证套件(下图),这款开发板的配置和AI Camera开发套件非常类似,板子上甚至印着AI Camera 2.0的字样。两个开发板有一个明显的区别:AI Camera开发套件是由4块小板组成的,而HCIP 认证套件是由一块开发板组成的。

在润和的网站上,只有AI Camera开发套件的技术资料,而没有 HCIP 认证套件的资料。原本我们认为两块开发板只是结构上的不同,两块板子的程序是兼容的。但是在测试中我们发现其实两块板子还是有一些差别的,在华为和润和工程师的帮助下,终于使OpenHarmony的程序在HCIP 认证套件上运行了起来,今天把相关的过程记录一下。

烧写问题

刚开始我们下载了OpenHarmony 3.1的官方代码,编译之后直接使用DevEco Device Tool进行烧写,发现烧写失败,采用Hitool烧写,发现也是失败的。失败的现象在我的另一篇博客中有详细说明。之所以会出现烧写失败,是因为官方代码中的U-Boot在HCIP 认证套件上会死机,无法启动,而海思的镜像烧写工具是先烧写U-Boot,然后启动U-Boot,再利用U-Boot的mmc write烧写其他的分区。U-Boot无法启动就意味着烧写不会成功。在另一篇博客中也说了,利用厂商提供的u-boot_hi3516_ytb_3.1.bin文件替代官方的UBoot文件,就可以正常启动U-Boot并烧写成功其他分区的镜像。

启动问题

我们使用厂商提供的U-Boot和Linux镜像对硬件进行了测试,发现其功能基本正常。然后就编译了ipcamea_hispark_taurus,这是基于LiteOS-A的小型设备代码,但是发现烧写后的程序无法启动,问题如下:

System startup

Uncompress Ok!

U-Boot 2020.01 (Nov 09 2022 - 11:01:28 +0800)hi3516dv300

DRAM:  MMC:   
EMMC/MMC/SD controller initialization.
scan edges:2 p2f:6 f2p:8
mix set temp-phase 3
scan elemnts: startp:117 endp:107
Tuning SampleClock. mix set phase:[03/07] ele:[7d/15]
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

EMMC/MMC/SD controller initialization.
Card did not respond to voltage select!
mmc_init failed! err:-95
No SD device found !
himci: 0 (eMMC), himci: 1
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
@@@ 5 blocks read: OK
@@@ g_isRecovery = 0
@@@ bootArgs from misc       = mem=640M console=ttyAMA0,115200 mmz=anonymous,0,0xA8000000,384M clk_ignore_unused androidboot.selinux=permissive skip_initramfs rootdelay=10 hardware=Hi3516DV300 default_boot_device=soc/10100000.himci.eMMC init=/init root=/dev/ram0 blkdevparts=mmcblk0:1M(boot),15M(kernel),20M(updater),2M(misc),3307M(system),256M(vendor),-(userdata)
@@@ 1 blocks read: OK
@@@ bootArgs final from emmc = console=ttyAMA0,115200n8 root=emmc fstype=vfat rw rootaddr=10M rootsize=30M
Unable to use mmc for fat
Net:   eth0
Error: eth0 address not set.

Hit any key to stop autoboot:  0 

MMC read: dev # 0, block # 2048, count 18432 ... 18432 blocks read: OK
45.27 MB/s
Wrong Image Format for bootm command
ERROR: can't get kernel image!
hisilicon # 

从日志可以看出,U-Boot启动后无法加载内核镜像,显示“Wrong Image Format for bootm command”。

经过与厂商的讨论和反复尝试,厂商提供的u-boot_hi3516_ytb_3.1.bin是用于ipcamera_hispark_taurus_linux(Linux内核),u-boot-hi3516dv300-4L.bin用于ipcamea_hispark_taurus(LiteOS-A内核)。之所以会出现这个问题,是因为两个U-Boot版本所支持的分区格式不同,u-boot_hi3516_ytb_3.1.bin无法识别LiteOS-A所使用的vfat格式。

除了u-boot,其他模块都是用官方代码编译的。

总结

AI Camera开发套件和 HCIP 认证套件虽然非常相似,但是现在看还是有一些重要的区别导致U-Boot不兼容。当初采购 HCIP 认证套件是因为它便宜300块钱,但是没有想到遇到这么多麻烦。厂商的技术人员平时都是使用ipcamera_hispark_taurus_linux,所以他们对ipcamea_hispark_taurus也不太熟悉,所以我们以后的工作也会主要基于ipcamera_hispark_taurus_linux,否则出了问题,厂商也不能提供有力的支持。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

润和HCIP认证套件的烧写问题的终极解决方案 的相关文章

  • linux查看jvm内存

    查看内存大小 free h free命令相关知识 判断Java程序对内存的消耗 top top命令相关知识 查看tomcat信息 ps ef grep tomcat 4 1分析内存实例 pid 21069 使用jmap来查看jvm的堆的快照
  • MySQL数据库基本操作

    一 数据库的操作 CURD 重点 1 创建数据库的语法 基本语法 create database 数据库名称 2 查看数据库 show databases 查看所有数据库 use 数据库名称 使用数据库 show create databa
  • Node.js 应用的御用品: Node.js 错误处理系统

    开发中 有些开发者会积极寻求处理错误 力求减少开发时间 但也有些人完全忽略了错误的存在 正确处理错误不仅意味着能够轻松发现和纠正错误 而且还意味着能够为大型应用程序开发出稳健的代码库 特别是对于 Node js 开发人员 他们有时会也发现自
  • 上班一个月,我的几点体会

    这篇博文其实在去年就已经在CSDN发过的 后来 某次误操作不小心删除了 今天找出来重新发一下 我是从3月1号开始上班的 今天3月31号 刚好一个月结束 在这一个月里 我收获不少 感受颇深 现谈谈自己的几点感受 与大家分享 1 由于在学校里做
  • JDBC与MySQL数据库的连接

    一 Jdbc连接池 概念 一个容器 存放数据库连接的容器 好处 节约资源 用户访问高效 规范 1 用连接池管理连接 可以重复利用 2 不是 自己创建连接 而是通过连接池获取连接 3 使用完之后调用连接的close 方法归还连接 不是关闭连接

随机推荐

  • Unity中可用Lua版本效率分析比较

    欢迎来到你的代码我的鱼 oooofish com 本篇文章主要介绍Unity中可用的lua版本对比及分析 目前常见的unity lua库有以下 luainterface ulua nlua unilua 简单介绍 luainterface
  • js一个简单的ajax示例,原生JS简单实现ajax的方法示例

    本文实例讲述了原生JS简单实现ajax的方法 分享给大家供大家参考 具体如下 HTML部分 这里有个input按钮 点击会触发click事件 click事件调用Ajax 方法 JS部分 通过这个函数来异步获取信息 function Ajax
  • lighttpd+fastcgi嵌入式web交叉编译到arm

    文章目录 前提 lighttpd交叉编译安装 源码下载 交叉编译 简单测试 fastcgi编译配置 源码下载 交叉编译生成动态库 修改lighttpd配置 简单测试 c语言fcgi程序 c fcgi程序 gitee仓库链接 参考 前提 环境
  • 【Tools】Windows电脑ipad文件互传

    1 首先要知道windows端的ip和用户名 在命令行 win r 再输入cmd即可打开命令行 输入ipconfig 2 windows端创建一个共享文件夹 随便在电脑上创建一个文件夹 右键创建的文件夹点击属性 再点击共享 3 进入高级共享
  • nvm npm exit status 1:乱码

    node npm nrm nvm 最近要搞vue 之前装了最新的node启动报错 最后值版本问题 查阅资料后用版本管理工具搞好了 npm nrm nvm傻傻分不清 npm node包管理工具 nrm 提供和管理npm包下载地址 nvm no
  • 虚拟机VMware安装Centos7教程

    先安装好VMware 点击该链接进入官网下载 下载后网上找找破解 然后就是安装Centos7了 1 下载Centos7 这里用阿里云的镜像 centos安装包下载 开源镜像站 阿里云 ps 这里再补充贴一下一些镜像地址 哪个快选哪个 最快的
  • 图像对齐(image alignment)

    1 图像对齐的步骤 已知图像A和B 图像对齐的步骤 提取图像A和B的特征 匹配图像A和B中的特征 求解图像A和B的对齐矩阵 2 使用最小二乘求解对齐矩阵的问题 使用最小二乘求解对齐矩阵容易受到outliers的影响 误差会很大 3 RANS
  • Java自学总结之七图形用户接口

    图形用户接口也就是一个人机交互的界面 下面先介绍一下界面的组成 1 JFrame框架 这个是屏幕上的Windows的对象 在创建界面时 这个是首要创建的 如果把设计一个界面比喻为画水彩画 那么它就相当于一个支架 在画画前先安好支架如右图 2
  • win10上运行linux程序吗,Win10新版21364发布: 可直接运行Linux图形程序

    微软竟然一口气把 win 10系统 微软商店 edge 浏览器的最新动向全爆料了 而且还是那种传说级的大更新 大爆料 更新内容 一 Win 10 大更新 今天早上 微软面向Dev通道的推送 Windows 10 新预览版 更新的功能 各位程
  • Java对二维数组排序

    排序规则 首先按照每个一维数组第一个元素进行升序排序 若第一个元素相等 则按照第二个元素进行升序排序 Arrays sort a new Comparator
  • GetManifestResourceStream读取文件失败的解决办法

    这两天在SliverLight项目中碰到一个问题 项目中有一个XML文件 需要使用XMLReader将内容读取出来 使用如下代码 Stream stream this GetType Assembly GetManifestResource
  • 深度学习基础之卷积神经网络

    摘要 受Hubel和Wiesel对猫视觉皮层电生理研究启发 有人提出卷积神经网络 CNN Yann Lecun 最早将CNN用于手写数字识别并一直保持了其在该问题的霸主地位 近年来卷积神经网络在多个方向持续发力 在语音识别 人脸识别 通用物
  • 区块链建立节点(如何建立区块链节点)

    区块链建立节点的方法 区块链是一种分布式的 去中心化的 不可篡改的数据结构 它由一系列按照时间顺序连接的区块组成 每个区块包含一些交易或其他数据 以及一个指向前一个区块的哈希值 区块链的安全性和一致性依赖于网络中的节点 这些节点是运行特定软
  • window.open(),浏览器不要重复弹出新窗口

    项目中有个需求需要弹窗新窗口显示页面 但是又不想浏览器重复弹窗很多个 希望点击按钮后 会自动找到那个浏览器已经打开的页面 window open URL name specs replace window open location ori
  • 归并排序,自顶向下,自底向上

    http blog csdn net cjf iceking article details 7920153
  • 9大代理服务器软件的比较与分析之CCProxy、Squid

    原博客链接 仅用于个人学习记录 代理服务器不仅可以为局域网内的PC提供代理服务 还可以为基于Windows网络的用户提供代理服务 而且代理服务的实现十分简单 它只需在局域网的一台服务器上运行相应的服务器端软件即可 目前代理服务器软件产品主要
  • 谷歌gcp 远程计算机_什么是Google Cloud Platform(GCP)?

    谷歌gcp 远程计算机 Google Cloud Platform is a suite of cloud computing services which is provided by Google Google Cloud Platfo
  • MySQL服务器安装(轻松带你安装)

    文章目录 一 MySQL服务器安装 一 先卸载 二 开始安装 一 MySQL服务器安装 注意事项 1 安装路径不要出现中文 中文符号 2 尽量不要装到C盘 系统盘 安全性高 通常需要管理员权限执行 一 先卸载 我之前已经安装过了 所以我要先
  • 分布式的登录如何实现的

    1 单机登录 user在server上输入用户名密码等 完成用户信息校验并将对应的信息写入server的session中 2 分布式框架的登录方案 使用redis 即通过key value的方式 在server1完成登录后 将用户信息以va
  • 润和HCIP认证套件的烧写问题的终极解决方案

    目录 问题的由来 烧写问题 启动问题 总结 问题的由来 润和HarmonyOS鸿蒙开发板 HiSpark AI Camera开发套件 下图 是OpenHarmony的小型设备和标准设备的代表 基于华为海思Hi3516DV300芯片 支持Li