Initial setup for PY32F002A
This commit is contained in:
74
CMakeLists.txt
Normal file
74
CMakeLists.txt
Normal file
@@ -0,0 +1,74 @@
|
||||
cmake_minimum_required(VERSION 3.29)
|
||||
|
||||
project(puya32-playground LANGUAGES C ASM)
|
||||
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_C_EXTENSIONS ON)
|
||||
|
||||
set(HAL_DEFINES
|
||||
PY32F002Ax5
|
||||
)
|
||||
|
||||
set(HAL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/py32f0-sdk)
|
||||
|
||||
add_library(py32-hal STATIC)
|
||||
|
||||
target_include_directories(py32-hal PUBLIC
|
||||
${HAL_DIR}/Libraries/CMSIS/Core/Include
|
||||
${HAL_DIR}/Libraries/CMSIS/Device/PY32F0xx/Include
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Inc
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_BSP/Inc
|
||||
)
|
||||
|
||||
target_compile_definitions(py32-hal PUBLIC
|
||||
${HAL_DEFINES}
|
||||
)
|
||||
|
||||
target_sources(py32-hal PRIVATE
|
||||
# LL drivers
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_adc.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_crc.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_exti.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_gpio.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_led.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_pwr.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_rtc.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_tim.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_utils.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_comp.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_dma.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_flash.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_i2c.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_lptim.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_rcc.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_spi.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_Driver/Src/py32f0xx_ll_usart.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_BSP/Src/py32f0xx_bsp_clock.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_BSP/Src/py32f0xx_bsp_led.c
|
||||
${HAL_DIR}/Libraries/PY32F0xx_LL_BSP/Src/py32f0xx_bsp_printf.c
|
||||
# Startup code
|
||||
${HAL_DIR}/Libraries/CMSIS/Device/PY32F0xx/Source/system_py32f0xx.c
|
||||
${HAL_DIR}/Libraries/CMSIS/Device/PY32F0xx/Source/gcc/startup_py32f002a.s
|
||||
)
|
||||
|
||||
# Set up target executable
|
||||
add_executable(puya32-playground)
|
||||
|
||||
target_link_libraries(puya32-playground
|
||||
PRIVATE py32-hal
|
||||
)
|
||||
|
||||
target_sources(puya32-playground PRIVATE
|
||||
src/main.c
|
||||
)
|
||||
|
||||
# clang-format
|
||||
add_custom_target(check-format
|
||||
find include/ src/ -iname '*.[ch]' -exec clang-format -Werror --dry-run {} +
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
add_custom_target(clang-format
|
||||
find include/ src/ -iname '*.[ch]' -exec clang-format -i {} +
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
Reference in New Issue
Block a user