海思Linux-DEMO(1)-sample_venc(h265,h264)视频流文件的获取

目 录

[前 言](#前 言)

一、BSP编译

二、mmp驱动的构建

[2.1 进入进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/out/obj目录](#2.1 进入进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/out/obj目录)

[2.2 使用指令将mpp驱动编进内核](#2.2 使用指令将mpp驱动编进内核)

三、uBuntu配置nfs环境

[3.1 创建nfs_rootfs共享文件目录](#3.1 创建nfs_rootfs共享文件目录)

[3.2 如果没有安装,则需要安装nfs,如果已经安装,并且开启了nfs服务,则可以跳到四](#3.2 如果没有安装,则需要安装nfs,如果已经安装,并且开启了nfs服务,则可以跳到四)

[3.3 更改 /etc/exports 文件](#3.3 更改 /etc/exports 文件)

[3.4 通过命令重新加载,应用共享](#3.4 通过命令重新加载,应用共享)

[3.5 确保nfs服务已启动并正常运行](#3.5 确保nfs服务已启动并正常运行)

[3.6 查看当前已导出的共享](#3.6 查看当前已导出的共享)

[四 开发板重新烧录](#四 开发板重新烧录)

[五 开发板挂载nfs文件目录](#五 开发板挂载nfs文件目录)

5.1.登陆开发板

[5.2 配置网络ip](#5.2 配置网络ip)

[5.3 挂载共享文件目录](#5.3 挂载共享文件目录)

[六、 运行ko](#六、 运行ko)

[6.1 进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/out目录](#6.1 进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/out目录)

[6.2 开发板进入ko/load3516cv610目录](#6.2 开发板进入ko/load3516cv610目录)

七、加载运行原厂自带demo-sample_venc

[7.1 复制sample_venc可执行文件到共享文件目录](#7.1 复制sample_venc可执行文件到共享文件目录)

[7.2 执行sample_venc目录](#7.2 执行sample_venc目录)

八、总结


前 言

芯片选型:HI3516CV610 - 20s

选择的开发板是:酷电科技馆的Hi3516CV610-MINI开发板

上一篇文章:无

下一篇文章:无

说明:该系列文章为学习文章,为参考网上各路大神的开源文章,但是个人天资愚笨,踩了无数坑,然后制作了这些步骤,如有侵权,请联系本人删除。

一、BSP编译

【ubuntu操作】

进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/bsp目录,进行bsp的编译

复制代码
cd Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/bsp
sudo make LIB_TYPE=musl CHIP=hi3516cv610 DEBUG=1 all

等待编译完成

二、mmp驱动的构建

【ubuntu操作】

2.1 进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/out/obj目录

使用下面的指令构建mmp驱动

复制代码
sudo make -j4

等待编译结束

2.2 使用指令将mpp驱动编进内核

复制代码
sudo make BUILD_DRIVER_TO_KERNEL=y -j4

三、uBuntu配置nfs环境

【uBuntu操作】

3.1 创建nfs_rootfs共享文件目录

使用下面的指令

复制代码
mkdir nfs_rootfs

3.2 如果没有安装,则需要安装nfs,如果已经安装,并且开启了nfs服务,则可以跳到四

使用下面的指令去安装

复制代码
sudo apt install nfs-kernel-server nfs-common
sudo systemctl restart nfs-kernel-server

3.3 更改 /etc/exports 文件

(示例,如果没有nfs_rootfs目录则需要先去创建这个目录)

复制代码
vi /etc/exports

在最后一行添加下面代码 (示例):

复制代码
/home/spmwgj/nfs_rootfs *(rw,sync,no_subtree_check,no_root_squash)

3.4 通过命令重新加载,应用共享

复制代码
sudo exportfs -ra

3.5 确保nfs服务已启动并正常运行

复制代码
sudo systemctl start nfs-server

3.6 查看当前已导出的共享

复制代码
sudo exportfs -v

四 开发板重新烧录

【ubuntu操作】

下载目录到window系统

Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/bsp/pub/hi3516cv610_image_debug_musl

然后参考博文:

五 开发板挂载nfs文件目录

【开发板操作】

5.1.登陆开发板

开发板接线示意

使用 MobaXterm工具,从串口连接

5.2 配置网络ip

使用下面的指令(示例)

复制代码
ifconfig eth0 hw ether ee:ef:00:11:22:33
ifconfig eth0 192.168.2.112 netmask 255.255.255.0
route add default gw 192.168.2.1

使用ifconfig,和ping ubuntu网络进行测试

5.3 挂载共享文件目录

使用下面的指令(示例):

复制代码
mount -t nfs -o nolock -o tcp -o rsize=32768,wsize=32768 192.168.2.218:/home/spmwgj/nfs_rootfs /mnt

在ubuntu的nfs_rootfs目录下创建文件,在开发板的/mnt目录下进行查询,如果能成功看到,说明可行

六、 运行ko

【ubuntu操作】

6.1 进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/out目录

使用下面示例指令(自行更改自己的用户名)复制到共享文件夹

复制代码
sudo cp -r ko /home/spmwgj/nfs_rootfs/

【开发板操作】

6.2 开发板进入ko/load3516cv610目录

使用下面的指令加载ko

复制代码
./load3516cv610_20s_debug -a

运行成功示意:

七、加载运行原厂自带demo-sample_venc

【ubuntu操作】

7.1 复制sample_venc可执行文件到共享文件目录

执行指令

复制代码
cd Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/mpp/sample/venc
sudo sudo cp sample_venc /home/spmwgj/nfs_rootfs/

【开发板操作】

7.2 执行sample_venc目录

进入mnt目录

执行下面的指令:

复制代码
./sample_venc 0

输入0

再输入c,然后等待一段时间,再按下两次回车,这个等待时间即视频录制时间

最后,查询当前文件夹,会输出两个流文件

八、总结

该例程输出了两个流文件

该例程还能进行别的操作。

相关推荐
程序视点2 分钟前
Linux中find命令用法核心要点提炼
linux·linux命令·linux指令·linux的find命令
7yewh9 分钟前
FPGA前瞻篇-计数器设计与实现实例
arm开发·驱动开发·嵌入式硬件·fpga开发·硬件架构·硬件工程·精益工程
HappyAcmen16 分钟前
线代第二章矩阵第八节逆矩阵、解矩阵方程
笔记·学习·线性代数·矩阵
cwywsx21 分钟前
Linux:进程控制2
linux·运维·算法
熙曦Sakura22 分钟前
【Linux网络】 HTTP cookie与session
linux·网络·http
南棱笑笑生26 分钟前
20250512给NanoPi NEO core开发板在Ubuntu core20.04系统下重新编译boot.img
linux·运维·ubuntu
杨德兴27 分钟前
3.3 阶数的作用
人工智能·学习
chilling heart32 分钟前
API的学习总结(上)
学习
Ha-gd39 分钟前
Linux基础开发工具一(yum/apt ,vim)
linux·服务器
charlie1145141911 小时前
内核深入学习3——分析ARM32和ARM64体系架构下的Linux内存区域示意图与页表的建立流程
linux·学习·架构·内存管理