NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. 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.

PSP Overview

From Texas Instruments Wiki
Jump to: navigation, search

A Platform Support Package, or PSP, is a software package that abstracts hardware functions on its target chip to provide developers high-level control of complicated tasks, such as peripheral I/O transactions. Each PSP services a single device, and the development tools of all recent DaVinci chips, such as DM644x and DM643x, include their own PSPs. This topic reviews the PSP philosophy, including its design goals and organization.

PSP on DSP/BIOS[edit]

This section focuses on PSP targeted at DSP-only devices, such as DM643x or DM648. The basic function of PSP on DSP/BIOS is to provide a complete set of IOM-compliant drivers to service all peripheral devices (I2C, UART, etc.) on the target DSP. The drivers are provided as libraries that can be linked in to a DSP/BIOS application. Header files to interface with these libraries, as well as the full source code required to rebuild them, is also provided. Recently, PSP drivers have been packaged using RTSC to speed integration. For more information on integrating and using PSP drivers, refer to Using a PSP Driver in DSP/BIOS.

Figure 1: Structure of a PSP driver on DSP/BIOS.

Each PSP driver consists of multiple layers, as shown in Figure 1. The function of each layer is described in detail by the top-level PSP User's Guide, and is summarized here.

DDA Layer[edit]

The device driver adaptation (DDA) layer serves as the driver's interface to the operating system (OS). It translates IOM calls to appropriate, lower-level (typically DDC) function calls. Its sole purpose is to abstract core driver functionality from the OS.

DDC Layer[edit]

The device driver core (DDC) layer is the heart of the driver. It is abstracted from both the OS/application layer (by DDA) and the hardware layer (by LLC). This arrangement is intended to place only the core driver behavior in DDC, with device- and OS-specific interaction handled by calls to other layers. Thus, modifying the DDC layer should be the only necessary step to alter or enhance driver performance.

LLC Layer[edit]

The low-level controller (LLC) layer consists of CSL code that interacts directly with the peripheral device. It has no direct contact with the OS and essentially services the DDC, allowing higher-level control in that layer. LLC is roughly analogous to the functional CSL (FCSL) modules available in older DSPs such as the DM642. However, LLC is not supported as a stand-alone product.

This layer is not formally included in all PSP drivers. Some drivers perform LLC functionality directly in the DDC layer. In this case, the DDC is not abstracted from the device, and modularity of the driver is reduced.

PALOS[edit]

The Platform Abstraction Layer for OS services (PALOS) allows the DDC layer to use basic OS functions, such as semaphore transactions and interrupt masking. By using PALOS functions instead of directly calling DSP/BIOS modules, the DDC layer is abstracted from the OS.

PALOS is not implemented within an individual driver. Rather, it is a separate library (included with the PSP) that is commonly used by many drivers.

See Also[edit]

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

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