PSOC 6 AI Evaluation Kit
Overview
The PSOC 6 AI Evaluation Kit (CY8CKIT-062S2-AI) is a cost effective and small development kit that enables design and debug of PSOC 6 MCUs. It includes a CY8C624ABZI-S2D44 MCU which is based on a 150-MHz Arm® Cortex®-M4 and a 100-MHz Arm® Cortex®-M0+, with 2048 KB of on-chip Flash, 1024 KB of SRAM, a Quad-SPI external memory interface, built-in hardware and software security features, rich analog, digital, and communication peripherals.
The board features an AIROC® CYW43439 Wi-Fi & Bluetooth® combo device, a 512 MB NOR flash, an onboard programmer/debugger (KitProg3), USB host and device features, two user LEDs, and one push button.
Hardware
For more information about the CY8C624ABZI-S2D44 MCU SoC and CY8CKIT-062S2-AI board:
Supported Features
The cy8ckit_062s2_ai/cy8c624abzi_s2d44
board target supports the following hardware features:
Interface |
Controller |
Driver/Component |
---|---|---|
NVIC |
on-chip |
nested vectored interrupt controller |
SYSTICK |
on-chip |
system clock |
GPIO |
on-chip |
GPIO |
PINCTRL |
on-chip |
pin control |
UART |
on-chip |
serial port-polling; serial port-interrupt |
WATCHDOG |
on-chip |
watchdog |
The default configuration can be found in the defconfig and dts files:
System Clock
The PCY8C624ABZI-S2D44 MCU SoC is configured to use the internal IMO+FLL as a source for the system clock. CM0+ works at 50MHz, CM4 - at 100MHz. Other sources for the system clock are provided in the SoC, depending on your system requirements.
Fetch Binary Blobs
The CY8CKIT-062S2-AI board requires fetch binary files (e.g CM0+ prebuilt images).
To fetch Binary Blobs:
west blobs fetch hal_infineon
Build blinking led sample
Here is an example for building the Blinky sample application.
# From the root of the zephyr repository
west build -b cy8ckit_062s2_ai/cy8c624abzi_s2d44 samples/basic/blinky
Programming and Debugging
The CY8CKIT-062S2-AI board includes an onboard programmer/debugger (KitProg3 [9]) 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 [6] and the ModusToolbox Programming Tools [7] 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 [8] 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 cy8ckit_062s2_ai/cy8c624abzi_s2d44 -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 cy8ckit_062s2_ai/cy8c624abzi_s2d44 -p always samples/basic/blinky west flash west debug
Alternatively, pyOCD can also be used to flash the board using
the --runner
(or -r
) option:
$ west flash --runner pyocd