Skip to main content

Using applications with third-party tools

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.

VS Code

For VS Code, you can create an application using the Project Creator tool, or export an existing application using make vscode. Then, open the workspace file in VS Code. For more details, refer to the Visual Studio Code 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:

caution

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.