Getting Started Guide for Jetson TK1

From RidgeRun Developer Connection
Revision as of 18:37, 25 October 2016 by Jcaballero (talk | contribs) (Setting Jetpack tools path into SDK)
Jump to: navigation, search

Introduction

On this page you are going to find all the necessary information to start from scratch to use the RidgeRun SDK on your Tegra K1 Jetson module. In the following sections we assume that you have already downloaded your RidgeRun Tegra K1 SDK following the steps on the RidgeRun installation guide.

The first section of this guide shows you how to install Jetpack in your computer and how to configure a TFTP and NFS server. Subsequently, the second section contains instructions about how to configure the RidgeRun's SDK to create a SD card with all software components (uboot, kernel and filesystem) needed to boot to Linux Shell in your Jetson Board. Finally some links to gstreamer pipelines are provided.

On the rest of this document, we refer as $DEVDIR to the path where the RidgeRun SDK for Tegra K1 is installed.

Basic preliminary work

Installing Toolchain

Ridgerun recommended to use the Linaro toolchain because it is newer and produces more optimized assembler code

1. Download the Linaro toolchain. You need to install 32bits toolchain for ARM. In this case version 4.9-2016.02 will be used:

2. Install the toolchain

sudo mkdir /opt/linaro
sudo chmod -R 775 /opt/linaro
sudo chown -R $USER /opt/linaro
cp  gcc-linaro-4.9-2016.02-x86_64_arm-linux-gnueabihf.tar.xz /opt/linaro
cd /opt/linaro/
tar -xf gcc-linaro-4.9-2016.02-x86_64_arm-linux-gnueabihf.tar.xz

Installing Jetpack

1.Download JetPack for L4T 2.3 from https://developer.nvidia.com/embedded/downloads

2. Move binary into installation directory, we recommend /home/$USER/JetPack-L4T-2.3

mkdir -p /home/$USER/JetPack-L4T-2.3
mv JetPack-L4T-2.3-linux-x64.run /home/$USER/JetPack-L4T-2.3/

1. Set the Jetpack binary as executable and set correct permissions.

cd /home/$USER/JetPack-L4T-2.3
chmod +x JetPack-L4T-2.3-linux-x64.run

2. Install Jetpack.

./JetPack-L4T-2.3-linux-x64.run

3. Press Next to start the installation.

jetpack-2_3-installation-01.png
Figure 1. Start installation


4. Select Jetson TK1 Development Kit.

jetpack-2_3-installation-tk1-03.png
Figure 2. Select development environment


5. Ridgerun recommend select standard installation.

jetpack-2_3-installation-06.png
Figure 3. Component manager


6. Wait until the installation will be completed (this may take a while).

jetpack-2_3-installation-10.png
Figure 4. Installation completed

Setting up serial access to the Linux console

You use the serial port to control u-boot and Linux. The picocom terminal emulator work well for this purpose.

Setting up Picocom - Ubuntu

Setting up a TFTP server

If you are planning to use the SDK's installer to install images generated by the SDK in NAND, installing a TFTP server you will speed up downloads to the target hardware by using TFTP.

Setting Up A Tftp Service

Setting up an NFS server

For application development, it is convenient to use root NFS mount file system for the target hardware. This allows you to rebuild your application on the host and immediately run the application on the target hardware with no interveining steps. You host PC needs to be configured as a NFS server for this in order to work properly.

Setting Up A NFS Service

Setting Jetpack tools path into SDK

This section describes how to configure the tegrax1-jetson's SDK to access Jetpack tools. tegrax1-jetson's SDK access some tools of Jetpack, therefore installation Jetpack path needs to be provided.

1. Open a make config menu

make config

Running make config your SDK is going to download all basic packages needed by the SDK build system.

2. Set JetPack tools path: /home/$USER/JetPack-L4T-2.3/TK1/Linux_for_Tegra_tk1/

Go to Propietary software submenu and configure the JetPack tools path as is shown in Fig.1

tegraK1-jetson-sdk-v_1_0_0-jetpack.png
Figure 1. Configure JetPack path

Booting from a SD card

Configuring SDK to deploy kernel and filesystem to a SD card

This section describes how to configure the tegrax1-jetson's SDK to deploy all the components (kernel and file system) into a bootable SD card. The RidgeRun SDK support several filesystem types (SD, eMMC and NFS) however in this case we are going to use it on the SD card as well.

1. Open a make config menu

make config

Running make config your SDK is going to download all basic packages needed by the SDK build system.

2. Go to File System Configuration submenu and configure your filesystem as is shown in Fig.1 and Fig.2

Error creating thumbnail: Unable to save thumbnail to destination
tegraX1-jetson-sdk-v_1_0_0-opt-fs.png
Figure 1. Main menu File System Configuration option


Error creating thumbnail: Unable to save thumbnail to destination
tegraX1-jetson-sdk-v_1_0_0-fs-menu.png
Figure 2. File System Configuration sub menu

3. Configure your file system target as is shown in Fig.3

Error creating thumbnail: Unable to save thumbnail to destination
tegraX1-jetson-sdk-v_1_0_0-fs-target.png
Figure 3. File system target


4. Go to Installer Configuration submenu and configure your destination SD device as is shown in Fig.4

Error creating thumbnail: Unable to save thumbnail to destination
tegraX1-jetson-sdk-v_1_0_0-ints-dev-mmc.png
Figure 4. Configure SD device‎

5. Compile your SDK

make

Installing SDK's kernel and filesystem to a SD card

Once you have built your SDK, you need to install it on the SD card running make install.

make install

You will be asked to confirm the device that you are going to partition and format, please enter y if it is correct. After this, the SDK will start to create a bootable SD card

Now you are ready to test your SDK booting from a SD card. One partition was created by the SDK: rootfs which contains the kernel, device tree file and filesystem.

You will be asked to confirm if you want to flash TegraX1 board in order to set internally in the bootloader this SD filesystem mode. Please enter y if you want to flash the board.

Note: This procedure is not needed if it was already applied previously and if any another file system option was flashed previously.

Booting from emmc

Configuring SDK to install kernel and filesystem in emmc

This section describes how to configure the tegrax1-jetson's SDK to install all the components (kernel and file system) into the TegraX1 internal emmc card.

1. Open a make config menu

make config

Running make config your SDK is going to download all basic packages needed by the SDK build system.

2. Go to File System Configuration submenu and configure your filesystem target as is shown in Fig.1

Error creating thumbnail: Unable to save thumbnail to destination
tegraX1-jetson-sdk-v_1_0_0-fs-target-mmc.png
Figure 1. File System target options

3. Compile your SDK

make

Installing SDK's kernel and filesystem to a SD card

Once you have built your SDK, you need to install it on the emmc card running make install.

make install

You will be asked to confirm if you want to flash TegraX1 board in order to flash the emmc card. Please enter y to continue with the process.

CUDA Demos

Using Gstreamer

Some GStreamer examples to implement basic multimedia pipelines can be found at Gstreamer pipelines for Tegra X1. If you require support creating a custom pipeline please don't hesitate to contact us

Articles related to this board

Jetson TX1 Auvidea
NVIDIA Jetson TX1 EVM
Gstreamer pipelines for Tegra X1
Compiling Tegra X1 source code
RidgeRun Professional SDK Irazu for Nvidia TegraX1 Release_Notes