NOTICE: The Processors Wiki will End-of-Life in December of 2020. 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.

DSPLink Overview

From Texas Instruments Wiki
Jump to: navigation, search

END OF LIFE

DSP Link is still available for download, but no further releases or updates are planned. Please see IPC Software Options for details and alternatives.

What is DSPLink?[edit]

DSP/BIOS™ LINK is foundation software for the inter-processor communication across the GPP-DSP boundary. It provides a generic API that abstracts the characteristics of the physical link connecting GPP and DSP from the applications. It eliminates the need for customers to develop such link from scratch and allows them to focus more on application development.
This software can be used across platforms:

  • Using SoC (System on Chip) with GPP and one DSP.
  • With discrete GPP and DSP.

As the name suggests, DSP/BIOS™ is expected to be running on the DSP. No specific operating system is mandated to be running on the GPP. It is released on a reference platform for a set of reference operating systems. The release package contains full source code to enable the customers to port it to their specific platforms and/ or operating systems.
Depending on the supported platform, OS and DSPLink version, DSPLink provides a subset of the following services to its clients:

  • PROC: Basic processor control
    • After setting up the DSPLink driver, GPP process attaches to the DSP: Sets up the system to allow access to DSP resources from GPP
    • GPP loads the DSP with DSP executable present in GPP file system
    • GPP starts the DSP
    • GPP stops the DSP execution
    • GPP process detaches from the DSP and finalizes the DSPLink driver
  • Inter-Processor Communication protocols
    • Complete protocols for different types of data transfer between the processors
    • Each protocol meets a different data transfer need
      • MSGQ: Message Queue
      • CHNL: SIO/streaming based on issue-reclaim model
      • RingIO: Circular ring buffer based data streaming
  • Inter-Processor Communication building blocks
    • Low-level building blocks used by the protocols
    • Each building block is also exposed as APIs to allow framework writers to define their own application-specific protocols
      • POOL: Memory Manager: shared/non-shared
      • NOTIFY: Interrupt abstraction and de-multiplexing for notification of user events
      • MPCS: Multi-processor critical section for mutually exclusive access to shared objects
      • MPLIST: Multi-processor doubly linked circular list
      • PROC_read/PROC_write: Read from or write to DSP memory

Why use DSPLink?[edit]

DSPLink provides several features and capabilities that make it easier and more convenient for developers using a multi-core system:

  • Provides a generic API interface to applications
  • Hides platform/hardware specific details from applications
  • Hides GPP operating system specific details from applications, otherwise needed for talking to the hardware (e.g. interrupt services)
  • Applications written on DSPLink for one platform can directly work on other platforms/OS combinations requiring no or minor changes in application code
  • Makes applications portable
  • Allows flexibility to applications of choosing and using the most appropriate high/low level protocol
  • Provides scalability to the applications in choosing only required modules from DSPLink.

Trainings[edit]

DSPLink overview streaming webex training is available at this page.

Other information[edit]

DSPLink is also available as part of the Codec Engine product available from TI.
DSPLink FAQs are available here.

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 DSPLink Overview 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 DSPLink Overview here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article DSPLink Overview here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article DSPLink Overview here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article DSPLink Overview here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article DSPLink Overview here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article DSPLink Overview here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article DSPLink Overview here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article DSPLink Overview 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