Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cmake_minimum_required(VERSION 2.8)
- set(TARGET stm32_test)
- project(${TARGET})
- enable_language(ASM)
- add_definitions(-DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -Os -mlittle-endian
- -mthumb -mcpu=cortex-m3 -fdata-sections -ffunction-sections -std=c++11)
- set(CMAKE_EXE_LINKER_FLAGS
- -Wl,-nostdlib,-static,--gc-sections,-Map=${TARGET}.map,-cref,-u,Reset_Handler,-T,${CMAKE_CURRENT_SOURCE_DIR}/3rd_party/stm32f100rb_flash.ld)
- set(SPL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/3rd_party/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries)
- set(SPL_CMSIS_CORE_DIR ${SPL_DIR}/CMSIS/CM3/CoreSupport/)
- set(SPL_CMSIS_DEVICE_DIR ${SPL_DIR}/CMSIS/CM3/DeviceSupport/ST/STM32F10x/)
- set(SPL_DRIVER_DIR ${SPL_DIR}/STM32F10x_StdPeriph_Driver/)
- set(SPL_STARTUP ${SPL_CMSIS_DEVICE_DIR}/startup/gcc_ride7/startup_stm32f10x_md.s)
- include_directories(${SPL_CMSIS_CORE_DIR} ${SPL_CMSIS_DEVICE_DIR} ${SPL_DRIVER_DIR}/inc ${CMAKE_CURRENT_SOURCE_DIR})
- set(SRC
- main.c
- stm32f10x_it.c
- log_to_uart.c
- delay.c
- ${SPL_CMSIS_DEVICE_DIR}/system_stm32f10x.c
- ${SPL_DRIVER_DIR}/src/misc.c
- ${SPL_DRIVER_DIR}/src/stm32f10x_gpio.c
- ${SPL_DRIVER_DIR}/src/stm32f10x_rcc.c
- ${SPL_DRIVER_DIR}/src/stm32f10x_flash.c
- ${SPL_DRIVER_DIR}/src/stm32f10x_usart.c
- ${SPL_DRIVER_DIR}/src/stm32f10x_spi.c
- ${SPL_STARTUP}
- )
- add_executable(${TARGET} ${SRC})
- add_custom_command(TARGET ${TARGET} POST_BUILD
- COMMAND arm-none-eabi-objcopy -O binary ${CMAKE_CURRENT_BINARY_DIR}/${TARGET} ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.bin
- COMMAND arm-none-eabi-size ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}
- )
- add_custom_target(flash st-flash write ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.bin 0x8000000 DEPENDS ${TARGET})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement