Files
SDK_GD32W51x/MBL/source_ns/CMakeLists.txt
gaoyang3513 0a96026659 [Mod] 支持CMT2310 接收
1. 关联gd32w51x中断处理;
  1.1. 支持基于SysTick的延时;
  1.2. 支持基于Timer2中断的数据接收;
2. 解决程序过大问题,链接中移除printf的浮点支持;
3. 支持CMT2310初始化并进入接收模式;
  3.1. 支持HAL层替换打印EBYTE_LOG;
2024-08-01 20:42:42 +08:00

110 lines
5.0 KiB
CMake

cmake_minimum_required(VERSION 3.15)
set(TARGET_EXE mbl-ns)
set(TAGET_PROJECT_DIR ${PROJECT_SOURCE_DIR}/MBL/Project)
add_executable(${TARGET_EXE})
add_definitions(
-DPLATFORM_GDM32
)
set_target_properties(${TARGET_EXE}
PROPERTIES
SUFFIX ".axf"
ARCHIVE_OUTPUT_DIRECTORY "${TAGET_PROJECT_DIR}/GCC/output/lib"
LIBRARY_OUTPUT_DIRECTORY "${TAGET_PROJECT_DIR}/GCC/output/lib"
RUNTIME_OUTPUT_DIRECTORY "${TAGET_PROJECT_DIR}/GCC/output/bin"
)
target_sources(${TARGET_EXE}
PRIVATE
mbl_api.c
mbl_flash.c
mbl_image.c
mbl_ns.c
mbl_qspi_flash.c
mbl_sys.c
mbl_uart.c
drivers/CMT2310/0_Project/Uart_PingPong/main.c
drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_callback.c
drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_core.c
drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_port.c
drivers/CMT2310/0_Project/Uart_PingPong/irq_handle.c
drivers/CMT2310/1_Middleware/Kfifo/ebyte_kfifo.c
drivers/CMT2310/1_Middleware/Produce/ebyte_debug.c
drivers/CMT2310/2_Ebyte_Board_Support/E15-EVB02/board_button.c
drivers/CMT2310/2_Ebyte_Board_Support/E15-EVB02/board_mini_printf.c
drivers/CMT2310/2_Ebyte_Board_Support/E15-EVB02/board.c
drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/cmt2310a_433mhz.c
drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/radio.c
drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/cmt2310a_868mhz.c
drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/cmt2310a_915mhz.c
drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/radio_phy.c
drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/radio_hal.c
drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/cmt2310a_410mhz.c
drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/radio_mac.c
drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/radio_spi.c
drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/ebyte_e48x.c
)
target_sources(${TARGET_EXE}
PRIVATE
${PROJECT_SOURCE_DIR}/NSPE/Firmware/GD32W51x_standard_peripheral/Source/gd32w51x_fmc.c
${PROJECT_SOURCE_DIR}/NSPE/Firmware/GD32W51x_standard_peripheral/Source/gd32w51x_fwdgt.c
${PROJECT_SOURCE_DIR}/NSPE/Firmware/GD32W51x_standard_peripheral/Source/gd32w51x_gpio.c
${PROJECT_SOURCE_DIR}/NSPE/Firmware/GD32W51x_standard_peripheral/Source/gd32w51x_icache.c
${PROJECT_SOURCE_DIR}/NSPE/Firmware/GD32W51x_standard_peripheral/Source/gd32w51x_misc.c
${PROJECT_SOURCE_DIR}/NSPE/Firmware/GD32W51x_standard_peripheral/Source/gd32w51x_qspi.c
${PROJECT_SOURCE_DIR}/NSPE/Firmware/GD32W51x_standard_peripheral/Source/gd32w51x_rcu.c
${PROJECT_SOURCE_DIR}/NSPE/Firmware/GD32W51x_standard_peripheral/Source/gd32w51x_usart.c
${PROJECT_SOURCE_DIR}/NSPE/Firmware/GD32W51x_standard_peripheral/Source/gd32w51x_spi.c
${PROJECT_SOURCE_DIR}/NSPE/Firmware/GD32W51x_standard_peripheral/Source/gd32w51x_timer.c
)
target_sources(${TARGET_EXE}
PRIVATE
../platform/gdm32/cmsis_core/mbl_system_gdm32.c
../platform/gdm32/gcc/mbl_startup_gdm32.s
../platform/gdm32/gd32w51x_it.c
../platform/gdm32/systick.c
)
target_include_directories(${TARGET_EXE}
PRIVATE
${PROJECT_SOURCE_DIR}/MBL/platform/gdm32/
${PROJECT_SOURCE_DIR}/NSPE/Firmware/GD32W51x_standard_peripheral/Include
${CMAKE_CURRENT_SOURCE_DIR}/drivers/CMT2310/0_Project/Uart_PingPong/
${CMAKE_CURRENT_SOURCE_DIR}/drivers/CMT2310/0_Project/Uart_PingPong/ebyte/
${CMAKE_CURRENT_SOURCE_DIR}/drivers/CMT2310/1_Middleware/Kfifo/
${CMAKE_CURRENT_SOURCE_DIR}/drivers/CMT2310/1_Middleware/Produce/
${CMAKE_CURRENT_SOURCE_DIR}/drivers/CMT2310/2_Ebyte_Board_Support/E15-EVB02/
${CMAKE_CURRENT_SOURCE_DIR}/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/
)
target_add_scatter_file(${TARGET_EXE}
../platform/gdm32/gcc/mbl_gdm32_ns.ld
)
target_link_options(${TARGET_EXE}
PUBLIC
-Wl,--just-symbols=${PROJECT_SOURCE_DIR}/ROM-EXPORT/symbol/rom_symbol.gcc
-Wl,-Map=${TAGET_PROJECT_DIR}/GCC/output/bin/${TARGET_EXE}.map
)
get_target_property(LINK_FLAGS ${TARGET_EXE} LINK_OPTIONS)
string(REGEX REPLACE "(.*)-u._printf_float(.*)" "\\1\\2" LINK_FLAGS "${LINK_FLAGS}")
set_target_properties(${TARGET_EXE} PROPERTIES LINK_OPTIONS "${LINK_FLAGS}")
if(CMAKE_HOST_UNIX)
add_custom_command(TARGET ${TARGET_EXE} POST_BUILD
COMMAND ${TAGET_PROJECT_DIR}/mbl_afterbuild.sh ${TAGET_PROJECT_DIR}/GCC/output/bin ${TARGET_EXE} GCC \"\"
COMMENT "Building ${TARGET_EXE}"
)
elseif(CMAKE_HOST_WIN32)
add_custom_command(TARGET ${TARGET_EXE} POST_BUILD
COMMAND ${TAGET_PROJECT_DIR}/mbl_afterbuild.bat ${TAGET_PROJECT_DIR}/GCC/output/bin ${TARGET_EXE} GCC \"\"
COMMENT "Building ${TARGET_EXE}"
)
endif()