PSOC Control C3M5 Evaluation Kit
Overview
This is the standard evaluation board for the PSOC™ Control C3 family of MCU’s. PSOC™ Control C3M5 is a high-performance and low-power 32-bit single-core Arm® Cortex® M33-based MCU. In addition to the CPU subsystem, the devices contain advanced real-time control peripherals, such as a high-performance programmable analog subsystem, comparators, advanced timers with high-resolution capability, up to six SCBs, and two CAN FDs for communication.
Hardware
For more information about the PSC3M5 SoC and KIT_PSC3M5_EVK board:
Kit Features:
Onboard programmer/debugger (KitProg3)
PSC3M5FDS2AFQ1
Type-C USB device interface
Operating voltage of 3.3 V
CAN FD interface
Headers for MIKROE’s mikroBUS shields
Headers compatible with Arduino Uno R3
Mode button and a mode LED for KitProg3
Potentionmeter to simulate analog output
Two (40-pin) expansion headers
Kit Contents:
EVK board
Type C to USB A cable
Quick Start Guide
Supported Features
The kit_psc3m5_evk
board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo
-
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
kit_psc3m5_evk/psc3m5fds2afq1
target
Type |
Location |
Description |
Compatible |
---|---|---|---|
CPU |
on-chip |
ARM Cortex-M33 CPU1 |
|
ARM architecture |
on-chip |
Infineon Serial Communication Blocks (SCB) node5 |
|
Clock control |
on-chip |
Generic fixed-rate clock provider3 |
|
on-chip |
|||
on-chip |
|||
Counter |
on-chip |
Infineon counters20 |
|
DMA |
on-chip |
Infineon CAT1 DMA2 |
|
Flash controller |
on-chip |
Infineon CAT1 flash controller1 |
|
GPIO & Headers |
on-chip |
||
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv8-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
MTD |
on-chip |
Flash node1 |
|
on-chip |
Fixed partitions of a flash (or other non-volatile storage) memory1 |
||
Pin control |
on-chip |
Infineon CAT1 Pinctrl Container1 |
|
Power management |
on-chip |
Infineon CAT1B power control1 |
|
PWM |
on-chip |
Infineon CAT1 PWM20 |
|
RTC |
on-chip |
Infineon CAT1 family RTC device1 |
|
Serial controller |
on-chip |
Infineon CAT1 UART1 |
|
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv8-M System Tick1 |
|
on-chip |
Infineon Cat1 low power timer1 |
||
Watchdog |
on-chip |
Infineon CAT1 Watchdog1 |
Build blinking led sample
Here is an example for building the Blinky sample application.
# From the root of the zephyr repository
west build -b kit_psc3m5_evk samples/basic/blinky
Programming and Debugging
The kit_psc3m5_evk
board supports the runners and associated west commands listed below.
flash | debug | rtt | attach | debugserver | |
---|---|---|---|---|---|
openocd | ✅ (default) | ✅ (default) | ✅ | ✅ | ✅ |
The KIT_PSC3M5_EVK includes an onboard programmer/debugger (KitProg3) to provide debugging, flash programming, and serial communication over USB. Flash and debug commands use OpenOCD and require a custom Infineon OpenOCD version, that supports KitProg3, to be installed.
Infineon OpenOCD Installation
Both the full ModusToolbox and the ModusToolbox Programming Tools packages include Infineon OpenOCD. Installing either of these packages will also install Infineon OpenOCD. If neither package is installed, a minimal installation can be done by downloading the Infineon OpenOCD release for your system and manually extract the files to a location of your choice.
Note
Linux requires device access rights to be set up for KitProg3. This is handled automatically by the ModusToolbox and ModusToolbox Programming Tools installations. When doing a minimal installation, this can be done manually by executing the script openocd/udev_rules/install_rules.sh
.
West Commands
The path to the installed Infineon OpenOCD executable must be available to the west
tool commands. There are multiple ways of doing this. The example below uses a permanent CMake argument to set the CMake variable OPENOCD
.
# Run west config once to set permanent CMake argument west config build.cmake-args -- -DOPENOCD=path/to/infineon/openocd/bin/openocd.exe # Do a pristine build once after setting CMake argument west build -b kit_psc3m5_evk -p always samples/basic/blinky west flash west debug# Run west config once to set permanent CMake argument west config build.cmake-args -- -DOPENOCD=path/to/infineon/openocd/bin/openocd # Do a pristine build once after setting CMake argument west build -b kit_psc3m5_evk -p always samples/basic/blinky west flash west debug
Once the gdb console starts after executing the west debug command, you may now set breakpoints and perform other standard GDB debugging on the CYW20829 CM33 core.