1#THIS FILE IS AUTO GENERATED FROM THE TEMPLATE! DO NOT CHANGE! 2SET(CMAKE_SYSTEM_NAME Generic) 3SET(CMAKE_SYSTEM_VERSION 1) 4cmake_minimum_required(VERSION 3.7) 5 6# specify cross compilers and tools 7SET(CMAKE_C_COMPILER_WORKS 1) 8SET(CMAKE_C_COMPILER arm-none-eabi-gcc) 9SET(CMAKE_CXX_COMPILER_WORKS 1) 10SET(CMAKE_CXX_COMPILER arm-none-eabi-g++) 11set(CMAKE_ASM_COMPILER arm-none-eabi-gcc) 12set(CMAKE_AR arm-none-eabi-ar) 13set(CMAKE_OBJCOPY arm-none-eabi-objcopy) 14set(CMAKE_OBJDUMP arm-none-eabi-objdump) 15set(SIZE arm-none-eabi-size) 16 17SET(LINKER_SCRIPT ${CMAKE_SOURCE_DIR}/STM32L451REIx_FLASH.ld) 18 19#Uncomment for hardware floating point 20#SET(FPU_FLAGS "-mfloat-abi=hard -mfpu=fpv4-sp-d16") 21#add_definitions(-DARM_MATH_CM4 -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -D__FPU_PRESENT=1) 22 23#Uncomment for software floating point 24#SET(FPU_FLAGS "-mfloat-abi=soft") 25 26SET(COMMON_FLAGS 27 "-mcpu=cortex-m4 ${FPU_FLAGS} -mthumb -mthumb-interwork -ffunction-sections -fdata-sections \ 28 -g -fno-common -fmessage-length=0 -specs=nosys.specs -specs=nano.specs") 29 30SET(CMAKE_CXX_FLAGS_INIT "${COMMON_FLAGS} -std=c++11") 31SET(CMAKE_C_FLAGS_INIT "${COMMON_FLAGS} -std=gnu99") 32SET(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,-gc-sections,--print-memory-usage -T ${LINKER_SCRIPT}") 33 34PROJECT(sx1280-ble C CXX ASM) 35set(CMAKE_CXX_STANDARD 11) 36 37#add_definitions(-DARM_MATH_CM4 -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -D__FPU_PRESENT=1) 38add_definitions(-DUSE_HAL_DRIVER -DSTM32L451xx) 39 40file(GLOB_RECURSE SOURCES "startup/*.*" "Drivers/*.*" "Src/*.*" "port/*.*") 41 42include_directories(Inc Drivers/STM32L4xx_HAL_Driver/Inc Drivers/STM32L4xx_HAL_Driver/Inc/Legacy Drivers/CMSIS/Device/ST/STM32L4xx/Include Drivers/CMSIS/Include) 43 44add_executable(${PROJECT_NAME}.elf ${SOURCES} ${LINKER_SCRIPT}) 45 46set(CMAKE_EXE_LINKER_FLAGS 47 "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Map=${PROJECT_BINARY_DIR}/${PROJECT_NAME}.map") 48 49set(HEX_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.hex) 50set(BIN_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.bin) 51 52add_custom_command(TARGET ${PROJECT_NAME}.elf POST_BUILD 53 COMMAND ${CMAKE_OBJCOPY} -Oihex $<TARGET_FILE:${PROJECT_NAME}.elf> ${HEX_FILE} 54 COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${PROJECT_NAME}.elf> ${BIN_FILE} 55 COMMENT "Building ${HEX_FILE} 56Building ${BIN_FILE}") 57