The PSOC™ Edge E84 Evaluation Kit (KIT_PSE84_EVAL) is based on the PSOC™ Edge family of devices. It enables the evaluation and development of applications for the PSOC™ Edge E84 EPC2 MCU.
To use code from the BSP, simply include a reference to cybsp.h.
This evaluation kit carries a PSOC™ E84 EPC2 MCU (PSE846GPS2DBZC4A) on a SODIMM based detachable SOM board connected to the base-board. The MCU SOM also has 128 Mb QSPI flash, 1 Gb Octal flash, 128 Mb Octal RAM, PSOC™ 4000T as CAPSENSE™ co-processor and on-board AIROC™ Wi-Fi and Bluetooth® combo (CYW55513IUBG).
The base-board has M.2 interface connectors for interfacing external radio modules based on AIROC™ Wi-Fi and Bluetooth® combos and external memory interfaces. The base-board features an on-board programmer/debugger(KitProg3), ETM/JTAG/SWD debug headers, custom display capacitive touch panel connector, R-Pi compatible MIPI-DSI and MIPI-DSI custom display, Analog and PDM microphones, Headphone connector, Speaker, USB Host Type-A and USB device Type-C connectors, RJ45 Ethernet connector, M.2 (B-key) memory interface and M.2 (E-key) radio interface, Infineon’s Shield2Go interface, Mikroelektronika's mikroBUS compatible headers, 6-Axis IMU sensor, 3-axis Magnetometer, microSD cardholder, CAPSENSE™ buttons and slider, user LEDs and user buttons. The MCU power domain supports following operating voltages - 2.7 V, 3.3 V, 4.2 V and the peripheral power domain supports operating voltages - 1.8 V and 3.3 V.
The BSP has a few hooks that allow its behavior to be configured. Some of these items are enabled by default while others must be explicitly enabled. Items enabled by default are specified in the KIT_PSE84_EVAL_EPC2.mk file. The items that are enabled can be changed by creating a custom BSP or by editing the application makefile.
Components:
Defines:
cybsp_register_custom_sysclk_pm_callback to register an application-specific callback.| Clock | Source | Output Frequency |
|---|---|---|
| CLK_HF0 | CLK_PATH0 | 200 MHz |
| CLK_HF1 | CLK_PATH0 | 400 MHz |
| CLK_HF2 | CLK_PATH2 | 300 MHz |
| CLK_HF3 | CLK_PATH0 | 200 MHz |
| CLK_HF4 | CLK_PATH0 | 400 MHz |
| CLK_HF5 | CLK_PATH0 | 200 MHz |
| CLK_HF6 | CLK_PATH0 | 200 MHz |
| CLK_HF7 | CLK_PATH1 | 49 MHz |
| CLK_HF8 | CLK_PATH0 | 50 MHz |
| CLK_HF9 | CLK_PATH0 | 80 MHz |
| CLK_HF10 | CLK_PATH0 | 100 MHz |
| CLK_HF11 | CLK_PATH0 | 200 MHz |
| CLK_HF12 | CLK_PATH4 | 24 MHz |
| CLK_HF13 | CLK_PATH0 | 100 MHz |
See the BSP Setttings for additional board specific configuration settings.
The default linker scripts define a lot of different regions so this document is intended to explain their purposes. The analysis will be done per memory area.
The memory configurator allows to move, rename, resize, erase regions as needed.
The output of the memory configurator are files that can be found in your_project%/bsps/TARGET_board_name%/config/GeneratedSource. These files are:
cymem_CM33_S_0.h, cymem_CM33_0.h, cymem_CM55_0.h: these three files generate defines for all defined regions in the memory configurator for start, size and offset for the regions that are applicable to that core.cymem_armlink_CM33_S_0.sct, cymem_armlink_CM33_0.sct, cymem_armlink_CM55_0.sct: these three files contain all the defines for the regions in the memory configurator but have the Scatterfile extension to be easily picked up and integrated in the linker scripts for the ARM toolchaincymem_gnu_CM33_S_0.ld, cymem_gnu_CM33_0.ld, cymem_gnu_CM55_0.ld: these three files contain all the defines for the regions in the memory configurator but have the ld extension to be easily picked up and integrated in the linker scripts for the GCC_ARM and LLVM_ARM toolchaincymem_gnu_regions_CM33_S_0.ld, cymem_gnu_regions_CM33_0.ld, cymem_gnu_regions_CM55_0.ld: these three files contain all the MEMORY regions information as needed by the GCC_ARM and LLVM_ARM linkers to partition the memory correctly.cymem_ilinkarm_CM33_S_0.ld, cymem_ilinkarm_CM33_0.ld, cymem_ilinkarm_CM55_0.ld: these three files contain all the defines for the regions in the memory onfigurator but have the icf extension to be easily picked up and integrated in the linker scripts for the IAR toolchain.cymem_ilinkarm_regions_CM33_S_0.ld, cymem_ilinkarm_regions_CM33_0.ld, cymem_ilinkarm_regions_CM55_0.ld : these three files contain all the memory regions information as needed by the IAR linkers to partition the memory correctly.It is important to also note that all memory regions can have up to 4 different valid addresses, that differ in access type. For example, the same external flash (SMIF_Port0) address can be accessed using:
The distinction between secure and non-secure access is relatively simple, but understanding CBUS and SBUS requires more attention. CBUS provides faster, higher-performance access to memory regions, but it supports only read operations. As a result, CBUS is typically used for code execution at runtime. In contrast, SBUS offers both read and write capabilities, though with lower performance. SBUS is necessary when writing data to memory, such as during device programming.
The KIT_PSE84_EVAL_EPC2 Board Support Package provides a set of APIs to configure, initialize and use the board resources.
See the BSP API Reference Manual for the complete list of the provided interfaces.
© Cypress Semiconductor Corporation (an Infineon company) or an affiliate of Cypress Semiconductor Corporation, 2019-2025.