Skip to content

ADAS Vision Yocto Layer

Notifications You must be signed in to change notification settings

nxp-auto-linux/meta-adas

Repository files navigation

ADAS (Advanced driver-assistance systems) / Vision Yocto Layer
==============================================================

Meta-adas Yocto layer provides support for the NXP Vision SDK for ADAS (VSDK)
Yocto integration. Meta-adas provides a user-friendly interface to create a
complete Linux distribution image containing the VSDK functionalities.
In the process of image generation, the following tasks are automatically
executed as part of the meta-adas functionalities:
- Device tree update to add the VSDK requirements
- VSDK Kernel module build and deploy
- VSDK demos and applications build and deploy
- Build and deploy of 3-rd party libraries dependencies for VSDK
- Deploy the VSDK binaries to root file system and generate the SD card image


Adding VSDK into a Yocto distribution using meta-adas.
==============================================================
Prerequisites: an existing Yocto distribution should be available.
Meta-adas will just extend the existing Yocto distribution.

- Get the meta-adas repository
    use meta-adas archive provided in the release

- Add the new meta-adas layer in the existing Yocto distribution:
    edit conf/bblayers.conf directly

- Download and install the VSDK archive prepared for Yocto integration to a
  folder of your choice (e.g. “/opt/fsl_local_mirror”):

    External location:
    https://nxp.flexnetoperations.com/control/frse/product?child_plneID=713087&ver=CURRENT
    Latest VSDK version tested with meta-adas:
    VisionSDK_S32V2_RTM_1_2_0_RC3_src_206169c.bin

- Edit the file conf/local.conf in your build folder to specify the path to
  the VSDK folder. For example:

    FSL_LOCAL_MIRROR = "file:///opt/fsl_local_mirror"

  Note: the name of the unpacked archive (e.g. s32v234_sdk) should not be
  added in the FSL_LOCAL_MIRROR.
  This is automatically appended in the meta-adas recipes.

- You also need to confirm that you accept NXP's EULA by adding the following
  to the build folder's conf/local.conf
    ACCEPT_FSL_EULA = "1"

- The VSDK demos are depending on ffmpeg library (build time or run time) that
  has commercial license:
    see recipes-libs-3rdparty/ffmpeg/ffmpeg_2.8.5.bb
  In order use the ffmpeg as dependency into the image, you must acknowledge that
  you are aware of the ffmpeg license requirements by adding the following line
  in the conf/local.conf
    LICENSE_FLAGS_WHITELIST_append = " commercial "

- And then you can include the VSDK demos as follows in the desired image:
    IMAGE_INSTALL +=  "packagegroup-fsl-adas-vsdk"
  or build the  fsl-image-vsdk (having packagegroup-fsl-adas-vsdk already included)
    bitbake fsl-image-vsdk



Re-building VSDK APEX graphs
==============================================================
The VSDK archive provides pre-built APEX graphs built with TCT compiler.
The pre-built graphs allow building the VSDK Linux applications and modules
without installing an APU compiler

For re-building the APU graphs the user should performs the following steps:

    - Independently install a APU compiler, outside Yocto. Please follow the
    VSDK documentation for installing a standalone APU compiler

    - Configure the Yocto build to use the installed APU compiler (previous step)
    and re-build the VSDK image.
    Along with the standard build using the pre-compiled graphs, the following
    setting should be added in build folder's conf/local.conf
        APU_COMPILER_NXP = "<path to the installed NXP APU compiler>"
	or
        APU_COMPILER_TCT = "<path to the installed TCT APU compiler>"

    For example:
        APU_COMPILER_NXP = "/home/user/APU_Compiler_v1.0"

Note: when changing the configuration from pre-built graphs to buildable graph
    or switching between NXP and TCT compilers, it is recommended to clean the
    VSDK sources.


VSDK Usage
==============================================================
For the final image, the VSDK modules are automatically inserted at boot time.
The VSDK demos are located in folder /vsdk/demos/
The user can change the default install path by setting the desired location in
conf/local.conf, for example:
    VSDK_OUTPUT_DIR_NAME="/usr/src/vsdk/demos"

For details about how to run the VSDK demos, use the VSDK documentation
delivered inside the VSDK archive: s32v234_sdk/docs/


NXP ADAS/Vision SDK Recipes
================================

The meta-adas layer uses the following BitBake recipes to build various
components contained in the NXP Vision SDK for ADAS.

The recipes follow the VSDK components outlined in the official VisionSDK User
Guide mirroring the VSDK installation layout.


Meta-adas limitations
================================
- Some of the 3rd party libraries are provided as pre-built binaries inside
  the VSDK archive.