海思sdk快速上手

这篇具有很好参考价值的文章主要介绍了海思sdk快速上手。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

mpp:mpp库是海思根据自己的硬编解码器开发的应用程序编解码库,简而言之,使用这个库实现h.264编码压缩

1.看linux、uboot的文档

2.移植SDK到ubuntu

        2.1、三个脚本

        source sdk.unpack解压

        2.2、osdrv/Makefile和readme

        make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all报错

        参考:ubuntu16.04 编译错误: /bin/sh: 1: pushd: not found的问题和安装32位交叉编译工具链的兼容包_Lewin~的博客-CSDN博客

        2.3、解决 没有符号链接 的问题

        cd ~/sambashare/Hi3518E_SDK_V1.0.3.0/osdrv/opensource/toolchain/arm-hisiv300-linux

        sudo ./cross.install.v300

        sudo vi ~/.bashrc

        export PATH=/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin:$PATH

        source ~/.bashrc

        make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all

        2.4、解决 生成uImage错误 的问题

        cd ~/sambashare/Hi3518E_SDK_V1.0.3.0/osdrv/opensource/uboot/u-boot-2010.06/tools

        sudo cp mkimage /usr/local/bin

        2.5、解决 找不到zlib.h 的问题

海思sdk快速上手

错误:compr_zlib.c:39:18: fatal error: zlib.h: No such file or directory

因为找不到zlib.h所以编译错误,zlib.h在tools/pc/zlib/tmp/include目录中有,只需要复制到tools/pc/jffs2_tool/tmp/include目录中即可。注意同时要将zconf.h也复制过去的。还有,要将tools/pc/zlib/tmp/lib目录下的libz.a libz.so libz.so.1 libz.so.1.2.7等4个文件复制到tools/pc/jffs2_tool/tmp/lib目录下,不然一会儿还得报错。

2.6、解决serve_image.c:32:18: error: storage size of ‘hints’ isn’t known问题

海思sdk快速上手

解决方案,参考:andorid编译报错serve_image.c:32:18: error: storage size of ‘hints’ isn’t known_Nate的博客-CSDN博客 方法2

2.7、重新编译make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all得到uboot、kernel、rootfs

海思sdk快速上手

2.8、复制到 /tftpboot目录下

海思sdk快速上手

3.烧录系统->通过主芯片提供的isp下载的机制来间接烧录板载flash。

海思sdk快速上手

        3.1、安装jdk环境

        3.2、运行Hi_tool来给空板烧录uboot

海思sdk快速上手

        3.3、烧录uboot成功后,运行Securt CRT进入uboot命令行底下

        执行以下命令,使用tftp的方式烧录kernel、rootfs

                tftp更新并重新烧写uboot的命令序列:(由于已经烧录uboot,这步不需要)

                        mw.b 0x82000000 ff 0x100000

                        tftp 0x82000000 u-boot-hi3518ev200.bin

                        sf probe 0

                        sf erase 0x0 0x100000

                        sf write 0x82000000 0x0 0x100000

                tftp更新并重新烧写kernel的命令序列:

                        mw.b 0x82000000 ff 0x300000

                        tftp 0x82000000 uImage_hi3518ev200

                        sf probe 0

                        sf erase 0x100000 0x300000

                        sf write 0x82000000 0x100000 0x300000

                tftp更新并重新烧写rootfs的命令序列:

                        mw.b 0x82000000 ff 0xc00000

                        tftp 0x82000000 rootfs_hi3518ev200_64k.jffs2

                        sf probe 0

                        sf erase 0x400000 0xc00000

                        sf write 0x82000000 0x400000 0xc00000

        3.4、设置正确的环境变量

        正确的ipaddr和serverip对应的设置命令:

                set ipaddr 192.168.1.10

                set serverip 192.168.1.141

        正确的bootcmd和bootargs对应的设置命令:

                set bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000'

                set bootargs mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1024K(boot),3072K(kernel),12288K(rootfs)

        3.5、save保存然后reset重启

海思sdk快速上手

4.部署mpp中的ko文件和lib库

ko/中是视频编码相关的模块

之后会用这个文件装载模块Hi3518E_SDK_V1.0.3.0\package\mpp\ko\load3518e

执行命令是:./load3518e -i -sensor ar0130 -osmem 32 -total 64

lib/中是海思提供的一些动态库和静态库

这里使用动态库,所以之后会删除所有静态库 rm *.a

        4.1、开发板这边 启用网卡 并 挂载到主机Ubuntu

        ifconfig lo 127.0.0.1

        ifconfig eth0 192.168.1.10

        mount -t nfs -o nolock 192.168.1.141:/home/aston/rootfs /mnt

        4.2、主机这边 将mpp目录下的ko、lib目录复制到/home/aston/rootfs

海思sdk快速上手

        4.3、开发板这边 复制/mnt下的ko目录到/目录

        cd /mnt

        cp ko / -rf

        4.4、开发板这边 复制/mnt/lib下的所有文件到/usr/lib

        cd /mnt

        cp lib/* /usr/lib -r

至此ko文件和lib库文件都已部署完毕,接下来只需要装载ko模块就行了。。。

        但是之后要是重启的话,进入命令行下还是没有网络并且还是没有挂载到主机

                解决方法是修改/etc/profile文件

                在/etc/profile文件中启用网卡、设置ip、装载模块、挂载到主机。。。

        4.4、修改开发板中的/etc/profile文件

海思sdk快速上手

                mount -t nfs -o nolock 192.168.1.141:/home/aston/rootfs /mnt

                -t nfs:挂载的文件系统格式

                -o nolock:不加文件锁

        4.5、reset重启

5.sample的编译和测试

sample的编译详见Hi3518E_SDK_V1.0.3.0\package\mpp\sample\readme

这里只使用sample的venc(录像)功能

        5.1、进入venc目录编译得到sample_venc

海思sdk快速上手

        5.2、拷贝到~/rootfs目录下

海思sdk快速上手

        5.3、在开发板中运行sample_venc

海思sdk快速上手

        5.4、发现多了三个streamxxx.h264文件,拷贝到共享文件夹中使用VLC进行视频观看

海思sdk快速上手

海思sdk快速上手

        5.5、进入到~/sambashare/Hi3518E_SDK_V1.0.3.0/osdrv/pub目录下,开始制作镜像,将之前的操作在这个文件夹形式的根文件系统中再做一遍

海思sdk快速上手

海思sdk快速上手文章来源地址https://www.toymoban.com/news/detail-467471.html

到了这里,关于海思sdk快速上手的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • rk3588 mpp 视频硬编解码测试

    rk3588 mpp demo 使用记录。 MPP 源代码发布官方地址:https://github.com/rockchip-linux/mpp 发布分支为 release 分支,开发分支为 develop 分支,默认为开发分支。 下载命令:git clone https://github.com/rockchip-linux/mpp.git MPP 源代码编译脚本为 cmake,需要依赖 2.8.12 以上的版本,建议使用 2.8.12 版,

    2024年02月07日
    浏览(44)
  • RK3588芯片支持8K视频的硬编解码

    RK3588是一款采用8nm制程工艺的高端通用型SoC,CPU采用四核A76和四核A55的八核架构,GPU采用Mail G610MP4,集成6TOPS独立NPU,支持四通道LPDDR5,有效保证了RK3588芯片的性能输出。RK3588在视频编解码方面也十分突出,支持8K视频的硬编硬解,非常适合VR(虚拟现实)、AR(增强现实)、

    2024年02月12日
    浏览(36)
  • 解码器 | 基于 Transformers 的编码器-解码器模型

    基于 transformer 的编码器-解码器模型是 表征学习 和 模型架构 这两个领域多年研究成果的结晶。本文简要介绍了神经编码器-解码器模型的历史,更多背景知识,建议读者阅读由 Sebastion Ruder 撰写的这篇精彩 博文。此外,建议读者对 自注意力 (self-attention) 架构 有一个基本了解

    2024年02月08日
    浏览(40)
  • Netty编解码器,Netty自定义编解码器解决粘包拆包问题,Netty编解码器的执行过程详解

    当Netty发送或者接收一个消息的时候,就会发生一次数据转换。入站消息会被解码(从字节转换为另一种格式,比如java对象);出站消息会被编码成字节。 Netty 提供一系列实用的编解码器,他们都实现了 ChannelInboundHadnler 或者 ChannelOutboundHandler 接口。在这些类中,channelRead 方

    2023年04月23日
    浏览(34)
  • 【计算机视觉 | 目标检测】术语理解9:AIGC的理解,对比学习,解码器,Mask解码器,耦合蒸馏,半耦合,图像编码器和组合解码器的耦合优化

    AIGC指的是使用人工智能技术自动生成的各类数字内容,包括文本、图像、音频、视频等。它利用机器学习模型进行智能化内容生成。 主要的技术手段包括: 自然语言生成(NLG):使用RNN、GPT等语言模型生成文本。 生成对抗网络(GAN):使用GAN生成高质量图片。 自动语音合成(TTS):使用

    2024年02月04日
    浏览(56)
  • 解码Transformer:自注意力机制与编解码器机制详述与代码实现

    本文全面探讨了Transformer及其衍生模型,深入分析了自注意力机制、编码器和解码器结构,并列举了其编码实现加深理解,最后列出基于Transformer的各类模型如BERT、GPT等。文章旨在深入解释Transformer的工作原理,并展示其在人工智能领域的广泛影响。 作者 TechLead,拥有10+年互

    2024年02月13日
    浏览(33)
  • 通过libfdk_aac编解码器实现AAC音频和PCM的编解码

    了解如何使用libfdk_aac编解码器在Windows环境下实现AAC音频和PCM的编解码,通过FFmpeg进行操作,提高音频质量和压缩效率。

    2024年02月04日
    浏览(40)
  • FPGA硬件png图片解码器,支持所有颜色类型解码,提供工程源码和技术支持

    png 是仅次于jpg的第二常见的图象压缩格式。png支持透明通道(A通道),支持无损压缩,支持索引RGB(基于调色板的有损压缩)。在色彩丰富的数码照片中,png只能获得1~4倍的压缩比。在人工合成图(例如平面设计)中,png能获得10倍以上的压缩比。 本设计使用system verilog语言

    2023年04月17日
    浏览(42)
  • 【Python编程错误:‘utf-8‘编解码器无法解码字节0xd5】--解决方法详解

    【Python编程错误:\\\'utf-8’编解码器无法解码字节0xd5】–解决方法详解 Python是一门非常流行的高级编程语言,用户可以很方便地使用它来实现各种功能。然而,在使用Python编写代码时,有时会遇到各种错误。本文将详细介绍一种常见的Python编程错误——\\\'utf-8’编解码器无法解

    2024年02月08日
    浏览(29)
  • 22.Netty源码之解码器

    https://mp.weixin.qq.com/s/526p5f9fgtZu7yYq5j7LiQ Netty 常用解码器类型: ByteToMessageDecoder/ReplayingDecoder 将字节流解码为消息对象; MessageToMessageDecoder 将一种消息类型解码为另外一种消息类型。 自定义一次解码器ByteToMessageDecoder解码器,如果读到的字节大小为4,那么认为读取到了1个完整的数

    2024年02月14日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包