ChibiOS3_LD.cmake 1.0 KB

12345678910111213141516171819
  1. IF(NOT CHIBIOS_PROCESS_STACK_SIZE)
  2. SET(CHIBIOS_PROCESS_STACK_SIZE 0x400)
  3. MESSAGE(STATUS "No CHIBIOS_PROCESS_STACK_SIZE specified, using default: ${CHIBIOS_PROCESS_STACK_SIZE}")
  4. ENDIF()
  5. IF(NOT CHIBIOS_MAIN_STACK_SIZE)
  6. SET(CHIBIOS_MAIN_STACK_SIZE 0x400)
  7. MESSAGE(STATUS "No CHIBIOS_MAIN_STACK_SIZE specified, using default: ${CHIBIOS_MAIN_STACK_SIZE}")
  8. ENDIF()
  9. SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L\"${CHIBIOS_ROOT}/os/common/ports/ARMCMx/compilers/GCC\"")
  10. SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--defsym=__process_stack_size__=${CHIBIOS_PROCESS_STACK_SIZE}")
  11. SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--defsym=__main_stack_size__=${CHIBIOS_MAIN_STACK_SIZE}")
  12. # Auto-generate linker script
  13. IF(NOT ChibiOS_LINKER_SCRIPT)
  14. FILE(WRITE ${CMAKE_BINARY_DIR}/chibios_link.ld.in "MEMORY\n{\nflash : org = 0x08000000, len = \${STM32_FLASH_SIZE}\nram : org = 0x20000000, len = \${STM32_RAM_SIZE}\n}\nINCLUDE rules.ld\n")
  15. SET(ChibiOS_LINKER_SCRIPT ${CMAKE_BINARY_DIR}/chibios_link.ld.in)
  16. ENDIF()