Board Support Package For NVIDIA Jetson Boards

Introduction

NVIDIA Jetson Nano & Xavier Boards

 

This board support package (BSP) supports NVIDIA Jetson Nano & Xavier boards. The BSP has two versions

1.     Local Build version: It uses GCC ARM ARCH64 Embedded cross complier for building binaries that execute on Jetson hardware. This build version does not support NVIDIA CUDA API for building programs for on-board NVIDA GPGPU.

2.     Remote Build version: This version uses CASP’s remote build capabilities to build and deploy CASP models on the NVIDIA Jetson target. It uses NVIDIA Developer Kit SDK that was pre-installed on target board. It supports CASP simulation panel (SimPanel) and supports NVIDIA CUDA API. For remote build to work, both host and target systems shall be connected through common LAN.

Getting Started

·       NVIDIA Developer Kit shall be downloaded and installed on NVIDIA Jetson hardware from official NVIDIA website.

·       For Local Build version of BSP, create and build model on host PC to generate required binary. The generated binary can be copied and executed by the user on Jetson hardware.

·       Following steps shall be followed for Remote Build version

1.   Generate Remote Build Tool chain for Jetson from CASP -> Tools -> HwTools->RemoteBuild. CASP creates a folder containing files that can run on Jetson hardware. Copy the folder to Jetson hardware and follow instructions from ‘readme_setup.txt’ file located in the root directory.

2.   Run casp_rbuild from the Jetson terminal with proper IP address as argument.

3.   Enter the target IP from above step in Remote Build/Deploy IP address in CASP Setup Simulation window as shown below

4.     Enter/Select other setup options and click on Run to build and deploy the model on Jetson target.

Board Configuration

·      General Configuration

Configuration Parameter

Local Build Version

Remote Build Version

Board Title

NvidiaJetson

NvidiaJetson_RBuild

Tool Chain Type

Local Build

Remote Build & Deploy

Board Preprocessor Symbol

_BUILD_BRD_NVJ_ANY

_BUILD_BRD_NVJ_ANY

Platform Preprocessor Symbol

_BUILD_PLT_AARCH64

_BUILD_PLT_AARCH64

Compiler Preprocessor Symbol

_BUILD_CMP_ARM_LINUX_GCC

_BUILD_CMP_ARM_LINUX_GCC

C++11 Standard Support

Yes

Yes

File System Support

Yes

Yes

OpenMP/OpenCL/CUDA Support

No/No/No

No/No/No

Simulation Panel Support

No

Yes

 

·      Hardware Configuration

Configuration Parameter

NVIDIA Jetson Nano & Xavier

Number of CPU cores

4

Dynamic Memory Support

Yes

Prefer Fixed/Floating Point

Floating Point

DI/DO Pins

GPIO2[2], GPIO3[3], GPIO4[4], GPIO5[5], GPIO7[7], GPIO8[8], GPIO9[9], GPIO10[10], GPIO11[11], GPIO14 (TX)[14], GPIO15 (RX)[15], GPIO16[16], GPIO17[17], GPIO20[20], GPIO21[21], GPIO22[22], GPIO23[23], GPIO24[24], GPIO25[25], GPIO27[27]

ADC Default Resolution

0

ADC Pins

-

PWM Default Resolution

12

PWM Pins

GPIO18[0], GPIO13[1]

DAC Default Resolution

GPIO2[2], GPIO3[3], GPIO4[4], GPIO5[5], GPIO7[7], GPIO8[8], GPIO9[9], GPIO10[10], GPIO11[11], GPIO14 (TX)[14], GPIO15 (RX)[15], GPIO16[16], GPIO17[17], GPIO20[20], GPIO21[21], GPIO22[22], GPIO23[23], GPIO24[24], GPIO25[25], GPIO27[27]

DAC Pins

0

UART0 Pins

-

UART1 Pins

-

UART2 Pins

-

UART3 Pins

-

SPI Pins

-

I2C Pins

-

WiFi Support

Implemented through TargetHw_LinuxIP

Ethernet Support

Implemented through TargetHw_LinuxIP

 

Programmer

For Local Build version, user has to manually copy generated binary from project bin directory on host PC to Jetson hardware.

For Remote Build version, binary file is created and executed on target itself, when user presses Run button.

Debugging

Debugging is supported through console display for local build version and via Simulation Panel message window for remote build version.

Known Issues & Limitations

-