MX8 Basler Camera
Introduction
The following instructions will help you to integrate Basler MIPI camera support into Variscite Yocto images for i.MX8M and i.MX8MM platforms.
This will allow you to stream images/video from a Basler camera(s) connected to Variscite evaluation platforms.
You can save the camera output to a storage device and process it using the Basler pylon SDK and the pylonViewer app.
Download Variscite Yocto BSP
Please follow Build Yocto from source code.
Execute steps 1-4.3 to download the BSP sources, but don't start bitbake yet.
Download and install Basler meta layers
$ wget ftp://customerv:Variscite1@ftp.variscite.com/Basler/basler-dart-bcon-mipi-imx8-cep_1.1.2.tar.gz $ tar xf basler-dart-bcon-mipi-imx8-cep_1.1.2.tar.gz $ mv basler-dart-bcon-mipi-imx8-cep_1.1.2/meta-basler* ../sources
Download and install Variscite kernel patches
$ wget ftp://customerv:Variscite1@ftp.variscite.com/Basler/sumo-fsl-4.14.98/recipes-kernel/linux.tar.gz $ rm -rf ../sources/meta-variscite-imx/recipes-kernel/linux $ tar xf linux.tar.gz -C ../sources/meta-variscite-imx/recipes-kernel
Customize configuration files
Customize bblayers.conf
Add the following lines to conf/bblayers.conf
BBLAYERS += " ${BSPDIR}/sources/meta-basler-imx8 " BBLAYERS += " ${BSPDIR}/sources/meta-basler-tools/meta-basler-common "
Customize local.conf
Add the following to conf/local.conf under your Yocto build directory:
Add Basler software and driver:
IMAGE_INSTALL_append = " \ basler-camera-driver \ pylon \ python3-pypylon \ gentl-producer \ xauth \ " MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-module-basler-camera-driver"
Add Basler DTB files:
KERNEL_DEVICETREE_append_imx8mm-var-dart = " \ freescale/fsl-imx8mm-var-dart-basler-camera.dtb \ "
Build Yocto image
Continue following Build Yocto from source code from where you left off, to bitbake and install an image.
Running Basler camera application
Run the following commands at the shell prompt:
$ export DISPLAY=:0.0 $ GENICAM_GENTL64_PATH=/opt/dart-bcon-mipi/lib /opt/pylon6/bin/pylonviewer 2>/dev/null &