NDK Support Package for EVM DM648 / C6452

Version 1.92 (Revision History)

This software package contains NDK Support Package files for EVM DM648 / C6452 platform.  It contains NDK required drivers, and examples.

NDK Support Package Overview

The TMS320C6000 NDK Support Package for EVM DM648 / C6452 is a platform for development and demonstration of network enabled applications on the TMS320C6000 DSP family.  The NDK itself is delivered as a separate package which contains the platform independent libraries, source files, and drivers. The platform specific portion of the stack is delivered as a separate package per platform basis.

The NDK Support Package for EVM DM648/C6452 includes demonstration software showcasing EVM DM648/C6452 DSP capabilities across a range of network enabled applications. In addition, the stack serves as a rapid prototype platform for the development of network and packet processing applications, or to add network connectivity to existing DSP applications for communications, configuration, and control.

Using the components provided in the NDK, developers can quickly move from development concepts to working implementations attached to the network.

System Requirements

To install the NDK Support Package, a desktop or laptop PC is needed with the following requirements:

Minimum

  • 1Ghz PentiumTM-compatible CPU
  • 600MB of free hard disk space
  • 1GB of RAM
  • Internet ExplorerTM (6.0 or later) or Netscape NavigatorTM (6.0 or later)
  • Local CD-ROM Drive

Recommended

  • 2Ghz PentiumTM-compatible CPU
  • 2GB of RAM
  • 16-bit color

Supported Operating Systems

  • WindowsTM 2000 Service Pack 1 or higher
  • WindowsTM XP

Required Hardware

The NDK Support Package is supported on the following platforms:

  • DM648 / C6452 EVM

In addition to this hardware, a compatible emulator connection to CCS is required.

Required Software

  • Code Composer Studio Version 3.3.38 or higher
  • DSP/BIOS 5.31.07 or higher. (released/tested against 5.31.08)
  • You need to add the gel file in your CCS configuration to initialize the boards, prior to running any example applications.
  • NDK V1.92

NDK Support Package Software Components

  • The TCP/IP Stack Platform Support Package libraries are built by using DSP/BIOS 5.31, and NDK 1.92 libraries and CodeGen Tool V6.0.8. It contains the following software components:
    • HAL libraries and source files for EVM DM648 /C6452 platform (ethss_dm648/ethss_c6452).

 

  • Demonstration Software

o       “Hello World” network example which contains the minimum setup necessary for a networking application with DSP/BIOS. It can serve as a skeleton project, ready for the application programmer to start adding code.

    • Network client demonstration shows DHCP client, HTTP server, Telnet client, and multiple data servers for benchmarking.
    • Configuration demo illustrates how a "network appliance" can be installed and configured on the home network without using DHCP.
    • Additional demonstrations using both Ethernet and serial port demonstrate functionality like remote serial operation, serial connection to PC and serial to Ethernet routing.
    • Ethernet switch configuration interface has been added to telnet console. User can telnet to the device and exercise switch  IOCTL using the switchCtl command interface.

Software Installation

Follow the steps below for NDK Support Package software installation:

  1. If not installed yet, install the Code Composer Studio (CCS) using the CCS CD. It must be installed before the NDK software.
  2. If not installed yet, install the NDK software using the Stack CD or download the package from https://www-a.ti.com/downloads/sds_support/targetcontent/ndk/index.html
  3. Set environment variable NDK_INSTALL_DIR to the root folder of NDK package installation
  4. Copy the “ti.ndk.platforms.evmdm648.tar” / "ti.ndk.platforms.evmc6452.tar" under NDK_INSTALL_DIR\packages directory, and untar it.
  5. The support package patches up the console.c from the core NDK package to provide an interface for switch configuration. When prompted while extracting the support package, make sure that the console.c file from core NDK package is overwritten.
  6. Ensure that the TI_DIR variable in $NDK_INSTALL_DIR\packages\ ti\ndk\DosRun_bios.bat points to the folder where CCS is installed.

After installation, all NDK Support Package related files are located under NDK_INSTALL_DIR\packages\ti\ndk directory, and organized in subdirectories. These subdirectories are fully described in the NDK Support Package for EVM DM648 / C6452 User's Guide, but can be summarized as follows:

[\example]
The EXAMPLE directory contains sample source code for a variety of applications. Included here are demos that work on Ethernet and/or a serial port. These include initialization examples, HTTP and Telnet servers, configuration examples, and a Serial-PPP to Ethernet router.

 

[\example\network\<example_name>\evmdm648]

[\example\network\<example_name>\evmc6452]


Examples using an Ethernet network.

 

 

 [\lib]

 

[\lib\hal\evmdm648]

[\lib\hal\evmc6452]
This directory contains the NDK Support Package for EVM DM648/C6452 HAL library files.

 

 

[\src]
The SRC directory is the location of the source code to the individual stack components included with the TCP/IP Stack.

 

[\src\hal\evmdm648\ethss_dm648]

[\src\hal\evmc6452\ethss_c6452]
This directory contains the DM648/C6452 Ethernet subsystem driver source files.

[\doc\evmdm648]

[\doc\evmc6452]
The DOC directory contains a copy of the NDK Support Package for EVM DM648/C6452  documents.

 

Important First Steps

The NDK Support Package for EVM DM648/C6452 User's Guide (Not available with EA Release) is the best first step in using the NDK Support Package software package. It contains all the necessary instructions for setting up and testing the hardware and software. The chapters include:

  • Installation and Test of the NDK
  • Example Applications
  • NDK Support Package for EVM DM648/C6452 Libraries

New users should familiarize themselves with the contents of the NDK User's Guide, test their hardware, and try out some of the example applications described within.

 

Additional Information

NDK Benchmarking for EVM DM648/C6452

Performance benchmarks are at the same time an objective and subjective measurement for performance. They are objective in the sense that the performance is measured using benchmark tools that yield reproducible results, but they are subjective in that there are so many variables involved that any one performance measurement is only a guideline to overall performance in a diverse set of operating environments.

The following factors can have a significant influence on performance:

  • Socket API: The NDK includes support for classical buffer based sockets (for transactions involving small payloads like Telnet), packet queue based sockets (non-copy), and enhancements to the sockets API to allow the application to directly receive non-copy TCP data. Performance varies depending on what features are used.

 

  • Socket Buffers: The socket buffer size affects the TCP send and receive window size, and determines how much data can be sent in one burst. This can have a dramatic effect on performance.

 

  • CPU(DSP) Speed: Given sufficient cache is present, the networking performance has an approximately linear relation to CPU speed.

 

  • CPU(DSP) Cache: The amount of CPU cache used can have a dramatic influence on overall performance.

 

  • Network Hardware: The design of the Ethernet hardware and how it interfaces to the DSP has a large impact on performance.

 

  • EMIF speed: For designs where the Ethernet interface is connected to the EMIF, the EMIF speed as well as the external decode logic has an additional affect on speed.

For detailed information, please see the benchmark results..