ChibiOS17_HAL.cmake 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. SET(CHIBIOS_HAL_LIB_MODULES chprintf memstreams nullstreams)
  2. SET(CHIBIOS_HAL_MODULES adc buffers can channels dac ext files gpt i2c i2s icu ioblock mac mii mmc_spi mmcsd pal pwm qspi queues rtc sdc serial serial_usb spi st streams uart usb_cdc usb wdg)
  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
  9. ${CHIBIOS_ROOT}/os/hal/include
  10. ${CHIBIOS_ROOT}/os/hal/src/
  11. ${CHIBIOS_ROOT}/os/hal/osal/lib
  12. ${CHIBIOS_OSAL_PATH}
  13. )
  14. SET(CHIBIOS_hal_SEARCH_HEADERS
  15. hal.h
  16. osal.h
  17. )
  18. SET(CHIBIOS_hal_SOURCES
  19. hal.c
  20. osal.c
  21. )
  22. FOREACH(module ${CHIBIOS_HAL_MODULES})
  23. SET(CHIBIOS_${module}_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/include ${CHIBIOS_ROOT}/os/hal/src)
  24. SET(CHIBIOS_${module}_SOURCES hal_${module}.c)
  25. SET(CHIBIOS_${module}_SEARCH_HEADERS hal_${module}.h)
  26. ENDFOREACH()
  27. IF(STM32_FAMILY STREQUAL "F0")
  28. SET(CHIBIOS_HAL_PLATFORM_MODULES adc can dac ext gpt i2c i2s icu mac pal pwm rtc sdc serial spi st uart usb wdg)
  29. SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
  30. LLD/ADCv1
  31. LLD/CANv1
  32. LLD/DACv1
  33. LLD/EXTIv1
  34. LLD/TIMv1
  35. LLD/I2Cv2
  36. LLD/SPIv1
  37. LLD/TIMv1
  38. LLD/MACv1
  39. LLD/GPIOv2
  40. LLD/TIMv1
  41. LLD/RTCv2
  42. LLD/SDMMCv1
  43. LLD/USARTv2
  44. LLD/SPIv2
  45. LLD/TIMv1
  46. LLD/USARTv2
  47. LLD/USBv1
  48. LDD/DMAv1
  49. LDD/xWDGv1
  50. )
  51. SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
  52. ${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
  53. ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F0xx
  54. ${CHIBIOS_ROOT}/os/hal/ports/STM32/LLD/DMAv1
  55. )
  56. SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
  57. hal_lld.h
  58. stm32_isr.h
  59. stm32_rcc.h
  60. stm32_registry.h
  61. nvic.h
  62. stm32_dma.h
  63. )
  64. SET(CHIBIOS_hal_PLATFORM_SOURCES
  65. hal_lld.c
  66. nvic.c
  67. stm32_dma.c
  68. )
  69. SET(INDEX 0)
  70. FOREACH(module ${CHIBIOS_HAL_PLATFORM_MODULES})
  71. LIST(GET CHIBIOS_HAL_PLATFORM_MODULES_PATHES ${INDEX} path)
  72. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/ports/STM32/${path})
  73. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS hal_${module}_lld.h)
  74. SET(CHIBIOS_${module}_PLATFORM_SOURCES hal_${module}_lld.c)
  75. IF(${module} STREQUAL ext)
  76. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ext_PLATFORM_SEARCH_PATH} ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F0xx)
  77. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${CHIBIOS_ext_PLATFORM_SEARCH_HEADERS} hal_ext_lld_isr.h)
  78. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${CHIBIOS_ext_PLATFORM_SOURCES} hal_ext_lld_isr.c)
  79. ENDIF()
  80. MATH(EXPR INDEX "${INDEX} + 1")
  81. ENDFOREACH()
  82. ELSEIF(STM32_FAMILY STREQUAL "F1")
  83. SET(CHIBIOS_HAL_PLATFORM_MODULES adc can dac ext gpt i2c icu pal pwm rtc sdc serial spi st uart usb)
  84. SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
  85. STM32F1xx
  86. LLD/CANv1
  87. LLD/DACv1
  88. LLD/EXTIv1
  89. LLD/TIMv1
  90. LLD/I2Cv1
  91. LLD/TIMv1
  92. LLD/GPIOv1
  93. LLD/TIMv1
  94. LLD/RTCv1
  95. LLD/SDIOv1
  96. LLD/USARTv1
  97. LLD/SPIv1
  98. LLD/TIMv1
  99. LLD/USARTv1
  100. LLD/USBv1
  101. )
  102. SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
  103. ${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
  104. ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F1xx
  105. ${CHIBIOS_ROOT}/os/hal/ports/STM32/LLD/DMAv1
  106. )
  107. SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
  108. hal_lld.h
  109. stm32_isr.h
  110. stm32_rcc.h
  111. stm32_registry.h
  112. nvic.h
  113. stm32_dma.h
  114. )
  115. SET(CHIBIOS_hal_PLATFORM_SOURCES
  116. hal_lld.c
  117. nvic.c
  118. stm32_dma.c
  119. )
  120. SET(INDEX 0)
  121. FOREACH(module ${CHIBIOS_HAL_PLATFORM_MODULES})
  122. LIST(GET CHIBIOS_HAL_PLATFORM_MODULES_PATHES ${INDEX} path)
  123. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/ports/STM32/${path})
  124. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS hal_${module}_lld.h)
  125. SET(CHIBIOS_${module}_PLATFORM_SOURCES hal_${module}_lld.c)
  126. IF(${module} STREQUAL ext)
  127. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ext_PLATFORM_SEARCH_PATH} ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F1xx)
  128. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${CHIBIOS_ext_PLATFORM_SEARCH_HEADERS} hal_ext_lld_isr.h)
  129. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${CHIBIOS_ext_PLATFORM_SOURCES} hal_ext_lld_isr.c)
  130. ENDIF()
  131. MATH(EXPR INDEX "${INDEX} + 1")
  132. ENDFOREACH()
  133. ELSEIF(STM32_FAMILY STREQUAL "F4")
  134. SET(CHIBIOS_HAL_PLATFORM_MODULES adc can dac ext gpt i2c i2s icu mac pal pwm rtc sdc serial spi st uart usb)
  135. SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
  136. LLD/ADCv2
  137. LLD/CANv1
  138. LLD/DACv1
  139. LLD/EXTIv1
  140. LLD/TIMv1
  141. LLD/I2Cv1
  142. LLD/SPIv1
  143. LLD/TIMv1
  144. LLD/MACv1
  145. LLD/GPIOv2
  146. LLD/TIMv1
  147. LLD/RTCv2
  148. LLD/SDIOv1
  149. LLD/USARTv1
  150. LLD/SPIv1
  151. LLD/TIMv1
  152. LLD/USARTv1
  153. LLD/OTGv1
  154. )
  155. SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
  156. ${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
  157. ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F4xx
  158. ${CHIBIOS_ROOT}/os/hal/ports/STM32/LLD/DMAv2
  159. )
  160. SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
  161. hal_lld.h
  162. stm32_isr.h
  163. stm32_rcc.h
  164. stm32_registry.h
  165. nvic.h
  166. stm32_dma.h
  167. )
  168. SET(CHIBIOS_hal_PLATFORM_SOURCES
  169. hal_lld.c
  170. nvic.c
  171. stm32_dma.c
  172. )
  173. SET(INDEX 0)
  174. FOREACH(module ${CHIBIOS_HAL_PLATFORM_MODULES})
  175. LIST(GET CHIBIOS_HAL_PLATFORM_MODULES_PATHES ${INDEX} path)
  176. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/ports/STM32/${path})
  177. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS hal_${module}_lld.h)
  178. SET(CHIBIOS_${module}_PLATFORM_SOURCES hal_${module}_lld.c)
  179. IF(${module} STREQUAL ext)
  180. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ext_PLATFORM_SEARCH_PATH} ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F4xx)
  181. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${CHIBIOS_ext_PLATFORM_SEARCH_HEADERS} hal_ext_lld_isr.h)
  182. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${CHIBIOS_ext_PLATFORM_SOURCES} hal_ext_lld_isr.c)
  183. ENDIF()
  184. MATH(EXPR INDEX "${INDEX} + 1")
  185. ENDFOREACH()
  186. ELSEIF(STM32_FAMILY STREQUAL "L0")
  187. SET(CHIBIOS_HAL_PLATFORM_MODULES adc can dac ext gpt i2c icu pal pwm rtc serial spi st uart usb wdg)
  188. SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
  189. LLD/ADCv1
  190. LLD/CANv1
  191. LLD/DACv1
  192. LLD/EXTIv1
  193. LLD/TIMv1
  194. LLD/I2Cv2
  195. LLD/TIMv1
  196. LLD/GPIOv2
  197. LLD/TIMv1
  198. LLD/RTCv2
  199. LLD/USARTv2
  200. LLD/SPIv1
  201. LLD/TIMv1
  202. LLD/USARTv2
  203. LLD/USBv1
  204. LLD/xWDGv1
  205. )
  206. SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
  207. ${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
  208. ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32L0xx
  209. ${CHIBIOS_ROOT}/os/hal/ports/STM32/LLD/DMAv1
  210. )
  211. SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
  212. hal_lld.h
  213. stm32_isr.h
  214. stm32_rcc.h
  215. stm32_registry.h
  216. nvic.h
  217. stm32_dma.h
  218. )
  219. SET(CHIBIOS_hal_PLATFORM_SOURCES
  220. hal_lld.c
  221. nvic.c
  222. stm32_dma.c
  223. )
  224. SET(INDEX 0)
  225. FOREACH(module ${CHIBIOS_HAL_PLATFORM_MODULES})
  226. LIST(GET CHIBIOS_HAL_PLATFORM_MODULES_PATHES ${INDEX} path)
  227. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/ports/STM32/${path})
  228. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS hal_${module}_lld.h)
  229. SET(CHIBIOS_${module}_PLATFORM_SOURCES hal_${module}_lld.c)
  230. IF(${module} STREQUAL ext)
  231. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ext_PLATFORM_SEARCH_PATH} ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32L0xx)
  232. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${CHIBIOS_ext_PLATFORM_SEARCH_HEADERS} hal_ext_lld_isr.h)
  233. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${CHIBIOS_ext_PLATFORM_SOURCES} hal_ext_lld_isr.c)
  234. ENDIF()
  235. MATH(EXPR INDEX "${INDEX} + 1")
  236. ENDFOREACH()
  237. ENDIF()