set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_PROCESSOR arm) # Toolchain set(TOOLCHAIN_PREFIX arm-none-eabi-) set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}gcc) set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) set(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}objcopy) set(CMAKE_OBJDUMP ${TOOLCHAIN_PREFIX}objdump) set(CMAKE_SIZE ${TOOLCHAIN_PREFIX}size) set(CMAKE_LINKER ${TOOLCHAIN_PREFIX}ld) # Skip link check in toolchain validation set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) # Find configuration (standard) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # Base compiler defines set(COMPILER_DEFINES ${COMPILER_DEFINES} USE_FULL_LL_DRIVER USE_HAL_DRIVER ) # CPU architecture for gcc set(CMAKE_C_FLAGS_INIT "-mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard") # Set CPU for later conditional compilation set(COMPILER_DEFINES ${COMPILER_DEFINES} STM32F411xE )