How to Create DSP Algorithm Package with RidgeRun SDK

From RidgeRun Developer Connection
Revision as of 04:13, 7 June 2010 by Ezuniga (Talk | contribs)

Jump to: navigation, search


This document will be an easy way to create a new DSP algorithm based on TMS320 DSP processor. It will target these algorithms and assists the reader with making the algorithms compliant with the TMS320 DSP algorithm standard which is part of TI's eXpressDSP technology initiative. The document proposes a simple approach to running xDAIS or iUniversal algorithms with a Codec Engine (CE) application based on TI's technology and RidgeRun SDK. The wizard is responsible for creating an xDAIS algorithm (iUniversal), and providing the necessary packaging to enable these algorithms to be consumed and configured by Codec Engine.

We assume readers have a basic understanding of the elements in a Codec Engine application, including VISA APIs, xDM, servers, and codecs


For details, see the following documents:

  • TMS320 DSP Algorithm Standard Rules and Guidelines SPRU352E
  • TMS320 DSP Algorithm Standard API Reference SPRU360E
  • TMS320 DSP Algorithm Standard Developer’s Guide SPRU424C
  • Codec Engine Algorithm Creator User’s Guide SPRUED6C
  • Based on the Codec Engine GenCodecPkg Wizard GenCodecPkg
  • The most important care-abouts in a typical Codec Engine configuration Codec Engine configuration en breve

Requirements for the GencodecPkg Wizard

  • Engine 2.25 or later
    • CE 2.25.02 improves the GUI interface
  • XDAIS 6.25 or later
  • XDAIS 6.25.02 improves the code templates
  • XDCtools 3.16 or later

Making a DSP algorithm callable from a Gstreamer Plugin

Those steps shown below has to be followed to complete a memcpy DSP algorithm. If you desire to add new features , new funtions, and others refer to previous section links for more details.

Adding the wizard support to DVSDK makefile

The GenCodecPkg wizard generates the files and packaging required for integrating an algorithm into Codec Engine. Assuming your using a RR SDK you have a complete integration with a TI DVSDK release, then you likely have already defined paths to all your tools in the Rules.make.

Those generated Codec Packages can be integrated into a Server and the document will explain the way to append the new codec into TI's Codec Server.

Checking your DVSKD Makefile Support

$ cd $(DEVDIR)/propietary/dvsdk*
$ gedit Makefile

On the Makefile check if the gencodecpkg macro is activated if it's already added, please ignore next step.

Inside the Makefile from the DVSDK

$ cd $(DEVDIR)/propietary/dvsdk*
$ gedit Makefile

Append the following rule:

    $(XDC)/xs --xdcpath="$(CE_INSTALL_DIR)/packages; \
    $(XDAIS_INSTALL_DIR)/packages" ti.sdo.ce.wizards.gencodecpkg

Make sure you use a tab instead spaces.

Running the wizard

From your DVSDK directory you can invoke gencodecpkg with the following command:

 $ cd $(DEVDIR)/proprietary/dvsdk_* 
 $ make gencodecpkg

At the first Screen

  1. Choose the 3rd option, I want to create an algorithm from scratch
  2. Point to the xDAIS directory
  3. Point to the root of the compiler installation: CGTOOLS
  4. Click on next


At the Second Screen

  1. Fill the spaces according with the name of your new package.
  2. Keep the capital letters on the names. as it's shown on the table placed below
Module eg: MYCODEC
Vendor eg: RIDGERUN
Interface eg: IMYCODEC
Package_name eg: ti.sdo.codecs.mycodec
BaseInterface eg: IUNIVERSAL.
Target eg: ti.targets.C64P
OutputDir eg: $(DVSDK)/csomapl138/packages


  1. Click Finish to generate the starter files.