2025-04-29 1:10 AM
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
2025-04-29 7:58 AM
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
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.