ModusToolbox supports various build tools used to build the application. ModusToolbox currently uses GCC version 7.2.1 by default. To specify a different toolchain, normally you can modify the file "Makefile" which is under the root directory of your project in ModusToolbox and set the variable "TOOLCHAIN" to other supported values. See below:

Currently ModusToolbox officially supports 3 options: GCC_ARM, ARM and IAR. If you specified ARM or IAR, the correspondent toolchain should be installed by yourself as prerequisite. And you should also specify the path to the desired toolchain using the variable "CY_COMPILER_PATH". See below:

For the most concerned details, please refer to ModusToolbox™ User Guide, Document Number: 002-29893. This blog is intended to give extra information on this.

 

As we all know, ModusToolbox supports two categories of projects: PSoC 6 projects and WICED Bluetooth projects. One important finding is that the actual supported options may differ according to the project type. To find out the actual supported options of your project, you can execute the following command (within the Cygwin environment and change the working directory to your project directory):

make help CY_HELP=TOOLCHAIN

For example, under PSoC 6 projects I got the following result:

The result shows that it actually supports 4 options: GCC_ARM, IAR, ARM, and A_Clang.

But under WICED Bluetooth projects, I got the following result:

The result shows that it only supports 1 option: GCC_ARM.

So if you are facing problems using other toolchains, before you proceed, you can check whether your project actually supports the toolchain you desired, using the command given above.