CYW920829M2EVK-02

Overview

The AIROC™ CYW20829 Bluetooth® LE MCU Evaluation Kit (CYW920829M2EVK-02) with its included on-board peripherals enables evaluation, prototyping, and development of a wide array of Bluetooth® Low Energy applications, all on Infineon’s low power, high performance AIROC™ CYW20829. The AIROC™ CYW20829’s robust RF performance and 10 dBm TX output power without an external power amplifier (PA). This provides enough link budget for the entire spectrum of Bluetooth® LE use cases including industrial IoT applications, smart home, asset tracking, beacons and sensors, and medical devices.

The system features Dual Arm® Cortex® - M33s for powering the MCU and Bluetooth subsystem with programmable and reconfigurable analog and digital blocks. In addition, on the kit, there is a suite of on-board peripherals including six-axis inertial measurement unit (IMU), thermistor, analog mic, user programmable buttons (2), LEDs (2), and RGB LED. There is also extensive GPIO support with extended headers and Arduino Uno R3 compatibility for third-party shields.

Hardware

For more information about the CYW20829 SoC and CYW920829M2EVK-02 board:

Kit Features:

  • AIROC™ CYW20829 Bluetooth® LE MCU in 56 pin QFN package

  • Arduino compatible headers for hardware expansion

  • On-board sensors - 6-axis IMU, Thermistor, Infineon analog microphone, and Infineon digital microphone

  • User switches, RGB LED and user LEDs

  • USB connector for power, programming and USB-UART bridge

Kit Contents:

  • CYW20829 evaluation board (CYW9BTM2BASE3+CYW920829M2IPA2)

  • USB Type-A to Micro-B cable

  • Six jumper wires (five inches each)

  • Quick start guide

Supported Features

The cyw920829m2evk_02 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.

cyw920829m2evk_02/cyw20829b0lkml target

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M33 CPU1

arm,cortex-m33

ADC

on-chip

Infineon Cat1 ADC Each ADC group Cat1 is assigned to a Zephyr device1

infineon,cat1-adc

ARM architecture

on-chip

Infineon Serial Communication Blocks (SCB) node2

infineon,cat1-scb

Bluetooth

on-chip

Bluetooth module that uses Infineon CYW208XX HCI bluetooth interface1

infineon,cyw208xx-hci

Clock control

on-chip

Generic fixed-rate clock provider3

fixed-clock

on-chip

Generic fixed factor clock provider8

fixed-factor-clock

Counter

on-chip

Infineon counters9

infineon,cat1-counter

DMA

on-chip

Infineon CAT1 DMA node1

infineon,cat1-dma

Flash controller

on-board

Infineon CAT1 QSPI flash controller1

infineon,cat1-qspi-flash

GPIO & Headers

on-chip

Infineon CAT1 GPIO Port4 2

infineon,cat1-gpio

Input

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

ARMv8-M NVIC (Nested Vectored Interrupt Controller)1

arm,v8m-nvic

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

MTD

on-board

Flash node3

soc-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

Pin control

on-chip

Infineon CAT1 Pinctrl Container1

infineon,cat1-pinctrl

PWM

on-chip

Infineon Cat1 PWM9

infineon,cat1-pwm

RTC

on-chip

Infineon CAT1 family RTC device1

infineon,cat1-rtc

Serial controller

on-chip

Infineon CAT1 UART1

infineon,cat1-uart

SRAM

on-chip

Generic on-chip SRAM description1

mmio-sram

Timer

on-chip

ARMv8-M System Tick1

arm,armv8m-systick

Watchdog

on-chip

Infineon CAT1 Watchdog1

infineon,cat1-watchdog

System Clock

The AIROC™ CYW20829 Bluetooth® MCU SoC is configured to use the internal IMO+FLL as a source for the system clock. Other sources for the system clock are provided in the SOC, depending on your system requirements.

Fetch Binary Blobs

cyw920829m2evk_02 board requires fetch binary files (e.g Bluetooth controller firmware).

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 cyw920829m2evk_02 samples/basic/blinky

Programming and Debugging

The CYW920829M2EVK-02 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.

The CYW920829M2EVK-02 supports RTT via a SEGGER JLink device, under the target name cyw20829_tm. This can be enabled for an application by building with the rtt-console snippet or setting the following config values: CONFIG_UART_CONSOLE=n, CONFIG_RTT_CONSOLE=y, and CONFIG_USE_SEGGER_RTT=y. e.g. west build -p always -b cyw920829m2evk_02 samples/basic/blinky -S rtt-console

As an additional note there is currently a discrepancy in RAM address between SEGGER and the CYW920829M2EVK-02 device. So, for RTT control block, do not use “Auto Detection”. Instead, set the search range to something reflecting: RAM RangeStart at 0x20000000 and RAM RangeSize of 0x3d000.

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 cyw920829m2evk_02 -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.