ChibiOS3_HAL.cmake 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. SET(CHIBIOS_HAL_MODULES adc can dac ext gpt i2c i2s icu mac mmc_spi mmcsd pal pwm rtc sdc serial serial_usb spi st uart usb)
  2. IF(${CHIBIOS_KERNEL} STREQUAL nil)
  3. SET(CHIBIOS_OSAL_PATH ${CHIBIOS_ROOT}/os/hal/osal/nil)
  4. ELSE()
  5. SET(CHIBIOS_OSAL_PATH ${CHIBIOS_ROOT}/os/hal/osal/rt)
  6. ENDIF()
  7. SET(CHIBIOS_hal_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/include ${CHIBIOS_ROOT}/os/hal/src/ ${CHIBIOS_OSAL_PATH})
  8. SET(CHIBIOS_hal_SEARCH_HEADERS hal.h osal.h)
  9. SET(CHIBIOS_hal_SOURCES hal.c hal_queues.c osal.c)
  10. FOREACH(module ${CHIBIOS_HAL_MODULES})
  11. SET(CHIBIOS_${module}_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/include ${CHIBIOS_ROOT}/os/hal/src)
  12. SET(CHIBIOS_${module}_SOURCES ${module}.c)
  13. SET(CHIBIOS_${module}_SEARCH_HEADERS ${module}.h)
  14. IF(${module} STREQUAL mmcsd)
  15. SET(CHIBIOS_${module}_SOURCES hal_mmcsd.c)
  16. ENDIF()
  17. ENDFOREACH()
  18. IF(STM32_FAMILY STREQUAL "F1")
  19. SET(CHIBIOS_HAL_PLATFORM_MODULES adc can ext gpt i2c i2s icu mac pal pwm rtc sdc serial spi st uart usb)
  20. SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
  21. STM32F1xx
  22. LLD
  23. LLD
  24. LLD/TIMv1
  25. LLD/I2Cv1
  26. LLD/SPIv1
  27. LLD/TIMv1
  28. LLD
  29. LLD/GPIOv1
  30. LLD/TIMv1
  31. LLD/RTCv1
  32. LLD
  33. LLD/USARTv1
  34. LLD/SPIv1
  35. LLD/TIMv1
  36. LLD/USARTv1
  37. LLD/USBv1
  38. )
  39. SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
  40. ${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
  41. ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F1xx
  42. ${CHIBIOS_ROOT}/os/hal/ports/STM32
  43. )
  44. SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
  45. hal_lld.h
  46. stm32_dma.h
  47. nvic.h
  48. )
  49. SET(CHIBIOS_hal_PLATFORM_SOURCES
  50. hal_lld.c
  51. stm32_dma.c
  52. nvic.c
  53. )
  54. ELSEIF(STM32_FAMILY STREQUAL "F4")
  55. SET(CHIBIOS_HAL_PLATFORM_MODULES adc can dac ext gpt i2c i2s icu mac pal pwm rtc sdc serial spi st uart usb)
  56. SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
  57. STM32F4xx
  58. LLD
  59. LLD/DACv1
  60. LLD
  61. LLD/TIMv1
  62. LLD/I2Cv1
  63. LLD/SPIv1
  64. LLD/TIMv1
  65. LLD
  66. LLD/GPIOv2
  67. LLD/TIMv1
  68. LLD/RTCv2
  69. LLD
  70. LLD/USARTv1
  71. LLD/SPIv1
  72. LLD/TIMv1
  73. LLD/USARTv1
  74. LLD/OTGv1
  75. )
  76. SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
  77. ${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
  78. ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F4xx
  79. ${CHIBIOS_ROOT}/os/hal/ports/STM32
  80. )
  81. SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
  82. hal_lld.h
  83. stm32_dma.h
  84. nvic.h
  85. )
  86. SET(CHIBIOS_hal_PLATFORM_SOURCES
  87. hal_lld.c
  88. stm32_dma.c
  89. nvic.c
  90. )
  91. ENDIF()
  92. SET(INDEX 0)
  93. FOREACH(module ${CHIBIOS_HAL_PLATFORM_MODULES})
  94. LIST(GET CHIBIOS_HAL_PLATFORM_MODULES_PATHES ${INDEX} path)
  95. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/ports/STM32/${path})
  96. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${module}_lld.h)
  97. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${module}_lld.c)
  98. IF(${module} STREQUAL ext)
  99. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ext_PLATFORM_SEARCH_PATH} ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F1xx)
  100. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${CHIBIOS_ext_PLATFORM_SEARCH_HEADERS} ext_lld_isr.h)
  101. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${CHIBIOS_ext_PLATFORM_SOURCES} ext_lld_isr.c)
  102. ENDIF()
  103. MATH(EXPR INDEX "${INDEX} + 1")
  104. ENDFOREACH()