NVIDIA Jetson TK1 Unboxing

In the NVIDIA Jetson TK1 Unboxing video we open the box in an action packed  adventure. Looky here:

 

Introduction

The NVIDIA Jetson TK1 Development Kit is built around the Tegra K1, the first supercomputer on a chip. The NVIDIA Jetson TK1 Development Kit is available from Amazon.

Jetson connection to USB 3.0 Hub

In the video, you’ll note in passing that I plugged in a USB cable. The other side of that cable is connected to a Plugable 7-Port USB 3.0 SuperSpeed Hub. The Plugable is a powered hub which provides up to 5V-4A total current. Currently connected to the hub are a keyboard, a mouse, a USB Webcam, and a Patriot 32GB flash drive.

First time boot

When you boot up the Jetson board for the first time, it goes to a command line prompt. The following instructions are taken from the official Jetson TK1 Support page:  README.txt

To install the GUI desktop:

Login using the default account: ‘ubuntu’ and password: ‘ubuntu’

Change directories to the NVIDIA installation directory:

$ cd ./NVIDIA-INSTALLER

Run the installer script to extract and install the Linux driver binary release:

$ sudo ./installer.sh

Reboot the system:

$ sudo reboot

The graphical desktop UI will appear. Remember to only run the installer.sh script once.

We also learned not to leave the camera autofocus on while filming this type of video as during the initial boot process to the command line, the whole scene was nothing but an out of focus hot mess.

Notes on the Jetson Dev Board connectors

If you haven’t been around development boards much, you’ll notice that the Jetson TK1 has a JTAG port on it. The port is extremely useful for hardware development and working with the logic on the board. The JTAG port allows low level access to hardware for testing and other functions such as single stepping and breakpointing. People also use the port to connect an in-circuit emulator to access on-chip debug modules inside the target CPU.

If you’re a software developer who is  not writing firmware and someone tells you to access the JTAG port, I suggest that you give them a blank Homer Simpson type of look and tell them that you think the board is most likely broken.

Most of the other ports and slots you’ve probably have seen and have some experience with. Mini-PCIe is common in laptops (a common expansion port for a variety of tasks such as WiFi, Bluetooth, GPS and networking), the SATA connector is where you plug in disk drives and such. The white Molex connector is for powering the SATA peripheral.

The one exception to things that you have seen may be the 125 pin Expansion Port.

The Expansion Port has a large variety of signals available:

  • Camera Ports
  • LCD Port
  • Touchscreen Ports
  • UART
  • HSIC (USB chip-to-chip interconnect)
  • I2C (Computer Bus for attaching peripherals)
  • GPIO (General Purpose IO)

You’ll need appropriate connectors in order to patch into the signals.

 

2 Comments

  1. Hi,
    Any directions on how can one debug OpenCv code and place step by step breakpoints to debug I/O pins?
    You said JTAG is not required but then what is the alternative?

    BR
    General_heat

    • Hi General_heat,

      If you have to debug hardware, then JTAG is usually the easiest way to go. The blog post was a joke on how difficult it is to use JTAG (or hardware debuggers in general) when you are writing high level software. In the vast majority of cases, if you are writing OpenCV code you are not worrying about what is showing up on I/O pins. JTAG is like any other tool, it is appropriate to use when needed. In my experience, when working with hardware engineers that is one of the relatively few number of ‘software’ tools that they use, so they tend to use the hardware debuggers when software based debuggers are more appropriate. In most cases, low level interface libraries/drivers should be written as an abstraction to interface the hardware (such as I/O pins) against much higher level constructs such as OpenCV.

Leave a Reply

Your email address will not be published.


*