海思芯片部署MPP并验证功能

2023-11-14

1. 前期准备

1.1搭建好开发环境:

1.这里说的是以个人电脑进行开发:安装好虚拟机,在虚拟机中搭建好nfs服务器,确保开发板可以挂载上虚拟机;
2.确保开发板和PC可以通过串口通信;

1.2熟悉海思芯片的SDK开发包

1.SDK开发包里有mpp文件夹,文件夹里的都是MPP依赖的库和示例程序,多花点时间研究;
2.mpp/ko目录下是音视频编解码相关的驱动;
3.mpp/lib目录下是相关的静态库和动态库,包括sensor依赖的库;
4.mpp/sample目录下是示例程序,编译生成可执行程序就可以在芯片上运行,是学习海思芯片开发不错的代码;
5.我开发板用的芯片是海思芯片本身就支持的sensor型号,所以我只需要将SDK包里的库部署到海思芯片上就可以运行;如果你用的sensor型号海思芯片的SDK包不支持,你需要手动去添加sensor型号和sensor的驱动;

2.什么是MPP

MPP就是海思提供的一套音视频开发的体系,具体内容可以参考SDK里的文档《HiMPP IPC V2.0 媒体处理软件开发参考.pdf》。具体以*.ko、.a和.so文件的形式提供,我们只需要在海思芯片上加载上相关的库,就可以调用API进行音视频的开发。

3.MPP的部署

3.1 开发板挂载到虚拟机

(1)提前将mpp/ko夹和mpp/lib文件夹拷贝到nfs服务器挂载的目录/home/aston/rootfs/下;
(2)挂载设备的/mnt目录到/home/aston/rootfs/目录下:mount -t nfs -o nolock 192.168.1.141:/home/aston/rootfs /mnt

3.2部署驱动:*.ko文件

1.将/mnt/ko整个文件夹拷贝到根目录下,你也可以不拷贝根目录下,这个随便你,这一步主要是将整个ko文件夹从虚拟机拷贝到设备里;
2.ko文件夹里有个load3518e文件,这里面是加载整个ko文件的脚本,花点时间看看;
3.load3518e文件里的重点内容介绍:
(1)SNS_TYPE=ar0230 # 指定sensor型号
(2)mem_total=64; # 总共有64M的内存
(3)mem_start=0x80000000; # 内存起始地址是0x80000000
(4)os_mem_size=32; # 系统分配32M内存,这里要和bootargs里的对应上
(5)mmz_start=0x82000000; # mmz内存的地址地址
(6)mmz_size=32M; # mmz分配32M内存
4.执行load3518e脚本:./load3518e -i -sensor ar0130 -osmem 32 -total 64;-i是代表加载ko,ar0130是sensor型号,-osmem 32 是指名系统内存32M,-total 64指明总共有64M的内存;
5.将执行load3518e脚本的命令写到/etc/profile文件里,确保每次系统启动都会执行加载ko的命令。不知道为什么要写到/etc/profile文件的可以参考博客《/etc/profile文件简单介绍》

3.2 部署动态库

(1)将/mnt/lib目录下的*.so文件都拷贝到/usr/lib目录下,这样程序运行时就可以调用动态库。一般不要导入到/lib目录下,/lib目录下实系统依赖的.so库;
(2)你也可以不拷贝到/usr/lib目录下,自己建一个目录来放这些*.so文件,但是要记得将这个目录的路径导入到环境变量里;

4.验证MPP

(1)在mpp\sample目录下有Makefile.param文件,在文件里有指明海思的芯片型号和sensor型号,根据自己的情况进行修改;
(2)进入到mpp/sample/venc目录,会看到Makefile文件和一个sample_venc.c文件,执行Makefile就可以得到一个可执行程序,将该可执行程序拷贝到海思芯片上运行。程序运行后会得到h.264的文件,将该文件拷贝到PC端用VLC文件进行查看,如果图像没有问题,说明部署的MPP就成功了。

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

海思芯片部署MPP并验证功能 的相关文章

  • 交通路标识别(毕业设计)

    概述 代码获取 可私信 在TensorFlow中实现单镜头多盒检测器 SSD 用于检测和分类交通标志 该实现能够在具有Intel Core i7 6700K的GTX 1080上实现40 45 fps 请注意 此项目仍在进行中 现在的主要问题
  • 基于 ACK Fluid 的混合云优化数据访问(一):场景与架构

    本系列文章将介绍如何基于 ACK Fluid 支持和优化混合云的数据访问场景 概述 在 AI 和大数据时代 算力即正义 强大的算力推动了源源不断的创新 然而 企业自建的算力集群存在资源容量和弹性能力相对有限的问题 在业务低谷时可能会面临高昂
  • CTF入门教程(非常详细)从零基础入门到竞赛,看这一篇就够了!

    目录 一 CTF简介 二 CTF竞赛模式 三 CTF各大题型简介 四 CTF学习路线 4 1 初期 1 html css js 2 3天 2 apache php 4 5天 3 mysql 2 3天 4 python 2 3天 5 burp
  • [Concept] IETF 国际互联网工程任务组

    IETF The Internet Engineering Task Force 国际互联网工程任务组 1 1985年成立 2 公开性质的大型国际民间团体 3 互联网标准化组织 4 主要任务 负责互联网相关技术规范的研发和制定 可以在官方网
  • 向Git提交新项目

    向Git提交新项目 假设现在存在项目iyowei cn 项目目录结构如下 1 2 3
  • Maven学习笔记二十:Maven仓库(远程仓库的配置)

    Maven仓库 远程仓库的配置 在很多情况下 默认的中央仓库无法满足项目的需求 可能项目需要的构件存在于另外一个远程仓库中 如 JBoss Maven仓库 这时 可以在POM中配置该仓库 见代码请单
  • cnn 示意图_基于BERT+CNN及GRU语言模型的司法考试问答模型

    在上文 1 提到的BERT CNN司法考试模型的基础上 对模型结构和参数进行了调整 调整后增加了CNN层数 示意图如图1 图1 BERT编码后接入的CNN结构示意图 其中详细参数见图2 图2 CNN和输出层的网络结构参数 在给出的司法考试训
  • Python爬虫实战之抓取猫眼电影

    Python爬虫实战之抓取猫眼电影 1 爬虫概念 网络爬虫 又称为网页蜘蛛 网络机器人 在FOAF社区中间 更经常的称为网页追逐者 是一种按照一定的规则 自动地抓取万维网信息的程序或者脚本 另外一些不常使用的名字还有蚂蚁 自动索引 模拟程序
  • 原码、反码以及补码

    目录 一 概念 二 补码的意义 一 概念 计算机底层存储数据时 存储的是数据对应的二进制数字 对于整型数据 其二进制表示形式有三种 分别是 原码 反码 补码 而实际存储的是整型数据的补码 原码 反码以及补码都是有符号的 其中最高位存放符号位
  • Websocket(一)——原理及基本属性和方法

    初次接触 WebSocket 的人 都会问同样的问题 我们已经有了 HTTP 协议 为什么还需要另一个协议 它能带来什么好处 答案很简单 因为 HTTP 协议有一个缺陷 通信只能由客户端发起 举例来说 我们想了解今天的天气 只能是客户端向服
  • 《Kubernetes下载篇:Ubuntu20.04下载指定版本kubeadm及相关镜像》

    一 背景 在专网情况下 你是无法下载K8S相关的软件包及镜像 这个时候你可能需要提前下载好 那么针对这种情况 如何下载指定版本的K8S相关的软件包及镜像呢 这里以ubuntu 20 04系统为例 通过ctr工具 下载v1 25 8版本的软件
  • Android中OkHttp源码阅读二(责任链模式)

    博主前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住也分享一下给大家 点击跳转到教程 Android OkHttp源码阅读详解一 看OkHttp源码 发现OkHttp里面使用了责任链设计模式 所以才要学习责任链设计模式 小

随机推荐

  • Java Calendar getActualMinimum()方法与示例

    Calendar类的getActualMinimum 方法 Calendar Class getActualMinimum method getActualMinimum method is available in java util p
  • 美国CN2服务器速度怎么样

    美国服务器以免备案 大带宽 性价比高的优势 多用于企业 电商 外贸 视频等个中大型网站建设 但是 因中美服 务器接口原因 导致某些服务器的网络并不稳定 这时候就会对美国服务器产品失望 解决这种问题的方法就是选择美国服 务器时 选用美国CN2
  • Java逆序数

    逆序数 在一个5个数的数组中 输出逆序数 在一个排列中 如果一对数的前后位置与大小顺序相反 即前面的数大于后面的数 那么它们就称为一个逆序 一个排列中逆序的总数就称为这个排列的逆序数 输入用例 1 2 3 4 5 输出用例 0 输入用例 2
  • shell重启脚本-脚本停止

    经常需要对shell进行重启 重启首先就得停止原来的程序 有时候需要使用kill 进程的方式 每次手工查进程 比较麻烦 下面弄个工具 APP NAME app jar echo 停止XXX应用服务 is exit 获取PID PID ps
  • 机器人教育的培养目标

    国内近几年流行一种机器人编程教育 以培养少年们的综合能力为主 格物斯坦表示 机器人在科技领域还有很多未解的谜团 需要有探索精神和聪慧头脑的人去打破砂锅问到底 机器人教育对孩子未来的影响很大 尤其对孩子的学习和认知过程中起到了强力推进的作用
  • c# webform 读取和编辑Web.config中的 appSettings

    Web config
  • 自建对象存储服务minio在使用nginx进行反向代理时出现对象无法正常共享的解决办法

    什么是minio Minio是在Apache License v2 0下发布的对象存储服务器 它与Amazon S3云存储服务兼容 它最适合存储非结构化数据 如照片 视频 日志文件 备份和容器 VM镜像等 对象的大小可以从几KB到最大5TB
  • Apache InLong百万亿级数据流处理

    全球最大的开源软件基金会Apache软件基金会正式宣布 Apache InLong成功从Apache孵化器毕业成为社区顶级项目 这个最初由腾讯捐献给Apache社区的一站式海量数据集成框架 可以为大数据开发者提供百万亿级数据流高性能处理能力
  • 数组越界带来的后果

    上周写数据结构作业 遇到了一个奇怪的现象 涉及到图比较复杂 简化后就是如下的代码 include
  • mmclassification安装与调试

    MMClassification 是一款基于 PyTorch 的开源图像分类工具箱 是 OpenMMLab 项目的成员之一 主分支代码目前支持 PyTorch 1 5 以上的版本 MMClassification包含了诸多经典或高性能图像分
  • c语言开发题库管理系统,C语言程序设计_题库管理系统-20210412073914.docx-原创力文档...

    程序设计基础课程设计报告 班 级 计算机科学与技术 1103 班 姓 名 杨广宇 指导教师 胡宏涛 完成日期 2012年9 月6日 题目 1 设计题目与要求 简要介绍课程设计题目内容与要求 1 设计内容 要求输入试题 仅限选择题和填空题 基
  • Android 隐藏导航栏

    隐藏导航栏 public void hideNav Window window getWindow window getDecorView setSystemUiVisibility View SYSTEM UI FLAG LAYOUT S
  • 计算机组成原理一些要背的内容

    cceed1ab 77ed 43f0 8629 aea9e3391770 1 1冯诺依曼的存储程序的计算机设计基本思想如下 用二进制形式表示数据和指令 指令由操作码和地址码组成 采用存储程序 即把编写好的程序和原始数据预先放入计算机主存储器
  • css中::before ::after的用法

    一 介绍 before和 after是伪元素 css3中为了与伪类做区别 伪元素采用双冒号的写法 但因为兼容性的问题 所以现在大部分还是统一的单冒号 比如 first line first letter before after等 但新的在
  • 算法的时间复杂度、空间复杂度

    文章目录 数据结构 算法 数据结构与算法的关系 时间复杂度 O 1 O n O 1 O n O n O n 2 O log2 n 空间复杂度 O 1 O n O n 2 常用算法的时间 空间复杂度 数据结构 数据结构是计算机存储 组织数据的
  • Spring Colud Alibaba

    一 SpringColudAlibaba Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案 此项目包含开发分布式应用微服务的必需组件 方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布
  • SHA256WithRSA

    在上文中了解到SHA和RSA 工作中恰好用到扩展应用 SHA256WithRSA 本文总结下学习过程 备忘 再提供另外一种方法 实现Java版pem密钥和 Net版xml密钥相互转换的方法 密钥转换 准备 引入BouncyCastle Cr
  • java类添加属性_Java 类动态添加属性字段的操作

    说明 做项目中遇到一种场景 需要根据查询时间段 获取时间段中中每个月份对应的金额 费用统计 如截图中的两列 因为列是动态的 首先想到的就是后天拼接json格式字符串 然后返回到前台 组装表头及内容 但是当前系统中easyui版本为1 2 并
  • 【华为OD机试】需要打开多少监控器(C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • 海思芯片部署MPP并验证功能

    1 前期准备 1 1搭建好开发环境 1 这里说的是以个人电脑进行开发 安装好虚拟机 在虚拟机中搭建好nfs服务器 确保开发板可以挂载上虚拟机 2 确保开发板和PC可以通过串口通信 1 2熟悉海思芯片的SDK开发包 1 SDK开发包里有mpp