We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I'm working on a simple project and trying to make it work for both STM32CubeIDE and Keil uVision. Building in uVision, in *my* files __CC_ARM is not defined. If I manually define it on the Target1 Options C Compiler form, then I get a million errors says that it is already defined in *other* files. Other files meaning supplied things like
stm32f10x.h(483): warning: In file included from...
I can see that in "core_cm3.h" it is already defined (magically).
Ideas??
I noticed someone doing this:
#if defined(__CC_ARM) || defined(__ARMCC_VERSION)
And now I see that __GNUC__ is defined in the Keil eval version. Is this normal?
IDE-Version: µVision V5.34.0.0 Copyright (C) 2021 ARM Ltd and ARM Germany GmbH. All rights reserved. Tool Version Numbers: Toolchain: MDK-Lite Version: 5.34.0.0 Toolchain Path: C:\Keil_v5_MDK\ARM\ARMCLANG\Bin C Compiler: ArmClang.exe V6.16 Assembler: Armasm.exe V6.16 Linker/Locator: ArmLink.exe V6.16 Library Manager: ArmAr.exe V6.16 Hex Converter: FromElf.exe V6.16 CPU DLL: SARMCM3.DLL V5.34.0.0 Dialog DLL: TCM.DLL V1.48.0.0 Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.8.0 Dialog DLL: TCM.DLL V1.48.0.0
Code generation is set to "use default compiler version 6"
If I set Code Generation to "use default compiler version 5", then both of those are resolved (__GNUC_ is now undefined and __CC_ARM is defined), but that introduces a whole raft of other things that need to be downgraded in my code (for lack of a better word).