boards/infineon/cy8ckit_041s_max/doc/index.rst
.. zephyr:board:: cy8ckit_041s_max
Overview
The PSOC™ 4100S Max Pioneer Kit (CY8CKIT-041S-MAX) enables you to evaluate and develop applications using the PSOC™ 4100S Max microcontroller, part of Infineon's PSOC™ 4 family. The device integrates an Arm Cortex-M0+ CPU running up to 48 MHz, combining programmable analog and digital subsystems to support flexible mixed-signal designs. It features up to 384 KB Flash and up to 32 KB SRAM, and includes a wide range of configurable peripherals such as SAR ADC, comparators, opamps (CTBm), CapSense™ capacitive touch sensing, and TCPWM for timer/counter/PWM functionality.
32-bit MCU subsystem
Programming and Debugging
.. zephyr:board-supported-runners::
Here is an example for building the :zephyr:code-sample:hello_world sample application.
.. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: cy8ckit_041s_max :goals: build
The CY8CKIT-041S-MAX 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.
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.
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:
.. tabs:: .. group-tab:: Windows
.. code-block:: shell
west config build.cmake-args -- -DOPENOCD=path/to/infineon/openocd/bin/openocd.exe
.. group-tab:: Linux
.. code-block:: shell
west config build.cmake-args -- -DOPENOCD=path/to/infineon/openocd/bin/openocd
Once configured, you can build and flash applications:
.. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: cy8ckit_041s_max :goals: build flash debug
Once the gdb console starts after executing the west debug command, you may now set breakpoints and perform other standard GDB debugging.
References
.. target-notes::
.. _cy8ckit_041s_max Board Website: https://www.infineon.com/evaluation-board/CY8CKIT-041S-MAX
.. _ModusToolbox: https://www.infineon.com/design-resources/development-tools/sdk/modustoolbox-software
.. _ModusToolbox Programming Tools: https://www.infineon.com/design-resources/development-tools/sdk/modustoolbox-software/modustoolbox-programming-tools
.. _Infineon OpenOCD: https://github.com/Infineon/openocd/releases/latest
.. _KitProg3: https://github.com/Infineon/KitProg3