1 / 16

DSP/BIOS™ LINK

DSP/BIOS™ LINK. The foundation for GPP-DSP solutions. What is DSP/BIOS™ Link?. It is a foundation software for the inter-processor communication across the GPP-DSP boundary. It can be used across: SoCs with GPP and DSP. Discrete GPP and DSP platforms. Target Operating Systems:

alva
Download Presentation

DSP/BIOS™ LINK

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DSP/BIOS™ LINK The foundation for GPP-DSP solutions

  2. What is DSP/BIOS™ Link? • It is a foundation software for the inter-processor communication across the GPP-DSP boundary. • It can be used across: • SoCs with GPP and DSP. • Discrete GPP and DSP platforms. • Target Operating Systems: • On DSP: DSP/BIOS™ • On GPP: OS of your choice. • Can be ported to any OS using the porting kit…

  3. Features Supported • DSP Boot-loading • Messaging • Data Transfer

  4. DSP Boot-loading • DSP executable is present in the GPP file system • The specified executable is loaded into DSP memory (internal/external) • The DSP execution is started at its entry point • Boot-loading using: MPUI, HPI, PCI etc. PROC component GPP File System External Memory DSP internal memory DSP component DSP Executable DSP Executable HAL GPP DSP

  5. Messaging • Messaging provides logical connectivity between GPP and DSP clients • Messages are sent at a higher priority than data buffers • Messages can be variable sized • Messages are sent and received through Message Queues • Message Queues have unique system-wide names. Senders locate the Message Queue using this name to send messages to it. • Message Queue can have single reader, multiple writers Writer Reader Message Queue object Writer

  6. Data Transfer Empty Buffers • Data Channel is a virtual entity providing interface to send / receive data buffers over a physical connection. • Multiple data channels are multiplexed over the same physical link. • These are uni-directional. • They use the issue/ reclaim model followed by SIO. CHNL_Issue () CHNL_Reclaim () CHNL_Issue () CHNL_Reclaim () Empty Buffers Filled Buffers Data Source Data Destination

  7. Features of DSP/BIOS™ Link • Source Code release • ‘C’ API. • IOM Driver Model. • Constructed using principles of ‘Design by Contract’. • Portable • OS Adaptation Layer allows easy porting to a different OS without changing basic functionality. • Modular Design for scalability limits scope of change in the system i.e. change/ update with local scope is contained within component. • Scalable • Link with command messaging, data transfer and DSP boot loading capabilities • Link with command messaging functionality only. • Link with data streaming functionality only. • Basic Link DSP with boot loading functionality only. • Basic DSP Control functions only.

  8. Advantages of DSP/BIOS™ Link • A generic API that abstracts the characteristics of the DSP and physical link connecting GPP and DSP from the applications. • Ensures that API can be scaled to the needs of target application and/or deployed environment. • Ensures that API is portable across different GPP operating systems. • Applications are portable across platforms & operating systems. The level of portability may be influenced by various factors… • Enables development of application specific frameworks e.g. Audio, Video, Automotive (!)…

  9. Software Architecture

  10. Product Software Architecture APPLICATION / INFRASTRUCTURE APPLICATION / INFRASTRUCTURE API DSP/BIOS PROCESSOR MANAGER GPP OS OTHER DRIVERS OS ADAPTATION LAYER LINK DRIVER LINK DRIVER GPP DSP Drivers DSP/BIOS Link Boundary DSP/BIOS LINK Application GPP OS DSP/BIOS

  11. GPP-side APPLICATION / INFRASTRUCTURE POOL CHNL MSGQ PROC DSP/BIOS™ LINK API PMGR_CHNL PMGR_MSGQ PMGR_PROC OSAL DRV PROCESSOR MANAGER COFF CFG TRC LINK DRIVER INTERFACE KFILE LDRV_POOL LDRV_CHNL LDRV_MSGQ LDRV_PROC PRCS LINK DRIVER LDRV_DRV LDRV_DATA DSP SYNC MEM <LNK>_DRV <LNK>_DATA <LNK>_POOL <LNK>_MQT ISR <LNK>_IPS DPC GPP Color coding Messaging Data Transfer And/Or Messaging Data Transfer Boot Loading

  12. DSP-side APPLICATION / INFRASTRUCTURE STANDARD DSP/BIOS API SIO GIO MSGQ POOL DSP/BIOS LINK DRIVER OTHER DRIVERS <LNK>_DATA <LNK>_POOL <LNK>_MQT <LNK>_DRV <LNK>_IPS DSP Color coding Messaging Data Transfer And/Or Messaging Data Transfer Boot Loading

  13. APIs

  14. PROC PROC_Setup PROC_Destroy PROC_Attach PROC_Detach PROC_Load PROC_Start PROC_Stop PROC_Control PROC_Debug PROC_GetState PROC_Instrument • This component provides APIs for boot-loading and controlling the execution of DSP.

  15. CHNL CHNL_Create CHNL_Delete • This component provides capability to stream data between clients running on GPP with clients running on DSP. CHNL_AllocateBuffer CHNL_FreeBuffer CHNL_Issue CHNL_Reclaim CHNL_Idle CHNL_Flush CHNL_Control CHNL_Debug CHNL_Instrument

  16. MSGQ • This component provides capability to exchange variable sized messages between clients running on GPP and those running on DSP. MSGQ_TransportOpen MSGQ_TransportClose MSGQ_Open MSGQ_Close MSGQ_Locate MSGQ_LocateAsync MSGQ_Release MSGQ_Alloc MSGQ_Free MSGQ_Put MSGQ_Get MSGQ_GetSrcQueue MSGQ_SetErrorHandler MSGQ_Debug MSGQ_Instrument

More Related