zynqmp (ultra96-v2)mipi 链接raspberry pi v2.1摄像头模组 一petalinux_rootfs实现
环境
vivado2019.1
petalinux2019.1
- 1.下载官方的bsp
http://zedboard.org/support/design/28476/181
选择2019.1版本,反编bsp生成开发文件
zw@zw-pc:~/share/ultra96/mipitest$ ls
arm-trusted-firmware build components config.project images linux-xlnx pre-built project-spec u-boot-xlnx
zw@zw-pc:~/share/ultra96/mipitest$
-
2.下载github上的参考文件
https://github.com/tccxy/ultra96-v2_design_mipicamera.git
vivado 打开ultra96_design下的工程生成bitstream并导出 -
3.在第一步的petalinux工程下执行硬件文件的导入
petalinux-config --get-hw-description ultra96-v2_design_mipicamera/ultra96_design/ultra96_design.sdk/ -
4.system-user.dtsi中增加如下
-
5.petalinux build
-
6.petalinux-package --boot --format BIN --fsbl images/linux/zynqmp_fsbl.elf --u-boot images/linux/u-boot.elf --pmufw
images/linux/pmufw.elf --fpga images/linux/*.bit --force -
7.进入ultra96-v2_design_mipicamera/src/linux目录编译caminit和v4l2.ko,在编译驱动时注意一下头文件的选择,这和上一步的内核选择位置有关,readme中有说明
-
8.编译test的测试程序,注意依赖于open-cv3.4.1,同时也要将相应的文件放入到板子内,这里涉及到一个opencv的交叉编译移植
-
9.将BOOT.BIN image.ub rootfs copy到sd 卡 ,注意分区和文件系统格式
-
10.在文件系统中创建一个目录将第6步的驱动和caminit拷贝到这个目录,将test的程序和opencv的相应库文件也拷贝进来
-
11.板子上电,执行insmod v4l2.ko,成功如下
-
12.执行./caminit,成功如下,会读取出imx219的id,这个失败的gpio是reset的,把/sys/class/gpio号按照base+37就行,我这里没改,影响不大
-
13.执行测试程序,这是在串口控制台,如果实在屏幕下,则不用执行DISPLAY那一步
export LD_LIBRARY_PATH=/home/mipi/opencv-3.4.1/build/lib
root@ultra96v2-oob-2019-1:/home/mipi/test# export DISPLAY=:0.0
root@ultra96v2-oob-2019-1:/home/mipi/test#
root@ultra96v2-oob-2019-1:/home/mipi/test# ./rgbvideo