PSoC™ 6 Peripheral Driver Library (PDL) for PSoC Creator
The Peripheral Driver Library (PDL) simplifies software development for the PSoC™ 6 MCU architecture. The PDL reduces the need to understand register usage and bit structures, thus easing software development for the extensive set of peripherals available.
The ModusToolbox™ software version of PDL is available at the Infineon GitHub site. It is not compatible with PSoC™ Creator. The ModusToolbox™ version of the PDL includes support for new PSoC™ 6 MCU devices and drivers. It also supports macOS and Linux hosts, as well as Windows. Developers should move to the ModusToolbox™ package as projects and schedules permit.
PDL v3.1 is designed for and works with PSoC™ Creator. PDL v3.1 is expected to be the final PSoC™ Creator-compatible release. PDL v 3.0.x is installed along with the PSoC™ Creator development tools. This is no longer the newest version of PDL.
PDL v3.1 includes the Cypress USB Device Middleware Library. The USB Device middleware provides a full-speed USB 2.0 Chapter 9 specification-compliant device framework. It uses the USBFS driver from PDL to interface with the hardware. Consistent with the ModusToolbox™ cross-platform design, there is no PSoC™ Creator Component for this middleware. To configure the USB Device Middleware, use the usbdev-configurator application. It is in the <PDL directory>\tools folder. it is available for Windows, macOS, and Linux.
The Bootloader SDK has been replaced with Device Firmware Upgrade middleware.
Many individual drivers have been upgraded, particularly the System Power Management (SysPM) driver. These upgrades may add new capabilities and function calls. Occasionally an older function call may be deprecated. In the case that a call is deprecated, older code still functions because older names are redirected to new versions of the function. See the PDL Release Notes for detailed changes.
Developers can also use the PDL with third-party IDEs to develop firmware. The template projects for IAR and Keil IDEs have been updated. They are much easier to use and are consistent with changes implemented for ModusToolbox™ software.
Different versions of the PDL support different architectures. Earlier versions of the PDL support the FM0+, FM3, and FM4 architectures.
The PDL is a superset of all the code required to build any driver for the supported architecture. It provides a high-level API to configure, initialize, and use a peripheral. PDL v3.x is a complete redesign of the library to support the dual core and unique peripherals of the PSoC™ 6 MCU architecture. Code written in PDL v2 is not forward compatible to PSoC™ 6 MCU.
Developers who wish to program at the register level should also use the PDL. Each version of the PDL includes the necessary startup code and IDE project files for each supported device. In addition, most of the PDL is provided as source code. By examining the PDL source code, along with the appropriate data sheets and technical collateral, you can learn the information you need to program a peripheral at the register level.
For PDL v2.1 and older, please visit the Peripheral Driver Library (PDL) Software and Documentation Archive page for software and documentation.
PDL v3.1 is a complete software development kit that occupies the space between the PSoC™ 6 MCU hardware and your application. It includes all required device-specific files, as well as higher-level middleware and RTOS support.
A PSoC™ 6 device has an Arm Cortex M4 and a Cortex M0+ processor in a single die, with multiple peripherals. The PDL is designed so that in most cases either core can use any peripheral. The PDL is designed to be both comprehensive and flexible to handle PSoC™ 6 devices.
The PDL also includes middleware and RTOS code that is fully integrated with the PDL. If you have your own middleware or preferred RTOS, use the resources provided as examples of how to integrate such code with the PDL.