海思 Camera | Hi3559AV100 sample_vio 视频输出

近期在进行海思 Hi3559AV100 的开发过程中发现,mpp 业务 sample_vio 和官方文档的描述存在差异,并且发现有很多地方需要注意,所以整理了这份文档。

一、开发环境准备

1. 开启 Linux 下的网络

① 设置网络

ifconfig eth0 hw ether 00:10:67:20:81:70;
ifconfig eth0 10.86.147.170 netmask 255.255.255.0;
route add default gw 10.86.147.1

以上为举例, IP 以实际为准


② 然后 ping 一下其他 IP,正常情况下网络将能正常工作

ping 10.86.147.188


2. 挂载 NFS 文件系统进行开发

① 在开发阶段,推荐使用 NFS 作为开发环境,可以省去重新制作和烧写根文件系统的工作
   
② 挂载 NFS 文件系统

③ 然后就可以在 /mnt 目录下访问服务器上的文件,并进行开发工作


3. 开启 telnet 服务

网络正常后,运行命令 telnetd & 就可以启动单板 telnet 服务,然后才能使用 telnet 登录到单板


二、单系统 Linux 下运行 MPP 业务

1. 修改配置文件

在 Hi3559AV100_SDK_V2.0.3.1/mpp/sample/ 目录下修改 Makefile.param 配置文件适配 sensor imx334

          


2. 修改视频输出分辨率

在 /mpp/sample/vio/ 目录下修改 sample_vio.c

          

修改输出格式为 1080P60, 否则可能出现输出格式不对黑屏的现象


3. 修改配置脚本

在 /mpp 目录下将 cfg.mak.single 文件更名为 cfg.mak

cp cfg.mak.single cfg.mak 

 

在 /mpp/sample/ 目录下编译

make

在 /mpp/sample/vio 目录下会生成 sample_vio 可执行文件



4. 加载驱动

① 在 NFS 文件系统下创建 ko/ 文件夹用来放所需的驱动文件夹

② 进入 mpp/out/linux/multi-core/ko 目录下将所有驱动文件拷贝到 /NFS/rootfs/ko/

cp ./* /NFS/rootfs/ko


③ 进入 mpp/out/linux/multi-core/lib 目录下将所有库文件拷贝到 /NFS/rootfs/lib/ 下

cp ./* /NFS/rootfs/lib


④ 增加权限

chmod 775 ./ko/ -R
chmod 775 ./lib/ -R


⑤ 加载驱动

./load3559av100_multicore -i -sensor0 imx334 -sensor1 imx334

 

5. HDMI 外接显示器


6. 运行 sample_vio 例程

./sample_vio 0 0







三、双系统中 A53UP 端 LiteOS 上运行 MPP 业务

1. 编译sample_vio.bin A53UP 端镜像

在烧录双系统镜像时有提到 A53 端需要烧录 sample_vio.bin

① 修改配置文件

     Hi3559AV100 标配开发板,搭配单 sensor 板,sensor:imx334

     在 Hi3559AV100_SDK_V2.0.3.1/mpp/sample/ 目录下修改 Makefile.param 配置文件

vim Makefile.param

           

 

② 修改视频输出分辨率

    在 /mpp/sample/vio/ 目录下修改 sample_vio.c

          

修改输出格式为 1080P60, 否则可能出现输出格式不对黑屏的现象


③ 编译

    在 /mpp 目录下将 cfg.mak.single 文件更名为 cfg.mak

cp cfg.mak.single cfg.mak


    在 /mpp/sample/ 目录下编译

make lite

    在 /mpp/sample/vio 目录下会生成 sample_vio.bin 镜像,供 A53UP 端烧录使用



2. 加载驱动

① 在 NFS 文件系统下创建 ko/ 文件夹用来方所需的驱动文件夹

② 进入 mpp/out/linux/big-little/ko 目录下将所有驱动文件拷贝到 /NFS/rootfs/ko/

③ 进入 mpp/out/linux/big-little/lib 目录下将所有库文件拷贝到 /NFS/rootfs/lib/ 下

cp ./* /NFS/rootfs/lib

 

④ 增加权限

chmod 775 ./ko/ -R
chmod 775 ./lib/ -R


⑤ 加载驱动



3. HDMI 外接显示器

 

4. 运行 sample_vio 例程

① 切到 A53UP Huawei LiteOS 下

virt-tty a53


② 运行 sample

sample 0 0


          

          




以上就是我在进行海思平台开发过程中整理出来的一些资料和注意事项,后续我们也将持续分享更多 海思 平台由浅入深的技术文章,同时也会把在开发好调试过程中遇到的问题整理出来跟大家一起分享。如果需要更深入的技术交流,欢迎关注我给我留言~

【参考资料】:

      ① 《 WM_Hi3559A╱C V100 SDK 安装及升级使用说明.pdf 》

      ② 《 WM_Hi3559A╱C V100 开发环境用户指南.pdf 》

 

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论

wesly

wesly

2022年3月6日
[Func]:imx334_write_register [Line]:136 [Info]:I2C_WRITE DATA error! [Func]:imx334_write_register [Line]:136 [Info]:I2C_WRITE DATA error! ===Imx334 8M30fps 12bit LINE Init OK!=== [SAMPLE_COMM_ISP_Thread]-323: ISP Dev 0 running ! [SAMPLE_COMM_VO_StartChn]-544: u32Width:3840, u32Height:2160, u32Square:1 ---------------press Enter key to exit!--------------- [main]-1921: sample_vio exit success! hibvt-i2c 12110000.i2c: wait idle abort!, RIS: 0x611 你好 请教你一下 我跑这个例子出现这个 是哪里需要配置吗