Skip to content

Commit b3e8a9a

Browse files
authored
Merge pull request #500 from goodnorning/feature/support_xuantie_e906
Added support for the XuanTie E906 CPU.
2 parents 0c92f48 + 7bf8308 commit b3e8a9a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

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

0 commit comments

Comments
 (0)