The following diagram shows the NVIDIA® Jetson™ Board Support Package (BSP) architecture.
The following sections describe the components of each module.
Jetson Board Support Package
• Linux Kernel: A UNIX-like computer operating system kernel mostly used for mobile devices.
• Sample Root Filesystem derived from Ubuntu: A sample root filesystem of the Ubuntu distribution. Helps you create root filesystems for different configurations.
• Toolchain: A set of development tools chained together by stages that runs on various architectures.
• Bootloader: Boot software boot for initializing the system on the chip.
• Sources: Source code for kernel and multimedia applications.
• NVIDIA® Jetson™ User Space Drivers: Provides the NVIDIA drivers that run in the userspace.
• Flashing Support Scripts and Tools: A set of scripts and associated tools to assist in flashing your system.
• Sample Source Code and Applications: Sample source code for developing embedded applications for the Jetson platform.
Artificial Intelligence
• NVIDIA® TensorRT™: Provides a high-performance neural network inference engine for production deployment of deep learning applications. It can be used to optimize, validate and deploy trained neural networks for inference to the Jetson platform. The Multimedia API provides samples that use this engine.
NVIDIA® SDK Manager installs this component as part of the Low-Level Multimedia API.
• cuDNN: NVIDIA® CUDA® Deep Neural Network library.
Computer Vision
• VisionWorks: NVIDIA® VisionWorks™ software development package for computer vision (CV) and image processing.
• OpenCV: Provides OpenCV that NVIDIA optimized specifically for the Jetson platform. It contains Jetson-specific optimizations that enable it to run faster than the OpenCV implementation.
Camera
• libArgus: A low-level API based on the camera core stack.
SDK Manager installs this component as part of the Multimedia API which provides a collection of APIs that supports flexible application development with better control over the underlying hardware blocks.
Display
• NVDC-DRM: NVIDIA userspace and driver for display.
• X Driver: NVIDIA accelerated X driver.
• Weston: NVIDIA accelerated Weston (compositor based on Wayland protocol).
CUDA Toolkit
• Toolkit for Ubuntu host with cross deployment support: CUDA toolkit for the host.
• Toolkit for Jetson Developer Kit running Jetson BSP: CUDA toolkit for use with the Jetson Developer Kit.
Graphics
• OpenGL: Open Graphics Library API for rendering vector graphics.
• OpenGL ES: Cross-platform API for full-function 2D and 3D graphics on embedded systems
• EGL: Interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system.
• Vulkan: A low level API that gives direct access of the GPU to developers.
Multimedia
• Multimedia API (MMAPI): A collection of lower-level APIs that support flexible application development. Multimedia API includes:
• Libargus for imaging applications
• Buffer utility for buffer allocation, management, and sharing
• NVOSD for On-Screen display
• V4l2 API extensions with a video converter, decoder, and encoder.
• Application framework (optional)
MMAPI also includes samples that demonstrate image processing with CUDA, and object detection and classification with cuDNN, TensorRT and OpenCV4Tegra usage.
MMAPI is for developers who use a custom framework or wish to avoid a framework like GStreamer.
MMAPI must be separately downloaded from the NVIDIA Jetson Download Center. It is not included in the download for the Jetson Driver.
• GStreamer: Provides a higher-level multimedia API. This framework provides a parallel capability to the collection of APIs in the lower-level Multimedia API.
The GStreamer framework is installed with the download for the Jetson Driver. It is also installed by SDK Manager.
This framework is an alternative to Multimedia API.
Developer Tools
• Nsight Systems: Profiles application execution across multiple CPU cores. Helps you improve application performance by identifying slow parts of code.
Runs on the Linux host computer. Supports all Jetson products.
• NVIDIA® Nsight™ Compute: Interactively profiles kernel operations for CUDA applications. Provides detailed performance metrics and API debugging via a user interface and command line tool.
• Nsight Graphics: Debugs and profiles OpenGL and OpenGL ES graphics programs through a console interface.
Runs on the Linux host computer. Supports all Jetson products.
JetPack SDK
• Documentation: Provides details for your development on the Jetson platform.
• Samples: Designed to give you hands-on, practical examples for using the Jetson development platform,