ChibiOS16_HAL.cmake 8.4 KB

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