Home
History
What Is
Download
Document
FAQ
License
Links
About Us
Skeleton Code

DSP Gateway
works upon:
OMAP Logo

ARM Linux Logo


This site is powered by:

SourceForge.net Logo

php Logo

mysql Logo

DSP Gateway
DSP stands for Digital Signal Processor. Unlike general purpose processors (GPP) such as Intel Pentium, DSP's have only a primitive set of functions. However, a DSP can operate faster and more efficiently than GPP processors when it comes to executing specific kinds of calculations/tasks. As a consequence, DSP's are widely adopted especially in embedded systems today. The typical applications that can benefit from DSP are media players, in which each DSP task can be a decoder, e.g. MP3 decoder or MPEG4 decoder.

Texas Instrument's OMAP chip is composed of an general purpose processor (GPP) and DSP processor . "DSP Gateway" is software that enables data transmission on the TI's OMAP processor between the GPP processor - running Linux - and the DSP. DSP Gateway is a mechanism that would help programmers to easily use ARM and DSP at the same time.

DSP Gateway consists of Linux Driver and the DSP Firmware. They are responsible for hardware settings, interrupt handlings, and communications in between. With help from DSP Gateway, DSP enhanced applications for Linux can be developed without low-level hardware knowledge. From ARM side, DSP can be reached through DSP device file under /dev directory on Linux file system. On DSP side, tasks can easily be synchronized with ARM side by using the API provided by DSP Gateway. Of course, we could prepare a library sitting between ARM Applications" and the "Linux DSP Driver" that hides DSP from programmers, so that DSP enhanced applications can be easily developed without even being aware of DSP upon using this library.


DSP Gateway Installation
DSP Gateway consists of Linux device drivers (Linux side program code) and DSP libraries (DSP side program code). The distribution package also includes a few useful utilities.

Linux device driver is needed to be compiled with the kernel source. (So you need the kernel source!) Typically you need to prepare a cross compiler on your PC, which can produce the ARM binaries.

The DSP libraries are compiled and linked into the DSP binaries using Linux-DSP-Tools or CCS.

DSP Gateway installation procedure is shown below:

  • Download linux-2.6.12
  • Apply OMAP Linux patch (found at www.muru.com)
  • Apply DSP Gateway patch to linux-2.6.12-omap1
  • (Now DSP Gateway is merged into the OMAP patch. So unless any newer DSP Gateway is released, you can skip this step.)
  • "make menuconfig" and enable System Type -> TI OMAP Implementations -> OMAP DSP driver (DSP Gateway), with some other DSP options.
  • Save the change and "make"
  • Make dspctl utility and copy it to your target file system
  • Currently, the newest version of DSP Gateway is being released for kernel 2.6.x, meanwhile for kernel 2.4.x, DSP Gateway 2.0.1 is the latest and not planed for new releases any more.

    For more detail, please read Documentation -> Getting Started


    DSP Gateway Features
    Using DSP Gateway, Linux applications can communicate with DSP tasks through device files. You can create many tasks on the DSP side and each DSP task is accessible through a corresponding device file from the Linux application. The device files are generated automatically when the DSP tasks are loaded.

    The current DSP Gateway works on TI's OMAP1510, 1610, 1710 and 5912. It requires a specific development tool (Code Composer Studio (CCS)) to create the binary code for the DSP side. The tasks on the DSP side can be prioritized by TI's DSP BIOS included in CCS.

    The data transfer between DSP and Linux is conducted using the "shared memory" concept. SARAM, DARAM and SDRAM can be used as shared memory. DSP Gateway includes basic APIs for power management and fault tolerant implementation.


    OMAP Processors
    According to Texas Instruments, the OMAP dual-core application processor (e.g. OMAP1510) enables 2.5G and 3G wireless handsets and PDAs to run applications such as streaming video, audio, mobile commerce, location-based services and others. To provide the optimal balance of high performance and low power consumption necessary for these devices, the OMAP1510 combines the TMS320C55x DSP core with a TI-enhanced ARM925 processor.

    The ARM architecture is well suited for control-type code such as the OS and user interface. Linux is operating on this side and thousands of open source Linux applications have already been ported to ARM Linux as mentioned earlier. The C55x DSP provides the additional processing power to handle the compute-intensive operations such as security, multimedia and speech. The C55x dual-MAC (Multiply and Accumulate) architecture doubles the number of instructions per cycle while reducing power per function.

    More about Omap processors, please visit TI Omap Developer's page.