1+ cmake_minimum_required (VERSION 3.15 FATAL_ERROR )
2+
3+ project (demo_threadx
4+ LANGUAGES C ASM
5+ )
6+
7+ set (SRCS
8+ ${CMAKE_CURRENT_LIST_DIR} /demo_threadx.c
9+ ${CMAKE_CURRENT_LIST_DIR} /pre_main.c
10+ ${CMAKE_CURRENT_LIST_DIR} /boards/board_riscv_dummy/src/uart/board_uart.c
11+ ${CMAKE_CURRENT_LIST_DIR} /boards/board_riscv_dummy/src/board_init.c
12+ ${CMAKE_CURRENT_LIST_DIR} /components/csi/csi2/src/csi_misc.c
13+ ${CMAKE_CURRENT_LIST_DIR} /components/csi/csi2/src/csi_ringbuf.c
14+ ${CMAKE_CURRENT_LIST_DIR} /components/libc_threadx/mini_printf.c
15+ ${CMAKE_CURRENT_LIST_DIR} /components/libc_threadx/newlib_stub.c
16+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/arch/e906fdp/startup.S
17+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/arch/e906fdp/vectors.S
18+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/arch/e906fdp/system.c
19+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/arch/e906fdp/trap_c.c
20+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/drivers/dw_uart_ll.c
21+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/drivers/uart.c
22+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/sys/devices.c
23+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/sys/feature.c
24+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/sys/irq_port.c
25+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/sys/irq.c
26+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/sys/pre_main.c
27+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/sys/sys_clk.c
28+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/sys/target_get.c
29+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/sys/tick.c
30+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/src/sys/weak.c
31+ )
32+
33+ include_directories (
34+ ${CMAKE_CURRENT_LIST_DIR} /../../../../../../common/inc
35+ ${CMAKE_CURRENT_LIST_DIR} /../../inc
36+ ${CMAKE_CURRENT_LIST_DIR}
37+ ${CMAKE_CURRENT_LIST_DIR} /boards/board_riscv_dummy/include
38+ ${CMAKE_CURRENT_LIST_DIR} /components/csi/csi2/include
39+ ${CMAKE_CURRENT_LIST_DIR} /components/libc_threadx/include
40+ ${CMAKE_CURRENT_LIST_DIR} /components/libc_threadx/compilers/gcc
41+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/include
42+ ${CMAKE_CURRENT_LIST_DIR} /components/chip_riscv_dummy/include/asm
43+ )
44+
45+ add_compile_options (
46+ -Os -g -Wno-main
47+ -Wpointer-arith -Wno-undef -ffunction-sections -fdata-sections -fno-inline-functions -fno-builtin -fno-strict-aliasing
48+ -DCONFIG_SUPPORT_TSPEND=1
49+ -DCONFIG_ARCH_MAINSTACK=4096
50+ -DCONFIG_ARCH_INTERRUPTSTACK=4096
51+ -DCONFIG_SUPPORT_IRQ_NESTED=1
52+ -DCONFIG_INTC_CLIC=1
53+ -DCONFIG_INTC_CLINT=1
54+ -DCONFIG_XIP=1
55+ -DCONFIG_LIBC_MINI_PRINTF_SUPPORT=1
56+ -DCONFIG_SYSTICK_HZ=100
57+ -DCONFIG_BOARD_SMARTL_EVB=1
58+ -DCONFIG_CPU_XUANTIE_E906FDP=1
59+ -DCONFIG_KERNEL_THREADX=1
60+ -DTX_INCLUDE_USER_DEFINE_FILE
61+ )
62+
63+ add_link_options (
64+ -nostartfiles -Wl,--gc-sections
65+ -T${CMAKE_CURRENT_LIST_DIR}/components/chip_riscv_dummy/gcc_flash_smartl.ld
66+ -Wl,-zmax-page-size=1024
67+ -Wl,-Map=${PROJECT_NAME}.map
68+ )
69+
70+ link_directories (${CMAKE_CURRENT_LIST_DIR} /../../../../../../build )
71+ add_executable (${PROJECT_NAME} ${SRCS} )
72+ set_target_properties (${PROJECT_NAME} PROPERTIES OUTPUT_NAME "${PROJECT_NAME} .elf" )
73+ target_link_libraries (${PROJECT_NAME} PRIVATE threadx )
74+
75+ add_custom_command (TARGET ${PROJECT_NAME} POST_BUILD
76+ COMMAND ${OBJDUMP} -d $<TARGET_FILE :${PROJECT_NAME} > > ${PROJECT_NAME} .asm
77+ COMMENT "Generating ASM disassembly files"
78+ )
0 commit comments