| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- # Project name
- PROJECT(stm32-template)
- CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
- ENABLE_LANGUAGE(ASM)
- # Select your memory sizes here
- # Flash size
- SET(STM32_FLASH_SIZE "512K")
- # RAM size
- SET(STM32_RAM_SIZE "64K")
- # Stack address - bottom of RAM => RAM origin + RAM size
- SET(STM32_STACK_ADDRESS "0x20010000")
- # Origins
- SET(STM32_FLASH_ORIGIN "0x08000000")
- SET(STM32_RAM_ORIGIN "0x20000000")
- # Compiler definitions for std. periph. library
- # Select your chip type here
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSTM32F10X_HD")
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSTM32F10X_HD")
- # Startup sources
- # Select your chip type here
- SET(STARTUP_SOURCE ${STM32_STARTUP_HD})
- # Uncomment needed modules
- SET(MOD_SOURCES
- ${STM32_MISC_SOURCE}
- # ${STM32_ADC_SOURCE}
- # ${STM32_BKP_SOURCE}
- # ${STM32_CAN_SOURCE}
- # ${STM32_CEC_SOURCE}
- # ${STM32_CRC_SOURCE}
- # ${STM32_DAC_SOURCE}
- # ${STM32_DBGMCU_SOURCE}
- # ${STM32_DMA_SOURCE}
- # ${STM32_EXTI_SOURCE}
- # ${STM32_FLASH_SOURCE}
- # ${STM32_FSMC_SOURCE}
- ${STM32_GPIO_SOURCE}
- # ${STM32_I2C_SOURCE}
- # ${STM32_IWDG_SOURCE}
- # ${STM32_PWR_SOURCE}
- ${STM32_RCC_SOURCE}
- # ${STM32_RTC_SOURCE}
- # ${STM32_SDIO_SOURCE}
- # ${STM32_SPI_SOURCE}
- ${STM32_TIM_SOURCE}
- # ${STM32_USART_SOURCE}
- # ${STM32_WWDG_SOURCE}
- )
- # Project sources
- SET(PROJECT_SOURCES
- main.c
- )
- # Configuring linker script for our target
- CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/stm32_flash.ld.in ${CMAKE_CURRENT_BINARY_DIR}/stm32_flash.ld)
- SET(CMAKE_EXE_LINKER_FLAGS "-T${CMAKE_CURRENT_BINARY_DIR}/stm32_flash.ld ${CMAKE_EXE_LINKER_FLAGS}")
- INCLUDE_DIRECTORIES(
- ${CMAKE_CURRENT_SOURCE_DIR}/.
- ${STM32_StdPeriphLib_INCLUDE_DIRS}
- )
- # Compile executable (*.elf)
- ADD_EXECUTABLE(${CMAKE_PROJECT_NAME}.elf ${PROJECT_SOURCES} ${MOD_SOURCES} ${STARTUP_SOURCE} ${STM32_SYSTEM_SOURCE})
- # Convert elf to bin and hex
- ADD_CUSTOM_COMMAND(TARGET ${CMAKE_PROJECT_NAME}.elf POST_BUILD COMMAND ${CMAKE_OBJCOPY} ARGS -Oihex ${CMAKE_PROJECT_NAME}.elf ${CMAKE_PROJECT_NAME}.hex)
- ADD_CUSTOM_COMMAND(TARGET ${CMAKE_PROJECT_NAME}.elf POST_BUILD COMMAND ${CMAKE_OBJCOPY} ARGS -Obinary ${CMAKE_PROJECT_NAME}.elf ${CMAKE_PROJECT_NAME}.bin)
|