22.1概述在上一节课中我们学习了OV5640的QT视频采集课程,学习了如何配置设备树、动态加载驱动、配置9V034摄像头寄存器、配置输出的分辨率等。本节课我们将学习OV5640双目摄像头的使用。 22.2 OV5640双目摄像头采集1>首先把路径/mnt/workspace/driver_app/drv_code/CH10_2_5640s_qt/dts/的system-top.dts替换掉/mnt/workspace/osrc-lab/boards/MZ7X/debian/drv下的system-top.dts,再把fpga工程替换掉。 2>打开FPGA工程,我们可以看到有两路的数据通路,也增加了摄像头采集IP的复位信号。 3>由于增加了一路摄像头,所以我们有3个VDMA的IP,VDMA0接在数据输出部分,VDMA1接在v_vid_in_axi4s_0, VDMA2接在v_vid_in_axi4s_1。 4>打开分辨率配置IP,可以看到分辨率修改为1280*1024p,因为5640的分辨率是640*480,两个摄像头至少要是640*480的二倍或大于二倍才能完全显示,这里我们选择最接近的分辨率配置。 5>由于分辨率修改了,我们的时钟也要修改,注意clk_out2是5倍的clk_out1。 6>修改显示分辨率,设置为1280*1024。 7>首先运行source settings64.sh。 8> 进入xilinx路径,执行get_hw_description.sh,更新FPGA的硬件。 9>因为uboot内核的配置文件没有做修改,我们可以直接执行make_uboot.sh,编译uboot。如果做了修改,需要先执行cfg_uboot.sh。 10>因为我们没有修改内核文件,所以直接执行make_kernel.sh,编译内核。 11>执行create_image.sh脚本。 12>接下来我们查看驱动部分,进入路径后首先执行make clean。查看驱动内容得知,基本和上一节的内容基本是一样的,只有地址空间的差异和识别的设备树不同, 13>设备树方面一个匹配的是axivdma0,一个是axivdma1。 14>打开makefile文件,注意路径一定要正确,驱动的文件指定正确。 15>执行make指令,生成相应的驱动。 16>再来查看应用程序部分,使用qt软件打开工程,界面上有两个按键,一个open,一个close。 17>编译应用程序,首先进入qt路径下的scripts文件夹,执行settings64.sh,再进入应用程序文件夹执行build_arm_ app.sh脚本,生成相应工程文件。 18>把生成的qt5_camera复制到/mnt/workspace/driver_app/app_code/CH10_2_5640s_qt/sdcard/5640_qt/路径下替换原来的程序,并把编译好的两个驱动文件复制进来。 19>SD卡接入电脑,把生成的boot文件内的内容拷贝到SD卡的boot内。 20>复制sdcard内5640_qt工程的内容到/home/osrc路径下,复制完成退出TF卡。 21>准备好开发板,插入TF卡,两个5640摄像头分别接入CEP1和CEP2、鼠标等,打开串口控制台,上电启动开发板,进入系统后输入osrc,密码root进入用户,再输入sudo su,密码root进入管理员模式。 22>进入5640_qt路径执行应用程序。 23>观察串口控制台显示,驱动、初始化、地址映射等都正常。 24>观察液晶屏显示,鼠标点击open按钮,调整焦距,两个摄像头正常工作。 |
扫描关注,了解最新资讯