ChibiOS16_HAL.cmake 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  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 dac ext gpt i2c i2s icu mac pal pwm rtc sdc serial spi st uart usb)
  26. SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
  27. LLD/ADCv1
  28. LLD/CANv1
  29. LLD/DACv1
  30. LLD/EXTIv1
  31. LLD/TIMv1
  32. LLD/I2Cv2
  33. LLD/SPIv1
  34. LLD/TIMv1
  35. LLD/MACv1
  36. LLD/GPIOv2
  37. LLD/TIMv1
  38. LLD/RTCv2
  39. LLD/SDMMCv1
  40. LLD/USARTv2
  41. LLD/SPIv2
  42. LLD/TIMv1
  43. LLD/USARTv2
  44. LLD/USBv1
  45. LDD/DMAv1
  46. )
  47. SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
  48. ${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
  49. ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F0xx
  50. ${CHIBIOS_ROOT}/os/hal/ports/STM32/LLD/DMAv1
  51. ${CHIBIOS_ROOT}/os/hal/ports/STM32/LLD/TIMv1
  52. )
  53. SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
  54. hal_lld.h
  55. stm32_dma.h
  56. nvic.h
  57. st_lld.h
  58. )
  59. SET(CHIBIOS_hal_PLATFORM_SOURCES
  60. hal_lld.c
  61. stm32_dma.c
  62. nvic.c
  63. st_lld.c
  64. )
  65. SET(INDEX 0)
  66. FOREACH(module ${CHIBIOS_HAL_PLATFORM_MODULES})
  67. LIST(GET CHIBIOS_HAL_PLATFORM_MODULES_PATHES ${INDEX} path)
  68. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/ports/STM32/${path})
  69. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${module}_lld.h)
  70. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${module}_lld.c)
  71. IF(${module} STREQUAL ext)
  72. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ext_PLATFORM_SEARCH_PATH} ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F0xx)
  73. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${CHIBIOS_ext_PLATFORM_SEARCH_HEADERS} ext_lld_isr.h)
  74. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${CHIBIOS_ext_PLATFORM_SOURCES} ext_lld_isr.c)
  75. ENDIF()
  76. MATH(EXPR INDEX "${INDEX} + 1")
  77. ENDFOREACH()
  78. ELSEIF(STM32_FAMILY STREQUAL "F1")
  79. SET(CHIBIOS_HAL_PLATFORM_MODULES adc can dac ext gpt i2c icu pal pwm rtc sdc serial spi st uart usb)
  80. SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
  81. STM32F1xx
  82. LLD/CANv1
  83. LLD/DACv1
  84. LLD/EXTIv1
  85. LLD/TIMv1
  86. LLD/I2Cv1
  87. LLD/TIMv1
  88. LLD/GPIOv1
  89. LLD/TIMv1
  90. LLD/RTCv1
  91. LLD/SDIOv1
  92. LLD/USARTv1
  93. LLD/SPIv1
  94. LLD/TIMv1
  95. LLD/USARTv1
  96. LLD/USBv1
  97. )
  98. SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
  99. ${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
  100. ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F1xx
  101. ${CHIBIOS_ROOT}/os/hal/ports/STM32/LLD/DMAv1
  102. ${CHIBIOS_ROOT}/os/hal/ports/STM32/LLD/TIMv1
  103. )
  104. SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
  105. hal_lld.h
  106. stm32_dma.h
  107. nvic.h
  108. st_lld.h
  109. )
  110. SET(CHIBIOS_hal_PLATFORM_SOURCES
  111. hal_lld.c
  112. stm32_dma.c
  113. nvic.c
  114. st_lld.c
  115. )
  116. SET(INDEX 0)
  117. FOREACH(module ${CHIBIOS_HAL_PLATFORM_MODULES})
  118. LIST(GET CHIBIOS_HAL_PLATFORM_MODULES_PATHES ${INDEX} path)
  119. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/ports/STM32/${path})
  120. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${module}_lld.h)
  121. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${module}_lld.c)
  122. IF(${module} STREQUAL ext)
  123. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ext_PLATFORM_SEARCH_PATH} ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F1xx)
  124. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${CHIBIOS_ext_PLATFORM_SEARCH_HEADERS} ext_lld_isr.h)
  125. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${CHIBIOS_ext_PLATFORM_SOURCES} ext_lld_isr.c)
  126. ENDIF()
  127. MATH(EXPR INDEX "${INDEX} + 1")
  128. ENDFOREACH()
  129. ELSEIF(STM32_FAMILY STREQUAL "F4")
  130. SET(CHIBIOS_HAL_PLATFORM_MODULES adc can dac ext gpt i2c i2s icu mac pal pwm rtc sdc serial spi st uart usb)
  131. SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
  132. LLD/ADCv2
  133. LLD/CANv1
  134. LLD/DACv1
  135. LLD/EXTIv1
  136. LLD/TIMv1
  137. LLD/I2Cv1
  138. LLD/SPIv1
  139. LLD/TIMv1
  140. LLD/MACv1
  141. LLD/GPIOv2
  142. LLD/TIMv1
  143. LLD/RTCv2
  144. LLD/SDIOv1
  145. LLD/USARTv1
  146. LLD/SPIv1
  147. LLD/TIMv1
  148. LLD/USARTv1
  149. LLD/OTGv1
  150. )
  151. SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
  152. ${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
  153. ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F4xx
  154. ${CHIBIOS_ROOT}/os/hal/ports/STM32/LLD/TIMv1
  155. ${CHIBIOS_ROOT}/os/hal/ports/STM32/LLD/DMAv2
  156. )
  157. SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
  158. hal_lld.h
  159. stm32_dma.h
  160. nvic.h
  161. st_lld.h
  162. )
  163. SET(CHIBIOS_hal_PLATFORM_SOURCES
  164. hal_lld.c
  165. stm32_dma.c
  166. nvic.c
  167. st_lld.c
  168. )
  169. SET(INDEX 0)
  170. FOREACH(module ${CHIBIOS_HAL_PLATFORM_MODULES})
  171. LIST(GET CHIBIOS_HAL_PLATFORM_MODULES_PATHES ${INDEX} path)
  172. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/ports/STM32/${path})
  173. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${module}_lld.h)
  174. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${module}_lld.c)
  175. IF(${module} STREQUAL ext)
  176. SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ext_PLATFORM_SEARCH_PATH} ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F4xx)
  177. SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${CHIBIOS_ext_PLATFORM_SEARCH_HEADERS} ext_lld_isr.h)
  178. SET(CHIBIOS_${module}_PLATFORM_SOURCES ${CHIBIOS_ext_PLATFORM_SOURCES} ext_lld_isr.c)
  179. ENDIF()
  180. MATH(EXPR INDEX "${INDEX} + 1")
  181. ENDFOREACH()
  182. ENDIF()