目 录
[前 言](#前 言)
[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驱动编进内核)
[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.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目录)
[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,然后等待一段时间,再按下两次回车,这个等待时间即视频录制时间

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

八、总结
该例程输出了两个流文件
该例程还能进行别的操作。