移植FreeRTOS

This commit is contained in:
2026-07-23 19:55:06 +08:00
parent d07f065b1c
commit b803acc521
66 changed files with 48667 additions and 18 deletions
+35 -3
View File
@@ -30,6 +30,8 @@ enable_language(C CXX ASM)
# 工程宏定义
set(Defines_Syms
GD32H7XX
USE_STDPERIPH_DRIVER
IS_USE_FREERTOS=1
$<$<CONFIG:Debug>:DEBUG>
)
@@ -48,6 +50,11 @@ set(APP_SOURCE_FILES
${CMAKE_CURRENT_SOURCE_DIR}/App/Src/main.c
)
# 包含路径
set(APP_INCLUDE_DIR
${CMAKE_CURRENT_SOURCE_DIR}/App/Inc
)
################################ Firmware ################################
set(FIRMWARE_SOURCE_FILE
${CMAKE_CURRENT_SOURCE_DIR}/Firmware/GD32H7xx_standard_peripheral/Source/gd32h7xx_adc.c
@@ -106,23 +113,48 @@ set(FIRMWARE_SOURCE_FILE
${CMAKE_CURRENT_SOURCE_DIR}/Firmware/GD32H7xx_standard_peripheral/Source/gd32h7xx_wwdgt.c
)
# 包含路径
set(APP_INCLUDE_DIR
set(FIRMWARE_INCLUDE_DIR
${CMAKE_CURRENT_SOURCE_DIR}/Firmware/GD32H7xx_standard_peripheral/Include
${CMAKE_CURRENT_SOURCE_DIR}/Firmware/CMSIS/GD/GD32H7xx/Include
${CMAKE_CURRENT_SOURCE_DIR}/Firmware/CMSIS
${CMAKE_CURRENT_SOURCE_DIR}/App/Inc
)
################################ FreeRTOS ################################
set(FREERTOS_SOURCE_FILES
${CMAKE_CURRENT_SOURCE_DIR}/Components/FreeRTOS/croutine.c
${CMAKE_CURRENT_SOURCE_DIR}/Components/FreeRTOS/event_groups.c
${CMAKE_CURRENT_SOURCE_DIR}/Components/FreeRTOS/list.c
${CMAKE_CURRENT_SOURCE_DIR}/Components/FreeRTOS/queue.c
${CMAKE_CURRENT_SOURCE_DIR}/Components/FreeRTOS/stream_buffer.c
${CMAKE_CURRENT_SOURCE_DIR}/Components/FreeRTOS/tasks.c
${CMAKE_CURRENT_SOURCE_DIR}/Components/FreeRTOS/timers.c
# 内存管理
${CMAKE_CURRENT_SOURCE_DIR}/Components/FreeRTOS/portable/MemMang/heap_5.c
# 处理器处理器接口
${CMAKE_CURRENT_SOURCE_DIR}/Components/FreeRTOS/portable/GCC/ARM_CM7/r0p1/port.c
# 芯片接口
${CMAKE_CURRENT_SOURCE_DIR}/Components/FreeRTOS/Port/GD32H7_Port.c
)
set(FREERTOS_INCLUDE_DIR
${CMAKE_CURRENT_SOURCE_DIR}/Components/FreeRTOS/Config
${CMAKE_CURRENT_SOURCE_DIR}/Components/FreeRTOS/include
${CMAKE_CURRENT_SOURCE_DIR}/Components/FreeRTOS/portable/GCC/ARM_CM7/r0p1
)
################################ 整合所有文件和目录 ################################
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE
${FIRMWARE_INCLUDE_DIR}
${APP_INCLUDE_DIR}
${FREERTOS_INCLUDE_DIR}
)
target_sources(${CMAKE_PROJECT_NAME} PRIVATE
${ASM_SOURCE_FILES}
${APP_SOURCE_FILES}
${FIRMWARE_SOURCE_FILE}
${FREERTOS_SOURCE_FILES}
)