180 likes | 371 Views
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:
E N D
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: • On DSP: DSP/BIOS™ • On GPP: OS of your choice. • Can be ported to any OS using the porting kit…
Features Supported • DSP Boot-loading • Messaging • Data Transfer
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
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
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
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.
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 (!)…
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
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
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
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.
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
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