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.
The latest DSPLink releases can be downloaded here. Older releases are here (free my.ti.com account required.)
DSP/BIOSTM Link overview
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, DSP/BIOS™ LINK 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 DSP/BIOSTM Link?
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.
If you are new to DSP/BIOSTM Link , read the following topics in this wiki to get started:
Pages in category "DSPLink"
The following 49 pages are in this category, out of 49 total.
- Debugging DSP side using DSPLink NOTIFY module
- Debugging DSPLink using SET FAILURE REASON prints
- Debugging the DSP side of a DSPLink application on OMAP using CCS
- Debugging the DSP side of a DSPLink application on OMAP-L137 using CCS
- Debugging the DSP side of a DSPLink application on OMAP-L138 using CCS
- Determining DSPLink shared memory size requirements
- DSP MMU Faults
- DSPBIOS LINK WebEx Presentations
- DSPLink FAQs
- DSPLink known issues
- DSPLink Overview
- DSPLink POOL FAQs
- DSPLink POOL Module Overview
- DSPLink RoadMap