NDK Support Package for EVMDM642

Version 1.94.01.001 Release (Revision History)

This software package contains NDK Support Package files for EVMDM642 platform.  It contains NDK required drivers, and examples.

NDK Support Package Overview

The TMS320C6000 NDK 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 EVMDM642 includes demonstration software showcasing DM642 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 for EVMDM642, 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:

  • DM642 EVM

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

Required Software

  • Code Composer Studio Version 3.3 or higher
  • DSP/BIOS 5.31.08 or higher.
  • You will need to download the required GEL file from the Spectrum Digital’s Web Site, and add these gel files in your CCS configuration to initialize the boards, prior to running any example applications.
  • You need to download and install the BSL library for EVMDM642 platform from Spectrum Digital’s web site. The NDK CCS project files (*.pjt) expects the BSL library under “<CCS_Install_Dir\boards\evmdm642\lib>” directory. If your installation different than the default path, please update it to reflect your environment.
  • NDK V1.94.01.001

NDK Support Package for EVMDM642 Software Components

  • The NDK Support Package for EVMDM642 libraries are built by using DSP/BIOS 5.31.08, and NDK 1.94.01.001 libraries and CodeGen Tool V6.0.8. It contains the following software components:
    • HAL libraries and source files for EVMDM642 platform (eth_dm642, ser_ti752, userled_dm642).

    Important Note:

    Please note that the Ethernet drivers provided in this release are built using NIMU architecture only. LL packet drivers are not packaged in this release. To obtain LL packet drivers please use an older NSP release than 1.94.01.001. The NDK 1.94.01.001 is completely compatible with older NSP packages as long as LL packet drivers are used. To use NIMU drivers, please use this release.

 

  • Demonstration Software
    • “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.

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.

 

  1. If not installed yet, install the NDK software using the Stack CD.

 

  1. Copy the “ti.ndk.platforms.dm642_1_94_1_1.tar” under NDK_INSTALL_DIR\packages directory, and untar it. A new folder dm642 can be seen now. Copy over the directory and contents of NDK_INSTALL_DIR\packages\dm642\ti to NDK_INSTALL_DIR\packages directory.

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 EVMDM642 User's Guide(SPRUES5), 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>\evmdm642]
Examples using an Ethernet network.

[\example\serial\<example_name>\evmdm642]
Examples using a serial port alone, and with an Ethernet adapter.

[\example\tools\evmdm642]
EVMDM642 interrupt handling routines which is used by all EVMDM642 example programs.

 

 [\lib]

 

[\lib\hal\evmdm642]
This directory contains the NDK Support Package for EVMDM642 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\evmdm642\eth_dm642]
This directory contains the DM642 EMAC ethernet driver source files.

[\src\hal\evmdm642\ser_ti752]
This directory contains the TI752 serial driver source files.

[\src\hal\evmdm642\userled_dm642]
This directory contains the EVMDM642 specific userled driver source files.

[\doc\evmdm642]
The DOC directory contains a copy of the NDK Support Package for EVMDM642 documents.

  1. Several builds of the libraries are provided with NIMU architecture for Big and Little Endian architectures under [\lib\hal\evmdm642]. The libraries are named as <lib_name>.lib for little endian and <lib_name>e.lib for big endian. The libraries built using NIMU are named as <lib_name>_nimu.lib

    The user needs to choose the most appropriate version of the library based on the endianness and copy over the library to just <lib_name>.lib before using it with any example projects.

    For example: If an application requires NIMU little endian HAL ethernet driver, copy over [lib\hal\evmdm642\hal_eth_dm642_nimu.lib] to [lib\hal\dsk6455\hal_eth_dm642.lib] and recompile your example project.

 

Important Note:

Please note that this version of NSP does not include ethernet drivers with LL packet architecture. Please use an older release of NSP to obtain LL packet drivers.

  1. To build applications for Big Endian, please ensure that the following compilation flag is defined: BIGENDIAN

 

Important First Steps

The NDK Support Package for EVMDM642 User's Guide is the best first step in using the 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 Support Package
  • Example Applications
  • NDK Support Package for EVMDM642 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 EVMDM642

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..