mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-16 12:51:47 +00:00
some chibios experiments
This commit is contained in:
parent
a1cb005981
commit
cc22d67b32
@ -1,5 +1,7 @@
|
||||
include(ParseMakefile)
|
||||
|
||||
# STM32F303
|
||||
|
||||
set(MCU "cortex-m4")
|
||||
set(ARMV 7)
|
||||
set(MCU_FAMILY "STM32")
|
||||
@ -10,220 +12,207 @@ set(BOARD "GENERIC_STM32_F303XC")
|
||||
set(USE_FPU TRUE)
|
||||
set(UF2_FAMILY "STM32F3")
|
||||
set(STM32_BOOTLOADER_ADDRESS 0x1FFFD800)
|
||||
set(EEPROM_DRIVER "wear_leveling" CACHE STRING "" FORCE)
|
||||
|
||||
set(MCU_PORT_NAME ${MCU_FAMILY})
|
||||
# platforms/chibios/platform.mk
|
||||
|
||||
if(NOT DEFINED MCU_PORT_NAME)
|
||||
set(MCU_PORT_NAME ${MCU_FAMILY})
|
||||
endif()
|
||||
set(MCU_ARCH ${MCU})
|
||||
set(CHIBIOS_PORT "ARMv${ARMV}-M")
|
||||
set(PLATFORM_NAME platform)
|
||||
if(NOT DEFINED CHIBIOS_PORT)
|
||||
set(CHIBIOS_PORT "ARMv${ARMV}-M")
|
||||
endif()
|
||||
if(NOT DEFINED PLATFORM_NAME)
|
||||
set(PLATFORM_NAME platform)
|
||||
endif()
|
||||
|
||||
set(CHIBIOS ${CMAKE_SOURCE_DIR}/lib/chibios)
|
||||
set(CHIBIOS_CONTRIB ${CMAKE_SOURCE_DIR}/lib/chibios-contrib)
|
||||
set(EEPROM_DRIVER "wear_leveling" CACHE STRING "" FORCE)
|
||||
|
||||
# target_compile_definitions(qmk PUBLIC
|
||||
# __ARM_ARCH_7M__
|
||||
# STM32F303xC
|
||||
# )
|
||||
# port*.mk
|
||||
include(chibios/ports/${CHIBIOS_PORT})
|
||||
|
||||
# F3 sources
|
||||
set(CHIBIOS_PORT_SRCS
|
||||
# RT
|
||||
chcore.c
|
||||
chcoreasm.S
|
||||
# platform.mk
|
||||
include(chibios/ports/${MCU_SERIES})
|
||||
|
||||
# startup_*.mk - might need to convert these
|
||||
find_file(STARTUP_MK startup_${MCU_STARTUP}.mk
|
||||
${CHIBIOS}/os/common/ports/ARMCMx/compilers/GCC/mk
|
||||
${CHIBIOS}/os/common/startup/ARMCMx/compilers/GCC/mk
|
||||
${CHIBIOS_CONTRIB}/os/common/startup/ARMCMx/compilers/GCC/mk
|
||||
)
|
||||
foreach(SRC_FILE ${CHIBIOS_PORT_SRCS})
|
||||
set(CHIBIOS_F3_SRC_FILE SRC_FILE-NOTFOUND)
|
||||
find_file(CHIBIOS_F3_SRC_FILE ${SRC_FILE}
|
||||
PATHS
|
||||
${CHIBIOS}/os/common/ports/ARMv7-M/compilers/GCC
|
||||
${CHIBIOS}/os/common/ports/ARMv7-M
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
)
|
||||
ParseMakefile(${STARTUP_MK})
|
||||
target_sources(qmk PUBLIC ${STARTUPSRC} ${STARTUPASM})
|
||||
target_include_directories(qmk PUBLIC ${STARTUPINC})
|
||||
|
||||
target_sources(qmk PUBLIC ${CHIBIOS_F3_SRC_FILE})
|
||||
endforeach()
|
||||
# board paths - we should just standardize these
|
||||
find_path(BOARD_PATH
|
||||
NAMES
|
||||
boards/${BOARD}/board.mk
|
||||
board/board.mk
|
||||
PATHS
|
||||
${QMK_KEYBOARD_FOLDER}/boards/${BOARD}
|
||||
${CMAKE_SOURCE_DIR}/platforms/chibios/boards/${BOARD}
|
||||
)
|
||||
find_file(BOARD_MK board.mk
|
||||
${BOARD_PATH}/boards/${BOARD}
|
||||
${BOARD_PATH}/board
|
||||
)
|
||||
ParseMakefile(${BOARD_MK})
|
||||
target_sources(qmk PUBLIC ${BOARDSRC})
|
||||
target_include_directories(qmk PUBLIC ${BOARDINC})
|
||||
|
||||
target_include_directories(qmk PUBLIC
|
||||
${CHIBIOS}/os/common/ports/ARMv7-M
|
||||
${CHIBIOS}/os/hal/boards/ST_STM32F3_DISCOVERY
|
||||
# bootloader
|
||||
if(DEFINED STM32_BOOTLOADER_ADDRESS)
|
||||
target_compile_definitions(qmk PUBLIC STM32_BOOTLOADER_ADDRESS=${STM32_BOOTLOADER_ADDRESS})
|
||||
endif()
|
||||
if(DEFINED WB32_BOOTLOADER_ADDRESS)
|
||||
target_compile_definitions(qmk PUBLIC WB32_BOOTLOADER_ADDRESS=${WB32_BOOTLOADER_ADDRESS})
|
||||
endif()
|
||||
|
||||
find_file(BOOTLOADER_DEFS_H bootloader_defs.h
|
||||
${QMK_KEYBOARD_FOLDER}
|
||||
${QMK_KEYBOARD_FOLDER}/boards/${BOARD}
|
||||
${BOARD_PATH}/configs
|
||||
)
|
||||
if(EXISTS ${BOOTLOADER_DEFS_H})
|
||||
target_compile_options(qmk PUBLIC -include ${BOOTLOADER_DEFS_H})
|
||||
endif()
|
||||
|
||||
# chconf directories
|
||||
find_path(CHCONFDIR chconf.h
|
||||
${QMK_KEYBOARD_FOLDER}
|
||||
${CMAKE_SOURCE_DIR}/platforms/chibios/boards/${BOARD}/configs
|
||||
${CMAKE_SOURCE_DIR}/platforms/chibios/boards/common/configs
|
||||
)
|
||||
target_include_directories(qmk PUBLIC ${CHCONFDIR})
|
||||
|
||||
# halconf directories
|
||||
find_path(HALCONFDIR halconf.h
|
||||
${QMK_KEYBOARD_FOLDER}
|
||||
${CMAKE_SOURCE_DIR}/platforms/chibios/boards/${BOARD}/configs
|
||||
${CMAKE_SOURCE_DIR}/platforms/chibios/boards/common/configs
|
||||
)
|
||||
target_include_directories(qmk PUBLIC ${HALCONFDIR})
|
||||
|
||||
# linker script
|
||||
find_file(LDSCRIPT ${MCU_LDSCRIPT}.ld
|
||||
${QMK_KEYBOARD_FOLDER}/ld
|
||||
${CMAKE_SOURCE_DIR}/platforms/chibios/boards/${BOARD}/ld
|
||||
${CMAKE_SOURCE_DIR}/platforms/chibios/boards/common/ld
|
||||
)
|
||||
|
||||
# F3 HAL specific
|
||||
# os/hal/hal.mk
|
||||
target_sources(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/src/hal.c
|
||||
${CHIBIOS}/os/hal/src/hal_st.c
|
||||
${CHIBIOS}/os/hal/src/hal_buffers.c
|
||||
${CHIBIOS}/os/hal/src/hal_queues.c
|
||||
${CHIBIOS}/os/hal/src/hal_flash.c
|
||||
${CHIBIOS}/os/hal/src/hal_mmcsd.c
|
||||
${CHIBIOS}/os/hal/src/hal_adc.c
|
||||
${CHIBIOS}/os/hal/src/hal_can.c
|
||||
${CHIBIOS}/os/hal/src/hal_crypto.c
|
||||
${CHIBIOS}/os/hal/src/hal_dac.c
|
||||
${CHIBIOS}/os/hal/src/hal_efl.c
|
||||
${CHIBIOS}/os/hal/src/hal_gpt.c
|
||||
${CHIBIOS}/os/hal/src/hal_i2c.c
|
||||
${CHIBIOS}/os/hal/src/hal_i2s.c
|
||||
${CHIBIOS}/os/hal/src/hal_icu.c
|
||||
${CHIBIOS}/os/hal/src/hal_mac.c
|
||||
${CHIBIOS}/os/hal/src/hal_mmc_spi.c
|
||||
${CHIBIOS}/os/hal/src/hal_pal.c
|
||||
${CHIBIOS}/os/hal/src/hal_pwm.c
|
||||
${CHIBIOS}/os/hal/src/hal_rtc.c
|
||||
${CHIBIOS}/os/hal/src/hal_sdc.c
|
||||
${CHIBIOS}/os/hal/src/hal_serial.c
|
||||
${CHIBIOS}/os/hal/src/hal_serial_usb.c
|
||||
${CHIBIOS}/os/hal/src/hal_sio.c
|
||||
${CHIBIOS}/os/hal/src/hal_spi.c
|
||||
${CHIBIOS}/os/hal/src/hal_trng.c
|
||||
${CHIBIOS}/os/hal/src/hal_uart.c
|
||||
${CHIBIOS}/os/hal/src/hal_usb.c
|
||||
${CHIBIOS}/os/hal/src/hal_wdg.c
|
||||
${CHIBIOS}/os/hal/src/hal_wspi.c
|
||||
)
|
||||
target_include_directories(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/ports/common/ARMCMx
|
||||
${CHIBIOS}/os/hal/include
|
||||
${CHIBIOS}/os/hal/ports/STM32/STM32F3xx
|
||||
|
||||
${CHIBIOS}/os/common/portability/GCC
|
||||
${CHIBIOS}/os/common/ports/ARM-common
|
||||
${CHIBIOS}/os/common/ports/ARMv7-M
|
||||
${CHIBIOS}/os/common/startup/ARMCMx/compilers/GCC
|
||||
${CHIBIOS}/os/common/startup/ARMCMx/devices/STM32F3xx
|
||||
${CHIBIOS}/os/common/ext/ARM/CMSIS/Core/Include
|
||||
${CHIBIOS}/os/common/ext/ST/STM32F3xx
|
||||
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/ADCv3
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/CANv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/DACv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/DMAv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/EXTIv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv2
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv2
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv2
|
||||
# ${CHIBIOS}/os/hal/ports/STM32/LLD/SDIOv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/SYSTICKv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1
|
||||
# ${CHIBIOS}/os/hal/ports/STM32/LLD/USART
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv2
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/USBv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/xWDGv1
|
||||
)
|
||||
|
||||
# source files for ChibiOS HAL
|
||||
set(CHIBIOS_HAL_SRCS
|
||||
|
||||
# startup code
|
||||
crt1.c
|
||||
vectors.S
|
||||
crt0_v7m.S
|
||||
|
||||
nvic.c
|
||||
stm32_isr.c
|
||||
|
||||
# HAL-OSAL files
|
||||
hal.c
|
||||
hal_st.c
|
||||
|
||||
hal_buffers.c
|
||||
hal_queues.c
|
||||
hal_flash.c
|
||||
hal_mmcsd.c
|
||||
|
||||
hal_adc.c
|
||||
hal_can.c
|
||||
# hal_crypto.c
|
||||
hal_dac.c
|
||||
hal_efl.c
|
||||
hal_gpt.c
|
||||
hal_i2c.c
|
||||
hal_i2s.c
|
||||
hal_icu.c
|
||||
hal_mac.c
|
||||
hal_mmc_spi.c
|
||||
hal_pal.c
|
||||
hal_pwm.c
|
||||
hal_rtc.c
|
||||
hal_sdc.c
|
||||
hal_serial.c
|
||||
hal_serial_usb.c
|
||||
hal_sio.c
|
||||
hal_spi.c
|
||||
hal_trng.c
|
||||
hal_uart.c
|
||||
hal_usb.c
|
||||
hal_wdg.c
|
||||
hal_wspi.c
|
||||
|
||||
# LLD HAL files
|
||||
hal_lld.c
|
||||
|
||||
hal_adc_lld.c
|
||||
hal_can_lld.c
|
||||
hal_crypto_lld.c
|
||||
hal_dac_lld.c
|
||||
stm32_dma.c
|
||||
stm32_exti.c
|
||||
hal_pal_lld.c
|
||||
hal_i2c_lld.c
|
||||
hal_mac_lld.c
|
||||
hal_usb_lld.c
|
||||
hal_wspi_lld.c
|
||||
hal_trng_lld.c
|
||||
hal_rtc_lld.c
|
||||
hal_sdc_lld.c
|
||||
|
||||
hal_i2s_lld.c
|
||||
hal_spi_v2_lld.c
|
||||
|
||||
hal_st_lld.c
|
||||
hal_gpt_lld.c
|
||||
hal_icu_lld.c
|
||||
hal_pwm_lld.c
|
||||
|
||||
hal_serial_lld.c
|
||||
hal_uart_lld.c
|
||||
|
||||
hal_wdg_lld.c
|
||||
|
||||
# OSAL
|
||||
osal.c
|
||||
|
||||
board.c
|
||||
# os/hal/osal/rt-nil/osal.mk
|
||||
target_sources(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/osal/rt-nil/osal.c
|
||||
)
|
||||
|
||||
foreach(SRC_FILE ${CHIBIOS_HAL_SRCS})
|
||||
|
||||
set(CHIBIOS_HAL_SRC_FILE SRC_FILE -NOTFOUND)
|
||||
|
||||
find_file(CHIBIOS_HAL_SRC_FILE ${SRC_FILE}
|
||||
PATHS
|
||||
|
||||
${CHIBIOS}/os/common/ports/ARMv7-M/compilers/GCC
|
||||
${CHIBIOS}/os/common/startup/ARMCMx/compilers/GCC
|
||||
|
||||
${CHIBIOS}/os/hal/src
|
||||
${CHIBIOS}/os/hal/ports/common/ARMCMx
|
||||
|
||||
${CHIBIOS}/os/hal/ports/STM32/STM32F3xx
|
||||
|
||||
${CHIBIOS}/os/hal/ports/STM32/STM32F3xx
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/ADCv3
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/CANv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/DACv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/DMAv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/EXTIv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv2
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv2
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv2
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv2
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/SYSTICKv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/USBv1
|
||||
${CHIBIOS}/os/hal/ports/STM32/LLD/xWDGv1
|
||||
|
||||
# ${OSHAL_PATH}
|
||||
|
||||
# ${CHIBIOS_BOARD_DEFINITIONS_PATH}
|
||||
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
)
|
||||
if(EXISTS "${CHIBIOS_HAL_SRC_FILE}")
|
||||
target_sources(qmk PUBLIC ${CHIBIOS_HAL_SRC_FILE})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# chibios
|
||||
target_include_directories(qmk PUBLIC
|
||||
# ${CHIBIOS}/os/hal/include
|
||||
# ${CHIBIOS}/os/hal/osal/sb
|
||||
# ${CHIBIOS}/os/common/portability/GCC
|
||||
# ${CHIBIOS}/os/sb/user
|
||||
# ${CHIBIOS}/os/sb/common
|
||||
|
||||
${CHIBIOS}/os
|
||||
${CHIBIOS}/os/license
|
||||
${CHIBIOS}/os/hal/ports/common/ARMCMx
|
||||
${CHIBIOS}/os/hal/include
|
||||
${CHIBIOS}/os/hal/osal/rt-nil
|
||||
${CHIBIOS}/os/oslib/include
|
||||
)
|
||||
|
||||
# os/rt/rt.mk
|
||||
target_sources(qmk PUBLIC
|
||||
${CHIBIOS}/os/rt/src/chsys.c
|
||||
${CHIBIOS}/os/rt/src/chrfcu.c
|
||||
${CHIBIOS}/os/rt/src/chdebug.c
|
||||
${CHIBIOS}/os/rt/src/chtrace.c
|
||||
${CHIBIOS}/os/rt/src/chvt.c
|
||||
${CHIBIOS}/os/rt/src/chschd.c
|
||||
${CHIBIOS}/os/rt/src/chinstances.c
|
||||
${CHIBIOS}/os/rt/src/chthreads.c
|
||||
${CHIBIOS}/os/rt/src/chsys.c
|
||||
${CHIBIOS}/os/rt/src/chrfcu.c
|
||||
${CHIBIOS}/os/rt/src/chdebug.c
|
||||
${CHIBIOS}/os/rt/src/chtrace.c
|
||||
${CHIBIOS}/os/rt/src/chvt.c
|
||||
${CHIBIOS}/os/rt/src/chschd.c
|
||||
${CHIBIOS}/os/rt/src/chinstances.c
|
||||
${CHIBIOS}/os/rt/src/chthreads.c
|
||||
${CHIBIOS}/os/rt/src/chtm.c
|
||||
${CHIBIOS}/os/rt/src/chstats.c
|
||||
${CHIBIOS}/os/rt/src/chregistry.c
|
||||
${CHIBIOS}/os/rt/src/chsem.c
|
||||
${CHIBIOS}/os/rt/src/chmtx.c
|
||||
${CHIBIOS}/os/rt/src/chcond.c
|
||||
${CHIBIOS}/os/rt/src/chevents.c
|
||||
${CHIBIOS}/os/rt/src/chmsg.c
|
||||
${CHIBIOS}/os/rt/src/chdynamic.c
|
||||
)
|
||||
target_include_directories(qmk PUBLIC
|
||||
${CHIBIOS}/os/rt/include
|
||||
${CHIBIOS}/os/hal/ports/STM32/${MCU_SERIES}
|
||||
${CHIBIOS}/os/common/ports/ARMv7-M
|
||||
${CHIBIOS}/os/common/ports/ARMv7-M/compilers/GCC
|
||||
${CHIBIOS}/os/common/abstractions/cmsis_os
|
||||
${CHIBIOS}/os/common/startup/ARMCMx/compilers/GCC
|
||||
${CHIBIOS}/os/common/ext/CMSIS/include
|
||||
${CHIBIOS}/os/common/ext/CMSIS/ST/${MCU_SERIES}
|
||||
)
|
||||
|
||||
# os/oslib/oslib.mk
|
||||
target_sources(qmk PUBLIC
|
||||
${CHIBIOS}/os/oslib/src/chmboxes.c
|
||||
${CHIBIOS}/os/oslib/src/chmemcore.c
|
||||
${CHIBIOS}/os/oslib/src/chmemheaps.c
|
||||
${CHIBIOS}/os/oslib/src/chmempools.c
|
||||
${CHIBIOS}/os/oslib/src/chpipes.c
|
||||
${CHIBIOS}/os/oslib/src/chobjcaches.c
|
||||
${CHIBIOS}/os/oslib/src/chdelegates.c
|
||||
${CHIBIOS}/os/oslib/src/chfactory.c
|
||||
)
|
||||
target_include_directories(qmk PUBLIC
|
||||
${CHIBIOS}/os/oslib/include
|
||||
)
|
||||
|
||||
# os/hal/lib/streams/streams.mk
|
||||
target_sources(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/lib/streams/chprintf.c
|
||||
${CHIBIOS}/os/hal/lib/streams/chscanf.c
|
||||
${CHIBIOS}/os/hal/lib/streams/memstreams.c
|
||||
${CHIBIOS}/os/hal/lib/streams/nullstreams.c
|
||||
${CHIBIOS}/os/hal/lib/streams/bufstreams.c
|
||||
)
|
||||
target_include_directories(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/lib/streams
|
||||
)
|
||||
|
||||
# resume platform.mk
|
||||
target_sources(qmk PUBLIC
|
||||
${CHIBIOS}/os/various/syscalls.c
|
||||
)
|
||||
target_include_directories(qmk PUBLIC
|
||||
${CHIBIOS}/os/license
|
||||
${CHIBIOS}/os/oslib/include
|
||||
${CHIBIOS}/os/various
|
||||
)
|
@ -12,14 +12,19 @@ function(ParseMakefile MKFile)
|
||||
endfunction()
|
||||
|
||||
macro(_ParseMakefile MKFile)
|
||||
message(STATUS "Parsing ${MKFile}")
|
||||
file(READ "${MKFile}" FileContents)
|
||||
string(REPLACE "\\\n" "" FileContents ${FileContents})
|
||||
string(REPLACE "\n" ";" FileLines ${FileContents})
|
||||
string(REGEX REPLACE "\\\\\r?\n *" " " FileContents ${FileContents})
|
||||
string(REGEX REPLACE "\r?\n" ";" FileLines ${FileContents})
|
||||
list(REMOVE_ITEM FileLines "")
|
||||
foreach(line ${FileLines})
|
||||
# if(line MATCHES "$\\((.+)\\)")
|
||||
# string(REPLACE "(${CMAKE_MATCH_1})" "{${CMAKE_MATCH_1}}" line ${line})
|
||||
# if(line MATCHES "\\$\\((.+)\\)")
|
||||
# set(MAKE_VARIABLE "${CMAKE_MATCH_1}")
|
||||
# string(REPLACE "$(${MAKE_VARIABLE})" "${${MAKE_VARIABLE}}" line ${line})
|
||||
# endif()
|
||||
# message(STATUS "From: ${line}")
|
||||
string(REGEX REPLACE "\\$\\(([^\\(\\)]+)\\)" "${CHIBIOS}" line ${line})
|
||||
# message(STATUS "To : ${line}")
|
||||
# if(line MATCHES "^include (.+)$")
|
||||
# set(MAKE_CHILD ${CMAKE_MATCH_1})
|
||||
# message(STATUS "Reading ${MAKE_CHILD}")
|
||||
|
2
cmake/chibios/LLD/ADCv3.cmake
Normal file
2
cmake/chibios/LLD/ADCv3.cmake
Normal file
@ -0,0 +1,2 @@
|
||||
target_sources(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/ADCv3/hal_adc_lld.c)
|
||||
target_include_directories(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/ADCv3)
|
2
cmake/chibios/LLD/CANv1.cmake
Normal file
2
cmake/chibios/LLD/CANv1.cmake
Normal file
@ -0,0 +1,2 @@
|
||||
target_sources(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/CANv1/hal_can_lld.c)
|
||||
target_include_directories(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/CANv1)
|
2
cmake/chibios/LLD/DACv1.cmake
Normal file
2
cmake/chibios/LLD/DACv1.cmake
Normal file
@ -0,0 +1,2 @@
|
||||
target_sources(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/DACv1/hal_dac_lld.c)
|
||||
target_include_directories(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/DACv1)
|
2
cmake/chibios/LLD/DMAv1.cmake
Normal file
2
cmake/chibios/LLD/DMAv1.cmake
Normal file
@ -0,0 +1,2 @@
|
||||
target_sources(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/DMAv1/stm32_dma.c)
|
||||
target_include_directories(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/DMAv1)
|
2
cmake/chibios/LLD/EXTIv1.cmake
Normal file
2
cmake/chibios/LLD/EXTIv1.cmake
Normal file
@ -0,0 +1,2 @@
|
||||
target_sources(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/EXTIv1/stm32_exti.c)
|
||||
target_include_directories(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/EXTIv1)
|
2
cmake/chibios/LLD/GPIOv2.cmake
Normal file
2
cmake/chibios/LLD/GPIOv2.cmake
Normal file
@ -0,0 +1,2 @@
|
||||
target_sources(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/GPIOv2/hal_pal_lld.c)
|
||||
target_include_directories(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/GPIOv2)
|
7
cmake/chibios/LLD/I2Cv2.cmake
Normal file
7
cmake/chibios/LLD/I2Cv2.cmake
Normal file
@ -0,0 +1,7 @@
|
||||
if(${USE_HAL_I2C_FALLBACK})
|
||||
target_sources(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/I2C/hal_i2c_lld.c)
|
||||
target_include_directories(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/I2C)
|
||||
else()
|
||||
target_sources(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/I2Cv2/hal_i2c_lld.c)
|
||||
target_include_directories(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/I2Cv2)
|
||||
endif()
|
2
cmake/chibios/LLD/RTCv2.cmake
Normal file
2
cmake/chibios/LLD/RTCv2.cmake
Normal file
@ -0,0 +1,2 @@
|
||||
target_sources(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/RTCv2/hal_rtc_lld.c)
|
||||
target_include_directories(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/RTCv2)
|
5
cmake/chibios/LLD/SPIv2.cmake
Normal file
5
cmake/chibios/LLD/SPIv2.cmake
Normal file
@ -0,0 +1,5 @@
|
||||
target_sources(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/SPIv2/hal_i2s_lld.c
|
||||
${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/SPIv2/hal_spi_v2_lld.c
|
||||
)
|
||||
target_include_directories(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/SPIv2)
|
2
cmake/chibios/LLD/SYSTICKv1.cmake
Normal file
2
cmake/chibios/LLD/SYSTICKv1.cmake
Normal file
@ -0,0 +1,2 @@
|
||||
target_sources(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/SYSTICKv1/hal_st_lld.c)
|
||||
target_include_directories(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/SYSTICKv1)
|
6
cmake/chibios/LLD/TIMv1.cmake
Normal file
6
cmake/chibios/LLD/TIMv1.cmake
Normal file
@ -0,0 +1,6 @@
|
||||
target_sources(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/TIMv1/hal_gpt_lld.c
|
||||
${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/TIMv1/hal_icu_lld.c
|
||||
${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/TIMv1/hal_pwm_lld.c
|
||||
)
|
||||
target_include_directories(qmk PUBLIC ${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/TIMv1)
|
9
cmake/chibios/LLD/USARTv2.cmake
Normal file
9
cmake/chibios/LLD/USARTv2.cmake
Normal file
@ -0,0 +1,9 @@
|
||||
target_sources(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/USARTv2/hal_serial_lld.c
|
||||
${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/USARTv2/hal_sio_lld.c
|
||||
${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/USARTv2/hal_uart_lld.c
|
||||
)
|
||||
target_include_directories(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/USART
|
||||
${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/USARTv2
|
||||
)
|
6
cmake/chibios/LLD/USBv1.cmake
Normal file
6
cmake/chibios/LLD/USBv1.cmake
Normal file
@ -0,0 +1,6 @@
|
||||
target_sources(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/USBv1/hal_usb_lld.c
|
||||
)
|
||||
target_include_directories(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/USBv1
|
||||
)
|
6
cmake/chibios/LLD/xWDGv1.cmake
Normal file
6
cmake/chibios/LLD/xWDGv1.cmake
Normal file
@ -0,0 +1,6 @@
|
||||
target_sources(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/xWDGv1/hal_wdg_lld.c
|
||||
)
|
||||
target_include_directories(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/ports/${MCU_PORT_NAME}/LLD/xWDGv1
|
||||
)
|
10
cmake/chibios/ports/ARMv7-M.cmake
Normal file
10
cmake/chibios/ports/ARMv7-M.cmake
Normal file
@ -0,0 +1,10 @@
|
||||
# os/common/ports/ARMv7/compilers/GCC/mk/port.mk
|
||||
target_sources(qmk PUBLIC
|
||||
${CHIBIOS}/os/common/ports/ARMv7-M/chcore.c
|
||||
${CHIBIOS}/os/common/ports/ARMv7-M/compilers/GCC/chcoreasm.S
|
||||
)
|
||||
target_include_directories(qmk PUBLIC
|
||||
${CHIBIOS}/os/common/portability/GCC
|
||||
${CHIBIOS}/os/common/ports/ARM-common
|
||||
${CHIBIOS}/os/common/ports/ARMv7-M
|
||||
)
|
25
cmake/chibios/ports/STM32F3xx.cmake
Normal file
25
cmake/chibios/ports/STM32F3xx.cmake
Normal file
@ -0,0 +1,25 @@
|
||||
# os/hal/ports/STM32/STM32F3xx/platform.mk
|
||||
target_sources(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/ports/common/ARMCMx/nvic.c
|
||||
${CHIBIOS}/os/hal/ports/STM32/STM32F3xx/stm32_isr.c
|
||||
${CHIBIOS}/os/hal/ports/STM32/STM32F3xx/hal_lld.c
|
||||
${CHIBIOS}/os/hal/ports/STM32/STM32F3xx/hal_efl_lld.c
|
||||
)
|
||||
target_include_directories(qmk PUBLIC
|
||||
${CHIBIOS}/os/hal/ports/common/ARMCMx
|
||||
${CHIBIOS}/os/hal/ports/STM32/STM32F3xx
|
||||
)
|
||||
include(chibios/LLD/ADCv3)
|
||||
include(chibios/LLD/CANv1)
|
||||
include(chibios/LLD/DACv1)
|
||||
include(chibios/LLD/DMAv1)
|
||||
include(chibios/LLD/EXTIv1)
|
||||
include(chibios/LLD/GPIOv2)
|
||||
include(chibios/LLD/I2Cv2)
|
||||
include(chibios/LLD/RTCv2)
|
||||
include(chibios/LLD/SPIv2)
|
||||
include(chibios/LLD/SYSTICKv1)
|
||||
include(chibios/LLD/TIMv1)
|
||||
include(chibios/LLD/USARTv2)
|
||||
include(chibios/LLD/USBv1)
|
||||
include(chibios/LLD/xWDGv1)
|
@ -1,4 +1,4 @@
|
||||
find_package(chibios REQUIRED)
|
||||
find_package(Chibios REQUIRED)
|
||||
|
||||
target_link_options(qmk PUBLIC
|
||||
-mcpu=${QMK_MCU}
|
||||
@ -30,8 +30,12 @@ else()
|
||||
)
|
||||
endif()
|
||||
|
||||
# add_library(platforms_chibios)
|
||||
target_sources(qmk PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/syscall-fallbacks.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/wait.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/synchronization_util.c
|
||||
)
|
||||
|
||||
target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/boards/common/configs)
|
||||
target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/boards/${BOARD}/configs)
|
||||
# target_link_libraries(platforms_chibios ${QMK_TARGET})
|
||||
target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/boards/${BOARD}/configs)
|
@ -33,7 +33,3 @@ target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/bootmagic)
|
||||
# target_link_libraries(quantum platforms_${QMK_PLATFORM})
|
||||
# target_link_libraries(quantum tmk_core_protocol)
|
||||
# target_link_libraries(quantum tmk_core_protocol_${QMK_PROTOCOL})
|
||||
|
||||
# if no printf
|
||||
target_sources(qmk PUBLIC ${CMAKE_SOURCE_DIR}/lib/printf/src/printf/printf.c)
|
||||
target_include_directories(qmk PUBLIC ${CMAKE_SOURCE_DIR}/lib/printf/src/printf)
|
@ -12,7 +12,11 @@ target_sources(qmk PUBLIC
|
||||
usb_util.c
|
||||
)
|
||||
|
||||
find_package(chibios REQUIRED)
|
||||
find_package(Chibios REQUIRED)
|
||||
|
||||
target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/lufa_utils)
|
||||
target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/lufa_utils)
|
||||
|
||||
# if no printf
|
||||
target_sources(qmk PUBLIC ${CMAKE_SOURCE_DIR}/lib/printf/src/printf/printf.c)
|
||||
target_include_directories(qmk PUBLIC ${CMAKE_SOURCE_DIR}/lib/printf/src/printf)
|
@ -19,7 +19,7 @@ target_sources(qmk PUBLIC
|
||||
usb_util.c
|
||||
)
|
||||
|
||||
find_package(lufa REQUIRED)
|
||||
find_package(Lufa REQUIRED)
|
||||
# target_compile_definitions(lufa PUBLIC ${COMPILE_DEFINITIONS})
|
||||
|
||||
target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
Loading…
Reference in New Issue
Block a user