ModusToolbox™ software includes a variety of ways to use applications with third-party tools. This chapter covers the following:

Using supported IDEs

Overview

As described in the

Getting started

chapter, the Project Creator tool includes a

Target IDE

option that generates files for the selected IDE. Also, as noted in the

ModusToolbox™ build system

chapter, the make command includes various targets for the different supported IDEs. We have created user guides for each of them.

Eclipse

If you install Eclipse from the Setup program, it includes an Eclipse plugin that provides links to launch the Project Creator tool and then import the application into Eclipse. For details, refer to the

Eclipse IDE for ModusToolbox™ user guide

.

IAR EWARM (Windows only)

For IAR Embedded Workbench, you can create an application using the Project Creator tool, or export an existing application using

make ewarm TOOLCHAIN=IAR

.

Note:

For applications that were created using core-make-3.0 or older, you must use the

make ewarm8

command instead.

Then, follow procedures in the

IAR Embedded Workbench for ModusToolbox™ user guide

to open and configure the application.

Export to Keil µVision (Windows only)

For Keil µVision, you can create an application using the Project Creator tool, or export an existing application using

make uvision TOOLCHAIN=ARM

.

Note:

For applications that were created using core-make-3.0 or older, you must use the

make uvision5

command instead.

Then, follow procedures in the

Keil µVision for ModusToolbox™ user guide

to open and configure the application.

Multi-core debugging

Infineon provides different multi-core MCUs in its portfolio. Sometimes you need to debug complex problems usually connected with IPC. Multi-core debugging allows you to simultaneously debug two or more cores available on the target MCU. This section applies to PSOC™ 6 MCUs, as well as the XMC7000 device family.

Multi-core debugging is supported for the following IDEs: Eclipse IDE for ModusToolbox™, VS Code, IAR EWARM, and Keil µVision. Refer to the applicable user guide for the IDE you plan to use.

Timing

When launching a multi-core debug group, do not start debugging (resume, step, etc.) in the first launched sessions until all the remaining launch configurations in a group have been initiated and started successfully.

CM0+ core rule

In PSOC™ 6, TRAVEO™ 2, and XMC7000 devices, system calls are always performed by the primary CM0+ core, even if it is initiated (via NMI) by the secondary core (CM4 or CM7). Because of this, you have to follow this rule for a smooth debugging experience of a multi-core application:

Attention:

The CM0+ core must NOT be halted (suspended at the breakpoint) when another core (CM4 or CM7) is requesting system calls. You must resume the CM0+ core and let it run some code in your application [for example,

Cy_SysLib_Delay()

], or just perform several single-step operations, while the CM4 code is invoking the system call.

If you deviate from this rule, you may experience different issues depending on the usage scenarios, including the application state, IDE, and debug

  • The debugger can be confused by the unexpected value of the Program Counter for the CM0+ core when, instead of performing the single-step operation, it jumps to the SROM area executing the system call requested by the CM4 or CM7 core.

  • The CM4 or CM7 core may be stuck in an endless loop in the code that just initiated the system call and waiting for its completion, while the CM0+ core is suspended at the breakpoint.

Generating files for XMC™ Simulator tool

For the XMC1100, XMC1200, XMC1300, and XMC1400 families of devices, you can generate an archive file to upload to the XMC™ Simulator tool (

https://design.infineon.com/tinaui/designer.php

) for simulation and debugging. To do this:

Specify the

CY_SIMULATOR_GEN_AUTO=1

variable as follows:

  • Edit the application

    Makefile

    to add the

    CY_SIMULATOR_GEN_AUTO=1

    variable, and then build the application, or

  • Add the variable on the command line:

    make build CY_SIMULATOR_GEN_AUTO=1

When the build completes, it generates an archive file (

<application-name>.tar.tgz

) in the

<Application-Name>\build<Kit-Name>\Debug

directory, and the build message displays the URL to the appropriate simulator tool. For example:

==============================================================================
= Generating simulator archive file =
==============================================================================
Simulator archive file C:/Users/XYZ/mtw/5699/xmc-2/Empty_XMC_App/build/KIT_XMC12_BOOT_001/Debug/mtb-example-xmc-empty-app.tar.tgz successfully generated
  • If using the Eclipse IDE, click the link in the Quick Panel under

    Tools

    to open the XMC™ Simulator tool in the default web browser.

  • If using the command line, run

    make online_simulator

    .

Upload the generated archive file to the XMC™ Simulator tool, and follow the tool's instructions for using the tool as appropriate.