NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

GSG: DVEVM Software Setup for DM6467 Platforms

From Texas Instruments Wiki
Jump to: navigation, search

Note: This software setup page covers how to install the Linux tools, (DV)SDK software, and Linux Support Package for either the DM6467 or DM6467T DVEVMs. Both of these platforms have both an ARM and a DSP chip.

Software Overview[edit]

Terminology: "DVEVM" is the physical kit, including EVM hardware, software and everything included in the kit. The "DVSDK" refers to the TI software included in the DVEVM.

To begin developing applications, you need to install the DVSDK development environment. This chapter outlines the steps required to load the DVSDK onto the development host. You will need the distribution disks or the files provided as a part of the DVEVM.

The DVSDK provides inter-operable, optimized, production-ready video and audio codecs that leverage integrated accelerators. These codecs are built into configurable frameworks, and are presented via published APIs within popular operating systems (such as Linux) for rapid software implementation.

The software that is made available with the DVSDK, some included with the kit and some can be downloaded with registration. Please see DVSDK release notes under the DVSDK download link for details on this.

Guidelines to migrate from MontaVista-based releases can be found in Community Linux DVEVM Software Migration Guide.

Command Prompts in This Guide[edit]

In this guide, commands are preceded by prompts that indicate the environment where the command is to be typed. For example:

host $

Indicates command to be typed into the shell window of the host Linux workstation.

EVM #

Indicates commands to be typed into the U-Boot shell in a console window connected to the EVM board's serial port.

target $

Indicates commands to be typed into the Linux shell in the terminal window connected to the EVM board's serial port.

Software Components[edit]

The following figure shows the software components used for application development with the DVSDK (e.g., DM6467T):

DVSDK Linux Software Block Diagram with DSP

In the above figure, everything other than the multimedia codecs are run on the ARM. The multimedia codecs are run on the DSP.

The application handles I/O and application processing. To process video, image, speech, and audio signals, it uses the DMAI APIs provided by DMAI. The DMAI talks to PSP for capture, display/playout of audio/video and to Codec Engine for codec processing. The Codec Engine, in turn, uses xDM-based codecs.

In addition, Linux running on the ARM makes a large number of APIs available to your application, including drivers and timers.

Note: GStreamer and other components highlighted in pink are not provided in the DVSDK release.

Preparing to Install[edit]

On a host Linux system (Ubuntu 8.04 was used for this guide), download and copy the following files to a temporary location with at least 1.2 GB available space. Since you can delete the installation files after installing the software, a directory like /tmp is recommended. We will be referring to this directory as the <release-location>. The following can be downloaded from the DVSDK release page

  • linux-davinci-staging.tar.gz - contains the kernel source tree with the TI modifications, also known as the Product Support Package (PSP)
  • linuxlibs-####.##-armv5te.tar.gz - contains PSP pre-compiled Linux libraries
  • dvsdk_#_##_##_##_Setup.bin - contains the DVSDK itself
  • arago-demo-image-dm####-evm.tar.gz - for root filesystem
  • dvsdk_#_#_#_#_overlay_dm6467.tar.gz - for platform-specific apps and data
  • cs2dm6467_#_##_##_##_Setup.bin - codec server for DM6467 platform

Updates to these installers may be available in subsequent releases.

The DVSDK also needs the Code Sourcery tools

  • Please download Sourcery G++ Lite 2009q1-203 for ARM GNU/Linux from the download link provided under Installing Software Components section as given below.

Installing the Software[edit]

Installing the software used by the DVSDK involves performing the following steps:

Installing Software Components[edit]

This section explains how to install the required software components on the host.

  1. Log in to your host Linux workstation.
  2. The commands in this section install all components in the /home/<useracct>/dvsdk directory. If you prefer a different location, modify the commands as necessary. Open a command prompt in user mode and go to the download directory as follows:

<syntaxhighlight lang="bash"> host $ mkdir -p /home/<useracct>/dvsdk host $ cd /home/<useracct>/dvsdk </syntaxhighlight>

  1. Download and unpack the tool chain: The link Getting_CodeSourcery_Toolchain provides the information you need to download the toolchain. You can download the Advanced Packages from the link which provides the linux tar ball. The other options would be to download the Recommended Packages which provides the tools in a linux installer. These commands assume you want to download the toolchain (Advanced Packages) and install it in the /opt/arm-2009q1 directory. Note: The "sudo" is not necessary if you want to install the toolchain in some other place. The toolchain can be installed anywhere in the system as long as the directory has the necessary write permissions.

<syntaxhighlight lang="bash"> host $ sudo mkdir -p /opt host $ sudo tar -xjf arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /opt </syntaxhighlight> Note: Please note that arm-2009q1-203-arm-none-linux-gnueabi.bin is an assumed installer name from the Code Sourcery if Recommended Packages is selected from the link for the linux installer. Please execute arm-2009q1-203-arm-none-linux-gnueabi.bin to install the toolchain to /opt/arm-2009q1 directory if linux installer is considered for the toolchain instead of the tarball.

These command line tools are available at no cost. Code Sourcery also offers more fully featured tools for a cost. The Sourcery G++ Lite package includes all of the following components:

  • CodeSourcery Debug Sprite for ARM
  • GNU Binary Utilities (Binutils)
  • GNU C Compiler (GCC)
  • GNU C Library (GLIBC)
  • GNU C++ Compiler (G++)
  • GNU C++ Runtime Library (Libstdc++)
  • GNU Debug Server (GDBServer)
  • GNU Debugger (GDB)
  1. Unpack the PSP pre-compiled Linux libraries package as follows. It puts the library headers in linuxlibs-####.##-armv5te/include directory and pre-compiled libraries in linuxlibs-####.##-armv5te/lib directory.
host $ tar -xzf linuxlibs-####.##-armv5te.tar.gz -C /home/<useracct>/dvsdk
  1. Unpack the Linux PSP source. The Linux kernel can be found in /home/<useracct>/dvsdk/git.

<syntaxhighlight lang="bash"> host $ tar -xzf linux-davinci-staging.tar.gz -C /home/<useracct>/dvsdk </syntaxhighlight>

  1. Install the DVSDK software:
host $ chmod  a+x dvsdk_#_##_##_##_Setup.bin
host $ ./dvsdk_#_##_##_##_Setup.bin

Note: The $(DVSDK_INSTALL_DIR) variable in the installer points to the DVSDK install directory, e.g., $(DVSDK_INSTALL_DIR) is set to /home/<useracct>/dvsdk/dvsdk_#_##_##_## for this setup.

  1. The command mentioned in step 6 opens the installer window. Please choose the appropriate options and enter the required paths to complete the installation.
  2. You can choose to update the paths later by editing the Rules.make file present in /home/<useracct>/dvsdk/dvsdk_#_##_##_## directory.
  3. Install the Codec Server cs#dm6467_#_##_##_##.bin, for DM6467 from this link, where the DVSDK software is installed (/home/<useracct>/dvsdk/dvsdk_#_##_##_##/cs#dm6467_#_##_##_##:) as part of the next step
host $ chmod  a+x cs#dm6467_#_##_##_##_Setup.bin
host $ ./cs#dm6467_#_##_##_##_Setup.bin

Note: You can uninstall these components by using the rm -rf command on its directory. You should ignore the un-install files created by the installer.

Creating a Target and Host Shared File System and Exporting It[edit]

Although the EVM board's (that is, the target's) NAND flash contains a file system, during development it is more convenient to have the target board NFS mount a file system on a host Linux workstation. Once you have tested the application, you can store it on the board's flash for a standalone demonstration.

Before the EVM can mount a shared target file system, you must export that target file system on the host Linux workstation. The shared file system uses an NFS (Network File System) server. The exported file system will contain the target file system and your executables.

The Installing a NFS Server page provides information on installing NFS server in a Ubuntu machine.

Booting with NFS as a root filesystem[edit]

  • The "demo" filesystem for DM6467 EVM (arago-demo-image-dm6467t-evm.tar.gz) should be exported from the NFS server on your host Linux workstation. Additionally there are applications and data for the target in dvsdk_#_#_#_#_overlay_dm6467.tar.gz. Perform the following steps (You only need to perform these steps once)
  • Log in with a user account on the host Linux workstation
  • Perform the following commands to prepare a location for the Arago target file system. For example:

<syntaxhighlight lang='bash'> host $ cd /home/<useracct> host $ mkdir -p workdir/filesys host $ cd workdir/filesys </syntaxhighlight>

  • Switch user to root on the host Linux workstation

<syntaxhighlight lang='bash'> host $ su root </syntaxhighlight>

  • Perform the following commands to create a copy of the target file system with permissions set for writing to the shared area as <useracct>. Substitute you user name for <useracct>.

<syntaxhighlight lang='bash'> host $ cp -a <release-location>/arago-demo-image-dm6467t-evm.tar.gz . host $ tar xvfz arago-demo-image-dm6467t-evm.tar.gz host $ cp -a <release-location>/dvsdk_VERSION_overlay_dm6467.tar.gz . # If present (for 3.10 GA and later). host $ tar xvfz dvsdk_VERSION_overlay_dm6467.tar.gz host $ chmod 777 -R /home/<useracct>/workdir/filesys </syntaxhighlight>

  • Edit the /etc/exports file on the host Linux workstation (not the exports file on the target file system). Add the following line for exporting the filesys directory, substituting your user name for <useracct>. Use the full path from root; ~ may not work for exports on all file systems.

<syntaxhighlight lang='text'> /home/<useracct>/workdir/filesys *(rw,no_root_squash,no_all_squash,sync)

NOTE: Make sure you do not add a space between the * and the ( in the above command. </syntaxhighlight>

  • Still as root, use the following commands to make the NFS server aware of the change to its configuration and to invoke an NFS restart.

<syntaxhighlight lang='bash'> host $ /usr/sbin/exportfs -av host $ /etc/init.d/nfs-kernel-server restart

NOTE: Use exportfs -rav to re-export all directories. Use /etc/init.d/nfs-kernel-server status to verify that the NFS status is running. </syntaxhighlight>

Setting Up the Build/Development Environment[edit]

To set up the development and build environment, follow these steps:

  1. Log in to your user account (and not as root) on the NFS host system.
  2. Set your PATH environment variable so that the tool chain host tools and cross compiler (arm-none-linux-gnueabi-gcc) can be found. To do this, you should open your .bashrc file in a text editor such as vi or gedit and add the export command line to the file, for example run the command below:

<syntaxhighlight lang='bash'> host $ gedit /home/<useracct>/.bashrc </syntaxhighlight>

  1. Next, add the export command below to the .bashrc file. If you installed in a location other than /opt/arm-2009q1/bin, use your own location in the PATH.

<syntaxhighlight lang='bash'> export PATH="/opt/arm-2009q1/bin:$PATH" </syntaxhighlight>

  1. Remember to use the following command after modifying your .bashrc file. The source command essentially executes the .bashrc script such that the path you just added to it is placed in your current environment variables:

<syntaxhighlight lang='bash'> host $ source /.bashrc </syntaxhighlight>

  1. If you want to verify your new PATH variable you can run either of the commands below:
    • This prints just the PATH variable:

<syntaxhighlight lang='bash'> host $ echo $PATH </syntaxhighlight>

    • This prints all of the system's current environment variables:

<syntaxhighlight lang='bash'> host $ printenv </syntaxhighlight>

Building the DVSDK Software for the Target[edit]

You can build both the Linux kernel and DVSDK from dvsdk_#_##_##_##. The following steps assume you have installed all components described above in /home/<useracct>/dvsdk.

You need to do following once in the host machine to be able to build DVSDK <syntaxhighlight lang='bash'> host $ sudo apt-get install libc6-dev </syntaxhighlight>

  1. Change directory to /home/<useracct>/dvsdk/dvsdk_#_##_##_##
  1. The following steps are not required if DVSDK is installed through the linux installer. The below steps can be used to verify the environment variables set in the Rules.make file in the dvsdk_#_##_##_##. directory.

<syntaxhighlight lang='bash'> host $ gedit Rules.make </syntaxhighlight>

    • Set PLATFORM to match your EVM board as follows:
PLATFORM=dm6467

Note: valid options are dm365 or dm355 or dm6467

    • Set DVSDK_INSTALL_DIR to the top-level DVSDK installation directory as follows, note that by default ${HOME} refers to your /home/<useracct> directory:
DVSDK_INSTALL_DIR=/home/<useracct>/dvsdk/dvsdk_#_##_##_##
    • Make sure LINUXKERNEL_INSTALL_DIR is defined as follows so it points to where you copied the linux kernel tree in the Building a New Linux Kernel.
LINUXKERNEL_INSTALL_DIR=/home/<useracct>/dvsdk/git
    • Make sure LINUXLIBS_INSTALL_DIR points to the extracted PSP pre-compiled Libraries.
LINUXLIBS_INSTALL_DIR=/home/<useracct>/dvsdk/linuxlibs-####.##-armv5te
    • Make sure CSTOOL_DIR points to the Code Sourcery tools directory as follows:
CSTOOL_DIR=/opt/arm-2009q1
    • Make sure EXEC_DIR points to the opt directory on the NFS exported file system as follows:
EXEC_DIR=/home/<useracct>/workdir/filesys/opt/dvsdk/dm####
  1. Building Linux kernel image requires mkimage to be present in the system. The Ubuntu 8.04 LTS version does not have mkimage installed by default. One way to install mkimage in an Ubuntu machine is to follow instructions in the link uboot-mkimage.
  2. To build the Linux kernel (uImage) with the default settings, run the following command. (This step is needed to re-build kernel modules in DVSDK.) This step requires mkimage to be present in the system.

<syntaxhighlight lang='bash'> host $ make linux_clean host $ make linux </syntaxhighlight>

  1. At the end of the build the make will output a message about where the uImage is located. Typically it will be in /home/<useracct>/dvsdk/git/arch/arm/boot/uImage.
  2. (Optional) Use the following command to copy uImage to a place where U-Boot can use TFTP to download it to the EVM. These commands assume you are using the default TFTP boot area, which is /tftpboot. If you use another TFTP root location, please change /tftpboot to your own TFTP root location. (Perform these commands as root or use a chown uImage command to get ownership of the file.) The Installing a TFTP Server page lists out steps to set up a TFTP server.

<syntaxhighlight lang='bash'> host $ cp /home/<useracct>/dvsdk/git/arch/arm/boot/uImage /tftpboot host $ chmod a+r /tftpboot/uImage </syntaxhighlight>

  1. While in the same directory that contains Rules.make, use the following commands to build the DVSDK demo applications and put the resulting binaries on the target file system specified by EXEC_DIR. Note that the first time you run 'make clean' there may not be much to clean yet, so the output from make will have a lot of 'no such file or directory' messages. Also you must have built Linux kernel as described in previous step at least once before running following make. The make commands should be run as the user account.

<syntaxhighlight lang='bash'> host $ make dsplink_arm </syntaxhighlight> NOTE: dsplink_arm needs to be built each time after building the linux kernel. Users can skip the above step if done once. <syntaxhighlight lang='bash'> host $ make clean host $ make host $ make install </syntaxhighlight>

  1. You can test the rebuilt DVSDK applications by booting your NFS file system and running the demos from the command line as described in Running the Demos from the Command Line.
  2. The DVSDK make system (Makefile) is also capable of building individual components separately. Type the following command to learn about all of its features.

<syntaxhighlight lang='bash'> host $ make help </syntaxhighlight>

Writing a Simple Program and Running it on the EVM[edit]

Please follow this link for writing a simple program and running it on the EVM .

What's Next?[edit]

To continue the setup procedure, return to the DM6467_Getting_Started_Guide.

 

E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article GSG: DVEVM Software Setup for DM6467 Platforms here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article GSG: DVEVM Software Setup for DM6467 Platforms here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article GSG: DVEVM Software Setup for DM6467 Platforms here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article GSG: DVEVM Software Setup for DM6467 Platforms here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article GSG: DVEVM Software Setup for DM6467 Platforms here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article GSG: DVEVM Software Setup for DM6467 Platforms here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article GSG: DVEVM Software Setup for DM6467 Platforms here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article GSG: DVEVM Software Setup for DM6467 Platforms here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article GSG: DVEVM Software Setup for DM6467 Platforms here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity