zynqmp (ultra96-v2)mipi 链接raspberry pi v2.1摄像头模组 一petalinux_rootfs实现

环境

vivado2019.1
petalinux2019.1

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

posted @ 2020-07-15 15:20  tccxy  阅读(729)  评论(0编辑  收藏  举报