Setting up the Virtual Machine


1. Download and install VirtualBox
Version 4.3.20 used in this example.

2. Create Virtual Machine
Select "New"

3. Create a Name
Select OS Type and Version you will be installing:
Ubuntu (32 bit)

4. Memory Size
1024MB (recommended)

5. Create Virtual Hard Drive

6. VDI (VirtualBox Disk Image)

7. Dynamically Allocated

8. File Location and Size
NOTE: In addition to the OS, the EZSDK plus add-ons take up a fair amount of space.

9. Settings

  Controller: IDE
    Add CD/DVD Device
      Choose disk

NOTE: This sets the ISO as the boot image.

10. Start

  1. Install Ubuntu.04.4 LTS.
  2. Follow steps to install (just like any other Linux installation).
  3. Restart VirtualBox Guest instance.
  4. Shutdown.

Guest Additions (Optimize Performance and Usability)

1. Download VirtualBox Guest Additions ISO

NOTE: Make sure you select the version that matches the version of Virtual Box and the OS matches the guest OS.

2. Settings

        Controller: IDE
          Add CD/DVD Device
            Choose disk

NOTE: This mounts the ISO as a CD

3. Start
Open a terminal

  cd /media/VBoxGuestAdditions_4.3.20
  sudo ./ 

4. Creating a Share Folder
Create folder on host to be used as your share folder between host and guest (ie VirtualShare)

    Shared Folders
      Folder Path
        Browse to share folder location on Host machine
          Select Auto-Mount

5. Set of Copy and Paste Between Host and Guest

      Shared Clipboard: Bidirectional
      Drag'nDrop: Bidirectional

NOTE: Share folder is located at /media/sf_VirtualShare (depends on folder name).

6. Network Setup

  Attached to: Bridge Adapter

Cross Compiler

1. Download

2. Install
NOTE: System uses dash shell as /bin/sh despite echo $0 telling me bash.
sudo dpkg-reconfigure -plow dash Install as /bin/sh? ---No

sudo chmod 777 arm-2009q1-203-arm-none-linux-gnueabi.bin ./arm-2009q1-203-arm-none-linux-gnueabi.bin

NOTE: Anything may be chosen, but installed @ '/home/tim/CodeSourcery/Sourcery_G++_Lite/'


1. Download

2. Install
sudo chmod 777 ezsdk_dm816x-evm_5_05_02_00_setuplinux


NOTE: Should find your cross compiler automatically but if not, proceed to guide it to the '/<home/tim>/CodeSourcery/Sourcery_G++_Lite/bin' folder

3. Setup Build Path
cd /home/tim/ti-ezsdk_dm816x-evm_5_05_02_00

  sudo ./

NOTE: If Ubuntu is used you may need to first run "sudo apt-get update" to update the package lists.

4. Update files
upzip SI-EZSDK zip file.

  cp the content of SI-EZSDK to ti-ezsdk dir.

Please notice that SI-EZSDK will overwrite some files of ti-ezsdk to support the customization of SI-DM816x.
The default targetfs dir generated by ti-ezsdk installation contains too many unnecessary files. Inside SI-EZSDK/filesystem, SI provides a slim version of targetfs (SI-initrd.tar.gz).

5. Build
cd /home/tim/ti-ezsdk_dm816x-evm_5_05_02_00/

  Change EXEC_DIR inside Rules.make to targetfs path (the dir that will be used as rootfs on target board)
  make u-boot-min: will build u-boot image to be used as first stage
  make u-boot: will build u-boot image to be used as second stage
  make test: will build Linux kernel, Linux Modules, Video in&out Demo & Rootfs

Serial Port Communications

The RS-232 serial port is used to communicate with the SI-DM816x module via a host using a serial terminal program.

RS-232 Header Pinout

Pin connections on the IDC2x5 header on the SI-DM816x module are arranged to form a null modem cable, such that a simple ribbon cable may be used to connect to a standard RS-232 9 pin DSub connector. However, many motherboards no longer offer an externally accessible 9 pin DSub connector, but instead may have an IDC2x5 header on the motherboard which should allow for a direct null modem connection to the SI-DM816x using a straight ribbon cable with an IDC2x5 pin socket on each side. Please be aware to properly align polarity with pin 1 as the reference.

Host DSub9 Connection
DSub9 at PCSignal NameIDC2x5 at DM816x
 1DCD <-> GND1
6DSR <-> GND 2
 2RxD <-> TxD3
7RTS <-> CTS 4
 3TxD <-> RxD5
8CTS <-> RTS 6
 4DTR <-> n/c7
9RI <-> n/c 8
 5GND <-> GND9
n/an/c 10

Host IDC2x5 Connection
IDC2x5 at PCSignal NameIDC2x5 at DM816x
1DCD <-> GND1
 2DSR <-> GND 2
3RxD <-> TxD3
 4RTS <-> CTS 4
5TxD <-> RxD5
 6CTS <-> RTS 6
7DTR <-> n/c7
 8RI <-> n/c 8
9GND <-> GND9
 10n/c 10

RS-232 Configuration

The RS-232 port is configured as follows:

Baud Rate: 115200 kbits/sec
Parity: none
Data bits: 8
Stop bits: 1

Serial Port Terminal Programs Run From Host

Hyperterminal is available for hosts running Win XP and earlier. However, Hyperterminal has been removed from Win 7 and later and therefore other serial port terminal programs may be used; SI recommends Tera Term. Meanwhile, hosts running Linux can use Minicom.

User Guide

TI DM816x User Guide:
TI DM816x U-Boot:

Video In & Out Demos

The program saLoopBackFbdev is used to test video IO. The source code is in $TI-EZSDK/example-applications/linux-driver-examples-psp04.04.00.01/video/. The executable is in /bin on target filesystem. When Linux is booted on DM board, type ./bin/saLoopBackFbdev on console to run the test.

NOTE: the Video I/O demos only apply to cards populated with composite video circuitry.