src.dualinventive.com/dinet/libdi_fw/common/cmake/modules_fw/ChibiOS3_HAL.cmake

193 lines
6.2 KiB
CMake

SET(CHIBIOS_HAL_LIB_MODULES chprintf memstreams nullstreams)
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)
IF(${CHIBIOS_KERNEL} STREQUAL nil)
SET(CHIBIOS_OSAL_PATH ${CHIBIOS_ROOT}/os/hal/osal/nil)
ELSE()
SET(CHIBIOS_OSAL_PATH ${CHIBIOS_ROOT}/os/hal/osal/rt)
ENDIF()
SET(CHIBIOS_hal_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/include ${CHIBIOS_ROOT}/os/hal/src/ ${CHIBIOS_OSAL_PATH})
SET(CHIBIOS_hal_SEARCH_HEADERS hal.h osal.h)
SET(CHIBIOS_hal_SOURCES hal.c hal_queues.c osal.c)
FOREACH(module ${CHIBIOS_HAL_MODULES})
SET(CHIBIOS_${module}_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/include ${CHIBIOS_ROOT}/os/hal/src)
SET(CHIBIOS_${module}_SOURCES ${module}.c)
SET(CHIBIOS_${module}_SEARCH_HEADERS ${module}.h)
IF(${module} STREQUAL mmcsd)
SET(CHIBIOS_${module}_SOURCES hal_mmcsd.c)
ENDIF()
ENDFOREACH()
FOREACH(module ${CHIBIOS_HAL_LIB_MODULES})
SET(CHIBIOS_${module}_SEARCH_PATH ${CHIBIOS_ROOT}/os/hal/lib/streams)
SET(CHIBIOS_${module}_SOURCES ${module}.c)
SET(CHIBIOS_${module}_SEARCH_HEADERS ${module}.h)
ENDFOREACH()
IF(STM32_FAMILY STREQUAL "F0")
SET(CHIBIOS_HAL_PLATFORM_MODULES adc can ext gpt i2c i2s icu mac pal pwm rtc sdc serial spi st uart usb)
SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
STM32F0xx
LLD
LLD
LLD/TIMv1
LLD/I2Cv2
LLD/SPIv1
LLD/TIMv1
LLD
LLD/GPIOv2
LLD/TIMv1
LLD/RTCv2
LLD
LLD/USARTv2
LLD/SPIv2
LLD/TIMv1
LLD/USARTv2
LLD/USBv1
)
SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F0xx
${CHIBIOS_ROOT}/os/hal/ports/STM32/LLD
)
SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
hal_lld.h
stm32_dma.h
nvic.h
)
SET(CHIBIOS_hal_PLATFORM_SOURCES
hal_lld.c
stm32_dma.c
nvic.c
)
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}/os/hal/ports/STM32/${path})
SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${module}_lld.h)
SET(CHIBIOS_${module}_PLATFORM_SOURCES ${module}_lld.c)
IF(${module} STREQUAL ext)
SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ext_PLATFORM_SEARCH_PATH} ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F0xx)
SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${CHIBIOS_ext_PLATFORM_SEARCH_HEADERS} ext_lld_isr.h)
SET(CHIBIOS_${module}_PLATFORM_SOURCES ${CHIBIOS_ext_PLATFORM_SOURCES} ext_lld_isr.c)
ENDIF()
MATH(EXPR INDEX "${INDEX} + 1")
ENDFOREACH()
ELSEIF(STM32_FAMILY STREQUAL "F1")
SET(CHIBIOS_HAL_PLATFORM_MODULES adc can ext gpt i2c i2s icu mac pal pwm rtc sdc serial spi st uart usb)
SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
STM32F1xx
LLD
LLD
LLD/TIMv1
LLD/I2Cv1
LLD/SPIv1
LLD/TIMv1
LLD
LLD/GPIOv1
LLD/TIMv1
LLD/RTCv1
LLD
LLD/USARTv1
LLD/SPIv1
LLD/TIMv1
LLD/USARTv1
LLD/USBv1
)
SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F1xx
${CHIBIOS_ROOT}/os/hal/ports/STM32
)
SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
hal_lld.h
stm32_dma.h
nvic.h
)
SET(CHIBIOS_hal_PLATFORM_SOURCES
hal_lld.c
stm32_dma.c
nvic.c
)
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}/os/hal/ports/STM32/${path})
SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${module}_lld.h)
SET(CHIBIOS_${module}_PLATFORM_SOURCES ${module}_lld.c)
IF(${module} STREQUAL ext)
SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ext_PLATFORM_SEARCH_PATH} ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F1xx)
SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${CHIBIOS_ext_PLATFORM_SEARCH_HEADERS} ext_lld_isr.h)
SET(CHIBIOS_${module}_PLATFORM_SOURCES ${CHIBIOS_ext_PLATFORM_SOURCES} ext_lld_isr.c)
ENDIF()
MATH(EXPR INDEX "${INDEX} + 1")
ENDFOREACH()
ELSEIF(STM32_FAMILY STREQUAL "F4")
SET(CHIBIOS_HAL_PLATFORM_MODULES adc can dac ext gpt i2c i2s icu mac pal pwm rtc sdc serial spi st uart usb)
SET(CHIBIOS_HAL_PLATFORM_MODULES_PATHES
STM32F4xx
LLD
LLD/DACv1
LLD
LLD/TIMv1
LLD/I2Cv1
LLD/SPIv1
LLD/TIMv1
LLD
LLD/GPIOv2
LLD/TIMv1
LLD/RTCv2
LLD
LLD/USARTv1
LLD/SPIv1
LLD/TIMv1
LLD/USARTv1
LLD/OTGv1
)
SET(CHIBIOS_hal_PLATFORM_SEARCH_PATH
${CHIBIOS_ROOT}/os/hal/ports/common/ARMCMx
${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F4xx
${CHIBIOS_ROOT}/os/hal/ports/STM32
${CHIBIOS_ROOT}/os/hal/ports/STM32/LLD/DMAv2
)
SET(CHIBIOS_hal_PLATFORM_SEARCH_HEADERS
hal_lld.h
stm32_dma.h
nvic.h
)
SET(CHIBIOS_hal_PLATFORM_SOURCES
hal_lld.c
stm32_dma.c
nvic.c
)
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}/os/hal/ports/STM32/${path})
SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${module}_lld.h)
SET(CHIBIOS_${module}_PLATFORM_SOURCES ${module}_lld.c)
IF(${module} STREQUAL ext)
SET(CHIBIOS_${module}_PLATFORM_SEARCH_PATH ${CHIBIOS_ext_PLATFORM_SEARCH_PATH} ${CHIBIOS_ROOT}/os/hal/ports/STM32/STM32F4xx)
SET(CHIBIOS_${module}_PLATFORM_SEARCH_HEADERS ${CHIBIOS_ext_PLATFORM_SEARCH_HEADERS} ext_lld_isr.h)
SET(CHIBIOS_${module}_PLATFORM_SOURCES ${CHIBIOS_ext_PLATFORM_SOURCES} ext_lld_isr.c)
ENDIF()
MATH(EXPR INDEX "${INDEX} + 1")
ENDFOREACH()
ENDIF()