The ModusToolbox™ Device Support Library (DSL) provides the components required to develop software for the PSOC™ Edge E8x2, E8x3, E8x5, and E8x6 MCUs (6 MB total RAM: 5 MB System SRAM + 1 MB SRAM). It is a required dependency for every application targeting these devices and is added automatically when a project is created for a supported board in ModusToolbox™.
The DSL comprises several components. The sections below describe each component and the conditions under which it should be used.
The PDL is the primary interface for programming the device. It provides low-level C APIs to configure, initialize, and operate the on-chip peripherals (for example, GPIO, SCB/UART/SPI/I2C, TCPWM, DMA, SMIF, and Crypto), together with the CMSIS device headers.
Use the PDL when developing device-specific firmware that requires full control of a peripheral and maximum efficiency. It is the default choice for most application code. Include it with #include "cy_pdl.h".
PDL ships a set of Markdown Component Datasheets, one per peripheral feature. Each datasheet describes a feature's purpose, applicable use cases, Device Configurator configuration, and API usage in a plain-text format. Refer to them when configuring or modifying a peripheral.
Please refer to :
The HAL provides a generic, device-agnostic API that wraps the lower-level PDL. It addresses the runtime behavior of a peripheral rather than its initialization; the hardware is initialized with the PDL (or the Device Configurator), after which a HAL object is set up over it.
Use the HAL when an application or middleware must be portable across multiple device families and requires a stable, device-independent interface rather than device-specific PDL calls. For code that targets PSOC™ Edge exclusively, the PDL alone is generally the more suitable option. Include it with #include "mtb_hal.h".
Please refer to :
Ready-made System Power Management (SysPm) callback implementations for peripherals that need special handling when the MCU enters or exits DeepSleep. Use these when the application relies on low-power modes and requires validated power-transition handling without implementing the callbacks manually. Include with #include "mtb_syspm_callbacks.h".
Configuration personalities and the supplemental device database consumed by the ModusToolbox™ Device Configurator. You do not include these in code; the Device Configurator uses them so you can set up clocks, pins, and peripherals graphically and generate the matching initialization code.
A neural-network kernel that targets the on-chip hardware accelerator. Use it when performing machine-learning inference on the device. Include with #include "cy_nn_kernel.h".
The make build recipe and scripts used to compile and program applications for these devices. The build system uses it automatically; it is not invoked directly.
Any supported PSOC™ Edge evaluation kit, for example:
Refer to the kit user guide for power supply, debug probe (KitProg3/MiniProg4), and pin-connection requirements. See PSOC™ Edge Development Kits for the full list of supported boards.
| Tool | Version |
|---|---|
| ModusToolbox™ | 3.x |
| GCC Compiler | 14.2.1 |
| IAR Compiler | 9.70 |
| ARM Compiler 6 | 6.22 |
| LLVM_ARM Compiler | 19.1.5 |
Development is supported in any IDE supported by ModusToolbox™ (for example, VS Code for ModusToolbox™ or Eclipse for ModusToolbox™), as well as from the command line. The DSL and all of its dependencies (cmsis, device-db, core-make, async-transfer, mtb-srf) are added automatically when a project is created; they are not added manually.
This section describes the workflow for developing an application with the DSL, from creating a project through programming the device.
#include "cy_pdl.h" rather than an individual peripheral header; refer to the UART Component Datasheet for configuration and API usage. cy_pdl.h is an umbrella header that includes every available PDL driver for the device.make program.Note: The default code example, as provided out of the box, blinks the user LED.
Peripheral configuration is performed in the Device Configurator. For a description of a peripheral's parameters and APIs, use the documentation links provided within the Device Configurator.
(c) (2019-2026), Infineon Technologies AG, or an affiliate of Infineon Technologies AG. All rights reserved.