Advertisement
Guest User

stm32 cmake

a guest
Oct 8th, 2015
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.14 KB | None | 0 0
  1. cmake_minimum_required(VERSION 2.8)
  2. set(TARGET stm32_test)
  3. project(${TARGET})
  4.  
  5. enable_language(ASM)
  6.  
  7. add_definitions(-DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -Os -mlittle-endian
  8. -mthumb -mcpu=cortex-m3 -fdata-sections -ffunction-sections -std=c++11)
  9.  
  10. set(CMAKE_EXE_LINKER_FLAGS
  11. -Wl,-nostdlib,-static,--gc-sections,-Map=${TARGET}.map,-cref,-u,Reset_Handler,-T,${CMAKE_CURRENT_SOURCE_DIR}/3rd_party/stm32f100rb_flash.ld)
  12. set(SPL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/3rd_party/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries)
  13. set(SPL_CMSIS_CORE_DIR ${SPL_DIR}/CMSIS/CM3/CoreSupport/)
  14. set(SPL_CMSIS_DEVICE_DIR ${SPL_DIR}/CMSIS/CM3/DeviceSupport/ST/STM32F10x/)
  15. set(SPL_DRIVER_DIR ${SPL_DIR}/STM32F10x_StdPeriph_Driver/)
  16. set(SPL_STARTUP ${SPL_CMSIS_DEVICE_DIR}/startup/gcc_ride7/startup_stm32f10x_md.s)
  17.  
  18. include_directories(${SPL_CMSIS_CORE_DIR} ${SPL_CMSIS_DEVICE_DIR} ${SPL_DRIVER_DIR}/inc ${CMAKE_CURRENT_SOURCE_DIR})
  19.  
  20. set(SRC
  21. main.c
  22. stm32f10x_it.c
  23. log_to_uart.c
  24. delay.c
  25. ${SPL_CMSIS_DEVICE_DIR}/system_stm32f10x.c
  26. ${SPL_DRIVER_DIR}/src/misc.c
  27. ${SPL_DRIVER_DIR}/src/stm32f10x_gpio.c
  28. ${SPL_DRIVER_DIR}/src/stm32f10x_rcc.c
  29. ${SPL_DRIVER_DIR}/src/stm32f10x_flash.c
  30. ${SPL_DRIVER_DIR}/src/stm32f10x_usart.c
  31. ${SPL_DRIVER_DIR}/src/stm32f10x_spi.c
  32. ${SPL_STARTUP}
  33. )
  34.  
  35. add_executable(${TARGET} ${SRC})
  36. add_custom_command(TARGET ${TARGET} POST_BUILD
  37. COMMAND arm-none-eabi-objcopy -O binary ${CMAKE_CURRENT_BINARY_DIR}/${TARGET} ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.bin
  38. COMMAND arm-none-eabi-size ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}
  39. )
  40.  
  41. 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