set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_PROCESSOR arm) # set(CMAKE_SYSROOT /home/devel/rasp-pi-rootfs) # set(CMAKE_STAGING_PREFIX /home/devel/stage) if (WIN32) set(TOOLCHAIN_PATH D:/gcc-arm-none-eabi-win32) set(TOOLCHAIN_PREFIX arm-none-eabi-) set(CMAKE_ASM_COMPILER ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}gcc.exe) set(CMAKE_C_COMPILER ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}gcc.exe) set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}gcc.exe) set(CMAKE_AR ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}ar.exe) set(CMAKE_OBJCOPY ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}objcopy.exe) set(CMAKE_OBJDUMP ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}objdump.exe) set(CMAKE_SIZE ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}size.exe) elseif(UNIX) set(CMAKE_ASM_COMPILER arm-none-eabi-gcc) set(CMAKE_C_COMPILER arm-none-eabi-gcc) set(CMAKE_CXX_COMPILER arm-none-eabi-g++) set(CMAKE_AR arm-none-eabi-ar) set(CMAKE_OBJCOPY arm-none-eabi-objcopy) set(CMAKE_OBJDUMP arm-none-eabi-objdump) set(CMAKE_SIZE arm-none-eabi-objdump) endif() set(MCU_FLAGS "-mcpu=cortex-m4 -mthumb -mthumb-interwork -mfpu=fpv4-sp-d16 -mfloat-abi=hard -ffunction-sections -fdata-sections") set(CMAKE_ASM_FLAGS "-c ${MCU_FLAGS} -x assembler-with-cpp -Wa,-mimplicit-it=thumb -gdwarf-2") set(CMAKE_C_FLAGS "${MCU_FLAGS} -Dgcc -w -Wno-unknown-pragmas -O0 -gdwarf-2 -g") set(CMAKE_C_FLAGS_DEBUG "-O0 -gdwarf-2 -g") set(CMAKE_C_FLAGS_RELEASE "-O3") set(LINKER_SCRIPT STM32F407ZGTX_FLASH.ld) set(CMAKE_EXE_LINKER_FLAGS "${MCU_FLAGS} -Wl,--gc-sections,-Map=${PROJECT_NAME}.map,--cref,-u,Reset_Handler -T${LINKER_SCRIPT}") #set(CMAKE_EXE_LINKER_FLAGS "--specs=nano.specs -specs=nosys.specs -nostartfiles -T${LINKER_SCRIPT} -Wl,-Map=${PROJECT_BINARY_DIR}/${PROJECT_NAME}.map,--cref -Wl,--gc-sections") # find additional toolchain executables find_program(ARM_SIZE_EXECUTABLE arm-none-eabi-size) find_program(ARM_GDB_EXECUTABLE arm-none-eabi-gdb) find_program(ARM_OBJCOPY_EXECUTABLE arm-none-eabi-objcopy) find_program(ARM_OBJDUMP_EXECUTABLE arm-none-eabi-objdump) #set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) # search for program/library/include in the build host directories set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)