Getting Started Guide for DM6446 EVM

From RidgeRun Developer Connection
Jump to: navigation, search


On this page you are going to find all the necessary information to start from scratch to use the RidgeRun SDK on your DM6446 evaluation module (EVM). In the following sections we assume that you have already downloaded the DVSDK version for OMAP3X processor (this version is compatible with the DM6446) and that you have installed the toolchain 2009q1-203 from codesourcery as well as your DM6446 SDK following the steps on The RidgeRun installation guide.

Supported drivers

RidgeRun SDK's kernel has support for the following list of drivers for the DM6446 processor:

  • UART driver
  • I2C driver
  • GPIO driver
  • EDMA driver
  • NAND driver with 1-bit ECC, up to 2K page size support
  • MMC/SD driver with SDHC and SDIO support
  • SPI driver with EEPROM support (polled, PIO and DMA mode of operation)
  • USB driver with Host, Device and OTG modes; Supports USB Host/Device Mass Storage Class, USB Hub and HID clasess as well as USB Device CDC / RNDIS classes

Basic preliminary work

Installing the DVSDK

1.   Set the DVSDK binary as executable and set the required permissions.

     sudo chmod 777 dvsdk_omap3530-evm_4_01_00_09_setuplinux

2.   Install the DVSDK. For ubuntu versions different than Ubuntu 10.04 LTS 32-bit you will need to add the --forcehost argument to install it:

     ./dvsdk_omap3530-evm_4_01_00_09_setuplinux --forcehost

note: During the EZSDK installation process you will be asked for the toolchain's path, assuming that you installed it on /opt, the path that you need to provide is /opt/codesourcery/arm-2009q1/bin/

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

Recovery procedure

It is possible that during u-boot / UBL related tasks your board's bootloader becomes corrupted ( likely due to a write / erase operation of the address where u-boot / UBL is stored in NAND / NOR ). In such case, it is necessary to use the TI's Flash Utilities provided with your DM6446 SDK. It is assumed that you have already build the development directory by issuing a "make" command from the root of the directory. The standard procedure used by RidgeRun involves using first the Serial Loader TI's Flash Utility to load an auxiliary known-to-work bootloader image and later invoking the standard bootloader installation command of the SDK. The procedure shown below applies for users booting from NAND storage media, for NOR support please contact RidgeRun.  

1.   Power OFF your board. Set the DM6446 EVM into UART boot mode by configuring the S3 dip switch as shown in Fig.1 (S3-1 and S3-2, ON position).

Figure 1. DM6446 EVM UART boot mode configuration

2.   Power ON your board and open your serial console, verify that you get a sequence of "BOOTME" messages on screen (This means that the board is currently in UART boot mode).


3.   Close the serial console.

4.   Proceed to load the binary image of u-boot into RAM, this task is accomplished by issuing the following command (which uses the Serial Loader utility):

$(DEVDIR)$ make loadbyserial PORT=<port>

note: By default, the PORT parameter is set to /dev/ttyS0 but if you are using an USB to Serial converter please specify the proper device you are using to attach to the board (for example /dev/ttyUSB0).


      The user should get an output similar to the following after executing the command:

   TI Serial Loader Host Program for DM644x
   (C) 2011, Texas Instruments, Inc.
   Ver. 1.50

Loading image to DDR

Attempting to connect to device /dev/ttyUSB0...
Press any key to end this program at any time.

Waiting for the DM644x...
Target: BOOTME
BOOTME commmand received. Returning ACK and header...
ACK command sent. Waiting for BEGIN command... 
Target:  BEGIN
BEGIN commmand received. Sending CRC table...
 100% [                                                              ]
                           CRC table sent....

Waiting for DONE...
Target:   DONE
DONE received.  Sending the UBL...
 100% [                                                              ]
                              UBL sent....

Target:   DONE
DONE received.  UBL was accepted.
UBL transmitted successfully.

Waiting for SLT on the DM644x...
Target:Starting UART Boot...
BOOTUBL commmand received. Returning CMD and command...
CMD value sent.  Waiting for DONE...
Target:   DONE
DONE received. Command was accepted.
Waiting for SENDIMG sequence...
SENDIMG received. Returning ACK and header for image data...
ACK command sent. Waiting for BEGIN command... 
Target:  BEGIN
BEGIN commmand received.
   0% [ ------------------------------------------------------------ ]
Status Undefined

Waiting for DONE...        Image data sent.
Target:   DONE
DONE received.  All bytes of image data received...
Target:   DONE
Target:U-Boot 2010.12-rc2 (Oct 13 2011 - 10:46:24)
Target:Cores: ARM 405 MHz, DSP 810 MHz
Target:DDR:   189 MHz
Target:I2C:   ready
Target:DRAM:  256 MiB
Target:NAND:  64 MiB
Target:Bad block table found at page 131040, version 0x01
Target:Bad block table found at page 131008, version 0x01
Target:In:    serial
Target:Out:   serial
Target:Err:   serial
Target:Net:   Ethernet PHY: LXT972 @ 0x01

note: The TI Flash Utilities have a known issue, after the command is executed the Serial Loader tool might hang, in such case proceed to open an additional console and issue the following command:

killall cli

5.   Open your serial console and verify that you have the u-boot prompt.

DM6446-EVM #

6.   Close your serial console.

7.   Proceed to install u-boot by issuing the bootloader installation command:

$DEVDIR$ make installbootloader

8.  Power OFF the board and set the DM6446 EVM into NAND boot mode by configuring the S3 dip switch as shown in Fig.1 (S3-1 and S3-2, OFF position).

Figure 2. DM6446 EVM NAND boot mode configuration

9.   Power ON the board and open the serial console to verify that the installation was successful.