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:
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 (
) 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.