Files
cbb 05069e3057 feat(cproject): 移除CAN DMA相关代码并优化编译配置
- 移除了CAN模块中的DMA相关代码,包括can_dma_init函数、
  DMA中断处理函数以及相关的全局变量和头文件包含

- 更新了项目构建配置,将优化级别从balanced改为size以减小
  固件体积

- 添加了-fno-exceptions和-fno-rtti编译选项以进一步优化代码

- 升级了GD32C10x_DFP包版本至1.5.0

- 调整了OTA跳转逻辑,增加了更安全的中断和外设关闭处理

- 修复了Flash写入时的重复包处理逻辑,增加错误标志清理机制

- 将AES加密算法中的gf_mul函数标记为noinline属性
2026-07-26 23:08:02 +08:00

253 lines
11 KiB
CMake

# components.cmake
# component ARM::CMSIS:CORE@4.3.0
add_library(ARM_CMSIS_CORE_4_3_0 INTERFACE)
target_include_directories(ARM_CMSIS_CORE_4_3_0 INTERFACE
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_INCLUDE_DIRECTORIES>
"${CMSIS_PACK_ROOT}/ARM/CMSIS/4.5.0/CMSIS/Include"
)
target_compile_definitions(ARM_CMSIS_CORE_4_3_0 INTERFACE
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_DEFINITIONS>
)
target_link_libraries(ARM_CMSIS_CORE_4_3_0 INTERFACE
${CONTEXT}_ABSTRACTIONS
)
# component GigaDevice::Device:EVAL:GD32C10x@1.3.0
add_library(GigaDevice_Device_EVAL_GD32C10x_1_3_0 OBJECT
"${SOLUTION_ROOT}/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_eval.c"
)
target_include_directories(GigaDevice_Device_EVAL_GD32C10x_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_INCLUDE_DIRECTORIES>
"${CMSIS_PACK_ROOT}/GigaDevice/GD32C10x_DFP/1.5.0/Device/Utilities"
)
target_compile_definitions(GigaDevice_Device_EVAL_GD32C10x_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_DEFINITIONS>
)
target_compile_options(GigaDevice_Device_EVAL_GD32C10x_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_OPTIONS>
)
target_link_libraries(GigaDevice_Device_EVAL_GD32C10x_1_3_0 PUBLIC
${CONTEXT}_ABSTRACTIONS
)
# component GigaDevice::Device:GD32C10x_StdPeripherals:CAN@1.3.0
add_library(GigaDevice_Device_GD32C10x_StdPeripherals_CAN_1_3_0 OBJECT
"${SOLUTION_ROOT}/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_can.c"
)
target_include_directories(GigaDevice_Device_GD32C10x_StdPeripherals_CAN_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_INCLUDE_DIRECTORIES>
"${CMSIS_PACK_ROOT}/GigaDevice/GD32C10x_DFP/1.5.0/Device/Firmware/Peripherals/inc"
)
target_compile_definitions(GigaDevice_Device_GD32C10x_StdPeripherals_CAN_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_DEFINITIONS>
)
target_compile_options(GigaDevice_Device_GD32C10x_StdPeripherals_CAN_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_OPTIONS>
)
target_link_libraries(GigaDevice_Device_GD32C10x_StdPeripherals_CAN_1_3_0 PUBLIC
${CONTEXT}_ABSTRACTIONS
)
# component GigaDevice::Device:GD32C10x_StdPeripherals:CRC@1.3.0
add_library(GigaDevice_Device_GD32C10x_StdPeripherals_CRC_1_3_0 OBJECT
"${SOLUTION_ROOT}/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_crc.c"
)
target_include_directories(GigaDevice_Device_GD32C10x_StdPeripherals_CRC_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_INCLUDE_DIRECTORIES>
"${CMSIS_PACK_ROOT}/GigaDevice/GD32C10x_DFP/1.5.0/Device/Firmware/Peripherals/inc"
)
target_compile_definitions(GigaDevice_Device_GD32C10x_StdPeripherals_CRC_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_DEFINITIONS>
)
target_compile_options(GigaDevice_Device_GD32C10x_StdPeripherals_CRC_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_OPTIONS>
)
target_link_libraries(GigaDevice_Device_GD32C10x_StdPeripherals_CRC_1_3_0 PUBLIC
${CONTEXT}_ABSTRACTIONS
)
# component GigaDevice::Device:GD32C10x_StdPeripherals:DBG@1.3.0
add_library(GigaDevice_Device_GD32C10x_StdPeripherals_DBG_1_3_0 OBJECT
"${SOLUTION_ROOT}/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_dbg.c"
)
target_include_directories(GigaDevice_Device_GD32C10x_StdPeripherals_DBG_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_INCLUDE_DIRECTORIES>
"${CMSIS_PACK_ROOT}/GigaDevice/GD32C10x_DFP/1.5.0/Device/Firmware/Peripherals/inc"
)
target_compile_definitions(GigaDevice_Device_GD32C10x_StdPeripherals_DBG_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_DEFINITIONS>
)
target_compile_options(GigaDevice_Device_GD32C10x_StdPeripherals_DBG_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_OPTIONS>
)
target_link_libraries(GigaDevice_Device_GD32C10x_StdPeripherals_DBG_1_3_0 PUBLIC
${CONTEXT}_ABSTRACTIONS
)
# component GigaDevice::Device:GD32C10x_StdPeripherals:EXTI@1.3.0
add_library(GigaDevice_Device_GD32C10x_StdPeripherals_EXTI_1_3_0 OBJECT
"${SOLUTION_ROOT}/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_exti.c"
)
target_include_directories(GigaDevice_Device_GD32C10x_StdPeripherals_EXTI_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_INCLUDE_DIRECTORIES>
"${CMSIS_PACK_ROOT}/GigaDevice/GD32C10x_DFP/1.5.0/Device/Firmware/Peripherals/inc"
)
target_compile_definitions(GigaDevice_Device_GD32C10x_StdPeripherals_EXTI_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_DEFINITIONS>
)
target_compile_options(GigaDevice_Device_GD32C10x_StdPeripherals_EXTI_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_OPTIONS>
)
target_link_libraries(GigaDevice_Device_GD32C10x_StdPeripherals_EXTI_1_3_0 PUBLIC
${CONTEXT}_ABSTRACTIONS
)
# component GigaDevice::Device:GD32C10x_StdPeripherals:FMC@1.3.0
add_library(GigaDevice_Device_GD32C10x_StdPeripherals_FMC_1_3_0 OBJECT
"${SOLUTION_ROOT}/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_fmc.c"
)
target_include_directories(GigaDevice_Device_GD32C10x_StdPeripherals_FMC_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_INCLUDE_DIRECTORIES>
"${CMSIS_PACK_ROOT}/GigaDevice/GD32C10x_DFP/1.5.0/Device/Firmware/Peripherals/inc"
)
target_compile_definitions(GigaDevice_Device_GD32C10x_StdPeripherals_FMC_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_DEFINITIONS>
)
target_compile_options(GigaDevice_Device_GD32C10x_StdPeripherals_FMC_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_OPTIONS>
)
target_link_libraries(GigaDevice_Device_GD32C10x_StdPeripherals_FMC_1_3_0 PUBLIC
${CONTEXT}_ABSTRACTIONS
)
# component GigaDevice::Device:GD32C10x_StdPeripherals:GPIO@1.3.0
add_library(GigaDevice_Device_GD32C10x_StdPeripherals_GPIO_1_3_0 OBJECT
"${SOLUTION_ROOT}/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_gpio.c"
)
target_include_directories(GigaDevice_Device_GD32C10x_StdPeripherals_GPIO_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_INCLUDE_DIRECTORIES>
"${CMSIS_PACK_ROOT}/GigaDevice/GD32C10x_DFP/1.5.0/Device/Firmware/Peripherals/inc"
)
target_compile_definitions(GigaDevice_Device_GD32C10x_StdPeripherals_GPIO_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_DEFINITIONS>
)
target_compile_options(GigaDevice_Device_GD32C10x_StdPeripherals_GPIO_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_OPTIONS>
)
target_link_libraries(GigaDevice_Device_GD32C10x_StdPeripherals_GPIO_1_3_0 PUBLIC
${CONTEXT}_ABSTRACTIONS
)
# component GigaDevice::Device:GD32C10x_StdPeripherals:MISC@1.3.0
add_library(GigaDevice_Device_GD32C10x_StdPeripherals_MISC_1_3_0 OBJECT
"${SOLUTION_ROOT}/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_misc.c"
)
target_include_directories(GigaDevice_Device_GD32C10x_StdPeripherals_MISC_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_INCLUDE_DIRECTORIES>
"${CMSIS_PACK_ROOT}/GigaDevice/GD32C10x_DFP/1.5.0/Device/Firmware/Peripherals/inc"
)
target_compile_definitions(GigaDevice_Device_GD32C10x_StdPeripherals_MISC_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_DEFINITIONS>
)
target_compile_options(GigaDevice_Device_GD32C10x_StdPeripherals_MISC_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_OPTIONS>
)
target_link_libraries(GigaDevice_Device_GD32C10x_StdPeripherals_MISC_1_3_0 PUBLIC
${CONTEXT}_ABSTRACTIONS
)
# component GigaDevice::Device:GD32C10x_StdPeripherals:PMU@1.3.0
add_library(GigaDevice_Device_GD32C10x_StdPeripherals_PMU_1_3_0 OBJECT
"${SOLUTION_ROOT}/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_pmu.c"
)
target_include_directories(GigaDevice_Device_GD32C10x_StdPeripherals_PMU_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_INCLUDE_DIRECTORIES>
"${CMSIS_PACK_ROOT}/GigaDevice/GD32C10x_DFP/1.5.0/Device/Firmware/Peripherals/inc"
)
target_compile_definitions(GigaDevice_Device_GD32C10x_StdPeripherals_PMU_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_DEFINITIONS>
)
target_compile_options(GigaDevice_Device_GD32C10x_StdPeripherals_PMU_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_OPTIONS>
)
target_link_libraries(GigaDevice_Device_GD32C10x_StdPeripherals_PMU_1_3_0 PUBLIC
${CONTEXT}_ABSTRACTIONS
)
# component GigaDevice::Device:GD32C10x_StdPeripherals:RCU@1.3.0
add_library(GigaDevice_Device_GD32C10x_StdPeripherals_RCU_1_3_0 OBJECT
"${SOLUTION_ROOT}/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_rcu.c"
)
target_include_directories(GigaDevice_Device_GD32C10x_StdPeripherals_RCU_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_INCLUDE_DIRECTORIES>
"${CMSIS_PACK_ROOT}/GigaDevice/GD32C10x_DFP/1.5.0/Device/Firmware/Peripherals/inc"
)
target_compile_definitions(GigaDevice_Device_GD32C10x_StdPeripherals_RCU_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_DEFINITIONS>
)
target_compile_options(GigaDevice_Device_GD32C10x_StdPeripherals_RCU_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_OPTIONS>
)
target_link_libraries(GigaDevice_Device_GD32C10x_StdPeripherals_RCU_1_3_0 PUBLIC
${CONTEXT}_ABSTRACTIONS
)
# component GigaDevice::Device:GD32C10x_StdPeripherals:USART@1.3.0
add_library(GigaDevice_Device_GD32C10x_StdPeripherals_USART_1_3_0 OBJECT
"${SOLUTION_ROOT}/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_usart.c"
)
target_include_directories(GigaDevice_Device_GD32C10x_StdPeripherals_USART_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_INCLUDE_DIRECTORIES>
"${CMSIS_PACK_ROOT}/GigaDevice/GD32C10x_DFP/1.5.0/Device/Firmware/Peripherals/inc"
)
target_compile_definitions(GigaDevice_Device_GD32C10x_StdPeripherals_USART_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_DEFINITIONS>
)
target_compile_options(GigaDevice_Device_GD32C10x_StdPeripherals_USART_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_OPTIONS>
)
target_link_libraries(GigaDevice_Device_GD32C10x_StdPeripherals_USART_1_3_0 PUBLIC
${CONTEXT}_ABSTRACTIONS
)
# component GigaDevice::Device:GD32C10x_libopt@1.3.0
add_library(GigaDevice_Device_GD32C10x_libopt_1_3_0 INTERFACE)
target_include_directories(GigaDevice_Device_GD32C10x_libopt_1_3_0 INTERFACE
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_INCLUDE_DIRECTORIES>
"${CMSIS_PACK_ROOT}/GigaDevice/GD32C10x_DFP/1.5.0/Device/Include"
)
target_compile_definitions(GigaDevice_Device_GD32C10x_libopt_1_3_0 INTERFACE
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_DEFINITIONS>
)
target_link_libraries(GigaDevice_Device_GD32C10x_libopt_1_3_0 INTERFACE
${CONTEXT}_ABSTRACTIONS
)
# component GigaDevice::Device:Startup@1.3.0
add_library(GigaDevice_Device_Startup_1_3_0 OBJECT
"${SOLUTION_ROOT}/Robot_V2/RTE/Device/GD32C103CB/startup_gd32c10x.s"
"${SOLUTION_ROOT}/Robot_V2/RTE/Device/GD32C103CB/system_gd32c10x.c"
)
target_include_directories(GigaDevice_Device_Startup_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_INCLUDE_DIRECTORIES>
"${CMSIS_PACK_ROOT}/GigaDevice/GD32C10x_DFP/1.5.0/Device/Include"
)
target_compile_definitions(GigaDevice_Device_Startup_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_DEFINITIONS>
)
target_compile_options(GigaDevice_Device_Startup_1_3_0 PUBLIC
$<TARGET_PROPERTY:${CONTEXT},INTERFACE_COMPILE_OPTIONS>
)
target_link_libraries(GigaDevice_Device_Startup_1_3_0 PUBLIC
${CONTEXT}_ABSTRACTIONS
)
set(COMPILE_DEFINITIONS
GD32C10x
_RTE_
)
cbuild_set_defines(AS_ARM COMPILE_DEFINITIONS)
set_source_files_properties("${SOLUTION_ROOT}/Robot_V2/RTE/Device/GD32C103CB/startup_gd32c10x.s" PROPERTIES
COMPILE_FLAGS "${COMPILE_DEFINITIONS}"
)