94 lines
4.3 KiB
CMake
94 lines
4.3 KiB
CMake
#-- Service --------------------------------------------------------------------
|
|
SET(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/MODULES/CmakeConfig_GCC_CortexM4/gcc_cm4f.cmake)
|
|
ENABLE_LANGUAGE(ASM)
|
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.8.0)
|
|
|
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O1")
|
|
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O1")
|
|
|
|
IF (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
|
MESSAGE(
|
|
FATAL_ERROR
|
|
"In-source builds not allowed.
|
|
Please make a new directory (called a build directory) and run CMake from there.
|
|
You may need to remove CMakeCache.txt."
|
|
)
|
|
ENDIF ()
|
|
|
|
SET(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
#-- Project config -------------------------------------------------------------
|
|
PROJECT(SMART_COMPONENTS_AURUS_V2) # Project name
|
|
SET(HARDWARE_REVISION 2.1.7) #
|
|
SET(VERSION \"2.1.7_UVEOS\") #
|
|
SET(VERSION_INTERFACE \"1.0_INTERFACE\") #
|
|
SET(HARDWARE_USER_NAME "SMART_COMPONENTS")
|
|
#SET(VECT_TAB_OFFSET "0x100000")
|
|
SET(VECT_TAB_OFFSET "0x10000")
|
|
|
|
SET(HEXT_VALUE "8000000")
|
|
SET(PLL_NS "125")
|
|
|
|
#-- Defines --------------------------------------------------------------------
|
|
#ADD_DEFINITIONS(-DSET_ACCESS_PROTECTION) # Выставление защиты доступа к памяти
|
|
#ADD_DEFINITIONS(-DSET_WDT) # Выставление сторожевого таймера
|
|
|
|
ADD_DEFINITIONS(-DAURUS_CAR_UI=0)
|
|
|
|
ADD_DEFINITIONS(-DUART_DMA_SEND)
|
|
ADD_DEFINITIONS(-DDEBUG -DAT32F435VGT7 -DAT_START_F435_V1)
|
|
|
|
ADD_DEFINITIONS(-DFIRMWARE_TEST=1)
|
|
|
|
ADD_DEFINITIONS(-DFIRMWARE_VERSION=${VERSION})
|
|
ADD_DEFINITIONS(-DHARDWARE_REVISION=\"${HARDWARE_REVISION}\")
|
|
ADD_DEFINITIONS(-DFIRMWARE_INTERFACE_VERSION=${VERSION_INTERFACE})
|
|
|
|
ADD_DEFINITIONS(-DVECT_TAB_OFFSET=${VECT_TAB_OFFSET})
|
|
ADD_DEFINITIONS(-DHEXT_VALUE=${HEXT_VALUE})
|
|
ADD_DEFINITIONS(-DPLL_NS=${PLL_NS})
|
|
ADD_DEFINITIONS(-DCMSIS_device_header="at32f435_437.h")
|
|
ADD_DEFINITIONS(-DFLASH_PAGE_SIZE=2048)
|
|
ADD_DEFINITIONS(-DAMPL_MAX9768_AddrResist=11)
|
|
ADD_DEFINITIONS(-DCOM_INT_BIG_BUFFERS)
|
|
ADD_DEFINITIONS(-DVARIABLE_TABLE_WITH_ID)
|
|
ADD_DEFINITIONS(-DLFS_THREADSAFE=1)
|
|
ADD_DEFINITIONS(-DHALF_DUPLEX_NO_DELAY=1)
|
|
ADD_DEFINITIONS(-DACCESS_ADC=1)
|
|
ADD_DEFINITIONS(-DACCESS_RTC=1)
|
|
ADD_DEFINITIONS(-DSTORAGE_ARTERY_CHECK_CLEAR=1)
|
|
|
|
#ADD_DEFINITIONS(-DSTORAGE_ARTERY_CHECK_WRITE_SECTORS=1) # Включение записи по секторам (Тестово, закоментированно)
|
|
|
|
#-- Project paths, Include dirs, Sources list ---------------------------------
|
|
#ADD_FILES(SOURCES "MODULES/DeviceStartup_ARTERY_AT32F437ZMT7/ld/startup_at32f435_437.s")
|
|
include(modular.cmake)
|
|
|
|
#-- Options --------------------------------------------------------------------
|
|
IF (PRINTF_FLOAT STREQUAL "1")
|
|
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -u_printf_float")
|
|
ENDIF ()
|
|
IF (SCANF_FLOAT STREQUAL "1")
|
|
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -u_scanf_float")
|
|
ENDIF ()
|
|
|
|
#-- Linker script --------------------------------------------------------------
|
|
SET(LDSCRIPT ${CMAKE_SOURCE_DIR}/APP/AT32F437xM_FLASH.ld)
|
|
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -T ${LDSCRIPT} -Wl,-Map=${CMAKE_BINARY_DIR}/${PROJECT_NAME}.map -Wl,--print-memory-usage")
|
|
|
|
#-- Random BuildId Generation ------------------------------------------------------------
|
|
SET(RANDOM_BUILD_ID_GEN_FILE ${CMAKE_SOURCE_DIR}/MODULES/CmakeConfig_RandomBuildIdGenerator/version.cmake)
|
|
add_custom_target(GEN_RANDOM_BUILD_ID)
|
|
ADD_CUSTOM_COMMAND(TARGET GEN_RANDOM_BUILD_ID POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -P ${RANDOM_BUILD_ID_GEN_FILE})
|
|
|
|
#-- Project linking ------------------------------------------------------------
|
|
ADD_EXECUTABLE(${PROJECT_NAME}.elf ${SOURCES})
|
|
TARGET_LINK_LIBRARIES(${PROJECT_NAME}.elf)
|
|
add_dependencies(${PROJECT_NAME}.elf GEN_RANDOM_BUILD_ID)
|
|
|
|
#-- Custom commands ------------------------------------------------------------
|
|
ADD_CUSTOM_COMMAND(TARGET ${PROJECT_NAME}.elf POST_BUILD
|
|
COMMAND ${CMAKE_OBJCOPY} "-Oihex" ${PROJECT_NAME}.elf ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.hex
|
|
COMMAND ${CMAKE_OBJCOPY} "-Obinary" ${PROJECT_NAME}.elf ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.bin
|
|
# COMMAND ${CMAKE_OBJDUMP} "-DS" ${PROJECT_NAME}.elf > ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.dasm
|
|
COMMAND ${CMAKE_SIZE} ${PROJECT_NAME}.elf) |