Просмотр исходного кода

Community modules support for ChibiOS.

Konstantin Oblaukhov 9 лет назад
Родитель
Сommit
45f7e6b303
2 измененных файлов с 31 добавлено и 1 удалено
  1. 2 1
      cmake/ChibiOS16.cmake
  2. 29 0
      cmake/ChibiOS16_Community.cmake

+ 2 - 1
cmake/ChibiOS16.cmake

@@ -34,6 +34,7 @@ ENDIF()
 
 
 INCLUDE(ChibiOS16_LD)
 INCLUDE(ChibiOS16_LD)
 INCLUDE(ChibiOS16_HAL)
 INCLUDE(ChibiOS16_HAL)
+INCLUDE(ChibiOS16_Community)
 
 
 
 
 IF(${CHIBIOS_KERNEL} STREQUAL rt)
 IF(${CHIBIOS_KERNEL} STREQUAL rt)
@@ -44,7 +45,7 @@ ENDIF()
 
 
 INCLUDE(ChibiOS16_Various)
 INCLUDE(ChibiOS16_Various)
 
 
-SET(CHIBIOS_COMPONENTS nil rt hal ${CHIBIOS_HAL_MODULES} ${CHIBIOS_HAL_LIB_MODULES} ${CHIBIOS_VARIOUS_MODULES})
+SET(CHIBIOS_COMPONENTS nil rt hal ${CHIBIOS_HAL_MODULES} ${CHIBIOS_HAL_LIB_MODULES} ${CHIBIOS_VARIOUS_MODULES} ${CHIBIOS_COMMUNITY_MODULES})
 
 
 IF(NOT ChibiOS_LINKER_SCRIPT)
 IF(NOT ChibiOS_LINKER_SCRIPT)
     MESSAGE(STATUS "ChibiOS doesn't have linker script for your chip, please specify it directly using ChibiOS_LINKER_SCRIPT variable.")
     MESSAGE(STATUS "ChibiOS doesn't have linker script for your chip, please specify it directly using ChibiOS_LINKER_SCRIPT variable.")

+ 29 - 0
cmake/ChibiOS16_Community.cmake

@@ -0,0 +1,29 @@
+SET(CHIBIOS_COMMUNITY_MODULES community nand eicu usbh timcap qei onewire crc eeprom usb_hid usb_msd)
+
+SET(CHIBIOS_community_SEARCH_HEADERS hal_community.h)
+SET(CHIBIOS_community_SOURCES hal_community.c)
+
+FOREACH(module ${CHIBIOS_COMMUNITY_MODULES})
+    SET(CHIBIOS_${module}_SEARCH_PATH ${CHIBIOS_ROOT}/community/os/hal/include ${CHIBIOS_ROOT}/community/os/hal/src)
+    SET(CHIBIOS_${module}_SOURCES hal_${module}.c)
+    SET(CHIBIOS_${module}_SEARCH_HEADERS hal_${module}.h)
+ENDFOREACH()
+
+SET(CHIBIOS_HAL_PLATFORM_MODULES nand eicu usbh timcap qei crc)
+SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
+    LLD/FSMCv1
+    LLD/TIMv1
+    LLD/USBHv1
+    LLD/TIMv1
+    LLD/TIMv1
+    LLD/CRCv1
+)
+
+SET(INDEX 0)
+FOREACH(module ${CHIBIOS_HAL_PLATFORM_MODULES})
+    LIST(GET CHIBIOS_HAL_PLATFORM_MODULES_PATHES ${INDEX} path)
+    SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ROOT}/community/os/hal/ports/STM32/${path})
+    SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS hal_${module}_lld.h)
+    SET(CHIBIOS_${module}_PLATFORM_SOURCES hal_${module}_lld.c)
+    MATH(EXPR INDEX "${INDEX} + 1")
+ENDFOREACH()