set(COMPILE_PREFIX "") if (APPLE) set(COMPILE_PREFIX /opt/homebrew/bin/) endif () set(CMAKE_C_COMPILER ${COMPILE_PREFIX}arm-none-eabi-gcc) set(CMAKE_CXX_COMPILER ${COMPILE_PREFIX}arm-none-eabi-g++) set(CMAKE_ASM_COMPILER ${COMPILE_PREFIX}arm-none-eabi-gcc) set(CMAKE_AR ${COMPILE_PREFIX}arm-none-eabi-ar) set(CMAKE_OBJCOPY ${COMPILE_PREFIX}arm-none-eabi-objcopy) set(CMAKE_OBJDUMP ${COMPILE_PREFIX}arm-none-eabi-objdump) set(SIZE ${COMPILE_PREFIX}arm-none-eabi-size) # add definition for filex add_definitions(-DFX_INCLUDE_USER_DEFINE_FILE) include_directories( ${CMAKE_CURRENT_LIST_DIR}/includes ${CMAKE_CURRENT_LIST_DIR}/includes/u575xx ${CMAKE_CURRENT_LIST_DIR}/includes/lowlevel ${CMAKE_CURRENT_LIST_DIR}/CMSIS/Include ${CMAKE_CURRENT_LIST_DIR}/filex/common/inc ${CMAKE_CURRENT_LIST_DIR}/filex/common/ ${CMAKE_CURRENT_LIST_DIR}/filex/ports/generic/inc ) file(GLOB_RECURSE LIB_SOURCES "${CMAKE_CURRENT_LIST_DIR}/src/*.c" "${CMAKE_CURRENT_LIST_DIR}/src/*.cpp" "${CMAKE_CURRENT_LIST_DIR}/filex/common/src/*.c" "${CMAKE_CURRENT_LIST_DIR}/startup/startup_stm32u575zitxq.s" ) message(STATUS "CMAKE_CURRENT_LIST_DIR: ${CMAKE_CURRENT_LIST_DIR}") #Uncomment for hardware floating point # add_compile_definitions(ARM_MATH_CM4;ARM_MATH_MATRIX_CHECK;ARM_MATH_ROUNDING) add_compile_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16) add_link_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16) add_compile_options(-mcpu=cortex-m33 -mthumb -mthumb-interwork) add_compile_options(-ffunction-sections -fdata-sections -fno-common -fmessage-length=0) # Enable assembler files preprocessing add_compile_options($<$:-x$assembler-with-cpp>) # add link script set(LINKER_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/link_script/STM32U575ZITXQ_FLASH.ld) # add link options add_link_options(-Wall -Wl,-gc-sections,--print-memory-usage,-Map=${PROJECT_BINARY_DIR}/${PROJECT_NAME}.map) add_link_options(-mcpu=cortex-m33 -mthumb -mthumb-interwork) add_link_options(-T ${LINKER_SCRIPT}) add_definitions(-DSTM32U575xx) # set(LIB_BIN ${CMAKE_CURRENT_LIST_DIR}/libSTM32U5.a)