cancel
Showing results for 
Search instead for 
Did you mean: 

CubeIDE arm-none-eabi-gcc Toolchain sources

lotou
Associate

Hi,

I am currently working on a build container for my project and I’m using the ARM toolchain (arm-none-eabi-gcc) from ARM Developer sources:  https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads .

Do you have an authless link that provides the toolchain (arm-none-eabi-gcc) used in CubeIDE?
The path I’m referring to is:
$ stm32cubeide_1.15.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.100.202403111256/tools/bin/

I also noticed a compilation option -fcyclomatic-complexity, which I removed to use the toolchain from ARM Developer sources. Could you clarify the purpose of this option? Specifically, why and how does CubeIDE use it ?

Best Regards,
Loïc

1 REPLY 1
Khaled_DHIF
ST Employee

Hello @lotou,

To determine the version of the toolchain used with your CubeIDE, navigate to the directory: 

C:\ST\STM32CubeIDE_1.18.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344\tools\bin 

  • Note: adjust the identifiers according to your system.

Open the command prompt and execute the command: ./arm-none-eabi-gcc --version.

This will display the GCC compiler version. You can then download it directly from ARM's website

Regarding cyclomatic complexity, it measures the number of linear paths, branching points, and loops in your code. Higher complexity increases the likelihood of crashes in your application. By incorporating cyclomatic complexity checks into your build pipeline, you can periodically ensure your solution hasn't regressed into a more failure-prone version. But you should keep in mind that it is not a performance metric of your code.

  • To know more about the usage of cyclomatic complexity in CubeIDE, refer to UM2609 for CubeIDE, specifically section 4.1 Cyclomatic Complexity.
Please mark my answer as best by clicking on the “Accept as solution" button if it fully answered your question. This will help other users find this solution faster.​