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
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.
cy8ckit_062s2_ai/cy8c624abzi_s2d44
target
Type |
Location |
Description |
Compatible |
---|---|---|---|
CPU |
on-chip |
ARM Cortex-M0+ CPU1 |
|
on-chip |
ARM Cortex-M4F CPU1 |
||
ADC |
on-chip |
Infineon Cat1 ADC Each ADC group Cat1 is assigned to a Zephyr device1 |
|
ARM architecture |
on-chip |
Infineon Serial Communication Blocks (SCB) node11 |
|
Clock control |
on-chip |
||
on-chip |
|||
Counter |
on-chip |
Infineon counters32 |
|
DMA |
on-chip |
Infineon CAT1 DMA node2 |
|
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 |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
MTD |
on-chip |
Flash node2 |
|
Pin control |
on-chip |
Infineon CAT1 Pinctrl Container1 |
|
SDHC |
on-chip |
Infineon CAT1 SDHC/SDIO controller1 |
|
Serial controller |
on-chip |
Infineon CAT1 UART2 |
|
SRAM |
on-chip |
Generic on-chip SRAM description1 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
Watchdog |
on-chip |
Infineon CAT1 Watchdog1 |
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