L4T Multimedia API Reference

28.1 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Setting Up Cross-Platform Support

Use the following procedure to set up the cross-compilation environment for Multimedia API on the host system.

  1. Install the CUDA cross-platform toolkit on the host system with the following commands:

     $ sudo dpkg --add-architecture arm64
     $ sudo apt-get update
     $ sudo dpkg -i cuda-repo-<distro>_<version>_amd64.deb
     $ sudo apt-get update
     $ sudo apt-get install cuda-cross-aarch64
    
    Note
    Only cuda-8.x supports cross-platform development for aarch64 (arm64).
  2. Download the <L4T sample="" root="" filesystem>=""> from the following website:
     https://developer.nvidia.com/embedded/downloads
    
  3. Decompress the package and export rootfs path with the following command:

     $ export TARGET_ROOTFS=<PATH_OF_TEGRA_DRIVER_PACKAGE>/Linux_for_Tegra/rootfs
    
    Note
    The sample 11_camera_object_identification and backend do not support cross-compilation in this release.
  4. Export the path of cross-compiler tool chain with the following command:
     $ export PATH=$PATH:<CROSS_COMPILER_PATH>/bin
    
  5. Create symbolic links with the following commands:
     $ export TEGRA_ARMABI=aarch64-linux-gnu
     $ cd ${TARGET_ROOTFS}/usr/lib/
     $ sudo ln -sf ${TEGRA_ARMABI}/crt1.o crt1.o
     $ sudo ln -sf ${TEGRA_ARMABI}/crti.o crti.o
     $ sudo ln -sf ${TEGRA_ARMABI}/crtn.o crtn.o
     $ cd ${TEGRA_ARMABI}
     $ sudo ln -sf libv4l2.so.0 libv4l2.so
     $ sudo ln -sf tegra-egl/libEGL.so.1 libEGL.so
     $ sudo ln -sf tegra-egl/libGLESv2.so.2 libGLESv2.so
     $ sudo ln -sf tegra/libcuda.so.1.1 libcuda.so.1
     $ sudo ln -sf ../../../lib/aarch64-linux-gnu/libdl.so.2 libdl.so
    
  6. Enter the sample directories and run make to cross-compile.