ChibiOS.cmake 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. IF(NOT CHIBIOS_ROOT)
  2. SET(CHIBIOS_ROOT /usr/src/chibios)
  3. MESSAGE(STATUS "No CHIBIOS_ROOT specified, using default: ${CHIBIOS_ROOT}")
  4. ENDIF()
  5. IF(STM32_FAMILY STREQUAL "F4")
  6. SET(CHIBIOS_HAL_PLATFORM_SOURCES
  7. ${CHIBIOS_ROOT}/os/hal/platforms/STM32F4xx/stm32_dma.c
  8. ${CHIBIOS_ROOT}/os/hal/platforms/STM32F4xx/hal_lld.c
  9. ${CHIBIOS_ROOT}/os/hal/platforms/STM32F4xx/adc_lld.c
  10. ${CHIBIOS_ROOT}/os/hal/platforms/STM32F4xx/ext_lld_isr.c
  11. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/GPIOv2/pal_lld.c
  12. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/I2Cv1/i2c_lld.c
  13. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/OTGv1/usb_lld.c
  14. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/RTCv2/rtc_lld.c
  15. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/SPIv1/spi_lld.c
  16. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/TIMv1/gpt_lld.c
  17. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/TIMv1/icu_lld.c
  18. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/TIMv1/pwm_lld.c
  19. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/USARTv1/serial_lld.c
  20. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/USARTv1/uart_lld.c
  21. )
  22. SET(CHIBIOS_KERNEL_PLATFORM_SOURCES
  23. ${CHIBIOS_ROOT}/os/ports/GCC/ARMCMx/STM32F4xx/vectors.c
  24. )
  25. SET(CHIBIOS_HAL_PLATFORM_INCLUDE_DIRS
  26. ${CHIBIOS_ROOT}/os/hal/platforms/STM32F4xx/
  27. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/
  28. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/GPIOv2
  29. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/I2Cv1
  30. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/OTGv1
  31. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/RTCv2
  32. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/SPIv1
  33. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/TIMv1
  34. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/USARTv1
  35. )
  36. SET(CHIBIOS_KERNEL_PLATFORM_INCLUDE_DIRS
  37. ${CHIBIOS_ROOT}/os/ports/GCC/ARMCMx/STM32F4xx
  38. )
  39. ENDIF()
  40. SET(CHIBIOS_HAL_PLATFORM_SOURCES ${CHIBIOS_HAL_PLATFORM_SOURCES}
  41. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/can_lld.c
  42. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/ext_lld.c
  43. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/mac_lld.c
  44. ${CHIBIOS_ROOT}/os/hal/platforms/STM32/sdc_lld.c
  45. )
  46. SET(CHIBIOS_KERNEL_PLATFORM_SOURCES ${CHIBIOS_KERNEL_PLATFORM_SOURCES}
  47. ${CHIBIOS_ROOT}/os/ports/GCC/ARMCMx/crt0.c
  48. ${CHIBIOS_ROOT}/os/ports/GCC/ARMCMx/chcore.c
  49. ${CHIBIOS_ROOT}/os/ports/GCC/ARMCMx/chcore_v7m.c
  50. ${CHIBIOS_ROOT}/os/ports/common/ARMCMx/nvic.c
  51. )
  52. SET(CHIBIOS_KERNEL_PLATFORM_INCLUDE_DIRS ${CHIBIOS_KERNEL_PLATFORM_INCLUDE_DIRS}
  53. ${CHIBIOS_ROOT}/os/ports/common/ARMCMx
  54. ${CHIBIOS_ROOT}/os/ports/GCC/ARMCMx
  55. )
  56. SET(CHIBIOS_HAL_INCLUDE_DIRS
  57. ${CHIBIOS_ROOT}/os/hal/include
  58. )
  59. SET(CHIBIOS_HAL_SOURCES
  60. ${CHIBIOS_ROOT}/os/hal/src/hal.c
  61. ${CHIBIOS_ROOT}/os/hal/src/adc.c
  62. ${CHIBIOS_ROOT}/os/hal/src/can.c
  63. ${CHIBIOS_ROOT}/os/hal/src/ext.c
  64. ${CHIBIOS_ROOT}/os/hal/src/gpt.c
  65. ${CHIBIOS_ROOT}/os/hal/src/i2c.c
  66. ${CHIBIOS_ROOT}/os/hal/src/icu.c
  67. ${CHIBIOS_ROOT}/os/hal/src/mac.c
  68. ${CHIBIOS_ROOT}/os/hal/src/mmc_spi.c
  69. ${CHIBIOS_ROOT}/os/hal/src/mmcsd.c
  70. ${CHIBIOS_ROOT}/os/hal/src/pal.c
  71. ${CHIBIOS_ROOT}/os/hal/src/pwm.c
  72. ${CHIBIOS_ROOT}/os/hal/src/rtc.c
  73. ${CHIBIOS_ROOT}/os/hal/src/sdc.c
  74. ${CHIBIOS_ROOT}/os/hal/src/serial.c
  75. ${CHIBIOS_ROOT}/os/hal/src/serial_usb.c
  76. ${CHIBIOS_ROOT}/os/hal/src/spi.c
  77. ${CHIBIOS_ROOT}/os/hal/src/tm.c
  78. ${CHIBIOS_ROOT}/os/hal/src/uart.c
  79. ${CHIBIOS_ROOT}/os/hal/src/usb.c
  80. )
  81. SET(CHIBIOS_KERNEL_INCLUDE_DIRS
  82. ${CHIBIOS_ROOT}/os/kernel/include
  83. )
  84. SET(CHIBIOS_KERNEL_SOURCES
  85. ${CHIBIOS_ROOT}/os/kernel/src/chsys.c
  86. ${CHIBIOS_ROOT}/os/kernel/src/chdebug.c
  87. ${CHIBIOS_ROOT}/os/kernel/src/chlists.c
  88. ${CHIBIOS_ROOT}/os/kernel/src/chvt.c
  89. ${CHIBIOS_ROOT}/os/kernel/src/chschd.c
  90. ${CHIBIOS_ROOT}/os/kernel/src/chthreads.c
  91. ${CHIBIOS_ROOT}/os/kernel/src/chdynamic.c
  92. ${CHIBIOS_ROOT}/os/kernel/src/chregistry.c
  93. ${CHIBIOS_ROOT}/os/kernel/src/chsem.c
  94. ${CHIBIOS_ROOT}/os/kernel/src/chmtx.c
  95. ${CHIBIOS_ROOT}/os/kernel/src/chcond.c
  96. ${CHIBIOS_ROOT}/os/kernel/src/chevents.c
  97. ${CHIBIOS_ROOT}/os/kernel/src/chmsg.c
  98. ${CHIBIOS_ROOT}/os/kernel/src/chmboxes.c
  99. ${CHIBIOS_ROOT}/os/kernel/src/chqueues.c
  100. ${CHIBIOS_ROOT}/os/kernel/src/chmemcore.c
  101. ${CHIBIOS_ROOT}/os/kernel/src/chheap.c
  102. ${CHIBIOS_ROOT}/os/kernel/src/chmempools.c
  103. )
  104. SET(CHIBIOS_VARIOUS_INCLUDE_DIRS
  105. ${CHIBIOS_ROOT}/os/various/
  106. )
  107. SET(CHIBIOS_SOURCES ${CHIBIOS_KERNEL_PLATFORM_SOURCES} ${CHIBIOS_KERNEL_SOURCES} ${CHIBIOS_HAL_PLATFORM_SOURCES} ${CHIBIOS_HAL_SOURCES})
  108. SET(CHIBIOS_INCLUDE_DIRS ${CHIBIOS_KERNEL_PLATFORM_INCLUDE_DIRS} ${CHIBIOS_KERNEL_INCLUDE_DIRS} ${CHIBIOS_HAL_PLATFORM_INCLUDE_DIRS} ${CHIBIOS_HAL_INCLUDE_DIRS} ${CHIBIOS_VARIOUS_INCLUDE_DIRS})