ChibiOS3_HAL.cmake 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. SET(CHIBIOS_HAL_LIB_MODULES chprintf memstreams nullstreams)
  2. 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)
  3. IF(${CHIBIOS_KERNEL} STREQUAL nil)
  4. SET(CHIBIOS_OSAL_PATH ${CHIBIOS_ROOT}/os/hal/osal/nil)
  5. ELSE()
  6. SET(CHIBIOS_OSAL_PATH ${CHIBIOS_ROOT}/os/hal/osal/rt)
  7. ENDIF()
  8. SET(CHIBIOS_hal_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/include ${CHIBIOS_ROOT}/os/hal/src/ ${CHIBIOS_OSAL_PATH})
  9. SET(CHIBIOS_hal_SEARCH_HEADERS hal.h osal.h)
  10. SET(CHIBIOS_hal_SOURCES hal.c hal_queues.c osal.c)
  11. FOREACH(module ${CHIBIOS_HAL_MODULES})
  12. SET(CHIBIOS_${module}_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/include ${CHIBIOS_ROOT}/os/hal/src)
  13. SET(CHIBIOS_${module}_SOURCES ${module}.c)
  14. SET(CHIBIOS_${module}_SEARCH_HEADERS ${module}.h)
  15. IF(${module} STREQUAL mmcsd)
  16. SET(CHIBIOS_${module}_SOURCES hal_mmcsd.c)
  17. ENDIF()
  18. ENDFOREACH()
  19. FOREACH(module ${CHIBIOS_HAL_LIB_MODULES})
  20. SET(CHIBIOS_${module}_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/lib/streams)
  21. SET(CHIBIOS_${module}_SOURCES ${module}.c)
  22. SET(CHIBIOS_${module}_SEARCH_HEADERS ${module}.h)
  23. ENDFOREACH()
  24. IF(STM32_FAMILY STREQUAL "F0")
  25. SET(CHIBIOS_HAL_PLATFORM_MODULES adc can ext gpt i2c i2s icu mac pal pwm rtc sdc serial spi st uart usb)
  26. SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
  27. STM32F0xx
  28. LLD
  29. LLD
  30. LLD/TIMv1
  31. LLD/I2Cv2
  32. LLD/SPIv1
  33. LLD/TIMv1
  34. LLD
  35. LLD/GPIOv2
  36. LLD/TIMv1
  37. LLD/RTCv2
  38. LLD
  39. LLD/USARTv2
  40. LLD/SPIv2
  41. LLD/TIMv1
  42. LLD/USARTv2
  43. LLD/USBv1
  44. )
  45. SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
  46. ${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
  47. ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F0xx
  48. ${CHIBIOS_ROOT}/os/hal/ports/STM32/LLD
  49. )
  50. SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
  51. hal_lld.h
  52. stm32_dma.h
  53. nvic.h
  54. )
  55. SET(CHIBIOS_hal_PLATFORM_SOURCES
  56. hal_lld.c
  57. stm32_dma.c
  58. nvic.c
  59. )
  60. SET(INDEX 0)
  61. FOREACH(module ${CHIBIOS_HAL_PLATFORM_MODULES})
  62. LIST(GET CHIBIOS_HAL_PLATFORM_MODULES_PATHES ${INDEX} path)
  63. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/ports/STM32/${path})
  64. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${module}_lld.h)
  65. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${module}_lld.c)
  66. IF(${module} STREQUAL ext)
  67. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ext_PLATFORM_SEARCH_PATH} ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F0xx)
  68. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${CHIBIOS_ext_PLATFORM_SEARCH_HEADERS} ext_lld_isr.h)
  69. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${CHIBIOS_ext_PLATFORM_SOURCES} ext_lld_isr.c)
  70. ENDIF()
  71. MATH(EXPR INDEX "${INDEX} + 1")
  72. ENDFOREACH()
  73. ELSEIF(STM32_FAMILY STREQUAL "F1")
  74. SET(CHIBIOS_HAL_PLATFORM_MODULES adc can ext gpt i2c i2s icu mac pal pwm rtc sdc serial spi st uart usb)
  75. SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
  76. STM32F1xx
  77. LLD
  78. LLD
  79. LLD/TIMv1
  80. LLD/I2Cv1
  81. LLD/SPIv1
  82. LLD/TIMv1
  83. LLD
  84. LLD/GPIOv1
  85. LLD/TIMv1
  86. LLD/RTCv1
  87. LLD
  88. LLD/USARTv1
  89. LLD/SPIv1
  90. LLD/TIMv1
  91. LLD/USARTv1
  92. LLD/USBv1
  93. )
  94. SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
  95. ${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
  96. ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F1xx
  97. ${CHIBIOS_ROOT}/os/hal/ports/STM32
  98. )
  99. SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
  100. hal_lld.h
  101. stm32_dma.h
  102. nvic.h
  103. )
  104. SET(CHIBIOS_hal_PLATFORM_SOURCES
  105. hal_lld.c
  106. stm32_dma.c
  107. nvic.c
  108. )
  109. SET(INDEX 0)
  110. FOREACH(module ${CHIBIOS_HAL_PLATFORM_MODULES})
  111. LIST(GET CHIBIOS_HAL_PLATFORM_MODULES_PATHES ${INDEX} path)
  112. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/ports/STM32/${path})
  113. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${module}_lld.h)
  114. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${module}_lld.c)
  115. IF(${module} STREQUAL ext)
  116. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ext_PLATFORM_SEARCH_PATH} ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F1xx)
  117. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${CHIBIOS_ext_PLATFORM_SEARCH_HEADERS} ext_lld_isr.h)
  118. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${CHIBIOS_ext_PLATFORM_SOURCES} ext_lld_isr.c)
  119. ENDIF()
  120. MATH(EXPR INDEX "${INDEX} + 1")
  121. ENDFOREACH()
  122. ELSEIF(STM32_FAMILY STREQUAL "F4")
  123. SET(CHIBIOS_HAL_PLATFORM_MODULES adc can dac ext gpt i2c i2s icu mac pal pwm rtc sdc serial spi st uart usb)
  124. SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
  125. STM32F4xx
  126. LLD
  127. LLD/DACv1
  128. LLD
  129. LLD/TIMv1
  130. LLD/I2Cv1
  131. LLD/SPIv1
  132. LLD/TIMv1
  133. LLD
  134. LLD/GPIOv2
  135. LLD/TIMv1
  136. LLD/RTCv2
  137. LLD
  138. LLD/USARTv1
  139. LLD/SPIv1
  140. LLD/TIMv1
  141. LLD/USARTv1
  142. LLD/OTGv1
  143. )
  144. SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
  145. ${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
  146. ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F4xx
  147. ${CHIBIOS_ROOT}/os/hal/ports/STM32
  148. ${CHIBIOS_ROOT}/os/hal/ports/STM32/LLD/DMAv2
  149. )
  150. SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
  151. hal_lld.h
  152. stm32_dma.h
  153. nvic.h
  154. )
  155. SET(CHIBIOS_hal_PLATFORM_SOURCES
  156. hal_lld.c
  157. stm32_dma.c
  158. nvic.c
  159. )
  160. SET(INDEX 0)
  161. FOREACH(module ${CHIBIOS_HAL_PLATFORM_MODULES})
  162. LIST(GET CHIBIOS_HAL_PLATFORM_MODULES_PATHES ${INDEX} path)
  163. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/ports/STM32/${path})
  164. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${module}_lld.h)
  165. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${module}_lld.c)
  166. IF(${module} STREQUAL ext)
  167. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ext_PLATFORM_SEARCH_PATH} ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F4xx)
  168. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${CHIBIOS_ext_PLATFORM_SEARCH_HEADERS} ext_lld_isr.h)
  169. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${CHIBIOS_ext_PLATFORM_SOURCES} ext_lld_isr.c)
  170. ENDIF()
  171. MATH(EXPR INDEX "${INDEX} + 1")
  172. ENDFOREACH()
  173. ENDIF()