mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-05-28 18:05:50 +08:00
[libcpu/risc-v]迁移libcpu/risc-v/e310与rv32m1文件中内容至bsp (#7015)
This commit is contained in:
@@ -5,7 +5,7 @@ from building import *
|
|||||||
cwd = os.path.join(str(Dir('#')), 'drivers')
|
cwd = os.path.join(str(Dir('#')), 'drivers')
|
||||||
|
|
||||||
# add the general drvers.
|
# add the general drvers.
|
||||||
src = Glob("*.c")
|
src = Glob("*.c") + Glob("*gcc.S")
|
||||||
|
|
||||||
CPPPATH = [cwd]
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ board.c
|
|||||||
pin_mux.c
|
pin_mux.c
|
||||||
clock_config.c
|
clock_config.c
|
||||||
fsl_host.c
|
fsl_host.c
|
||||||
|
interrupt.c
|
||||||
|
trap_gcc.S
|
||||||
''')
|
''')
|
||||||
CPPPATH = [cwd]
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
|||||||
@@ -115,6 +115,7 @@ SECTIONS
|
|||||||
|
|
||||||
/* Initializes stack on the end of block */
|
/* Initializes stack on the end of block */
|
||||||
PROVIDE(__stack = __StackTop);
|
PROVIDE(__stack = __StackTop);
|
||||||
|
PROVIDE( __rt_rvstack = .);
|
||||||
|
|
||||||
/* Uninitialized data section */
|
/* Uninitialized data section */
|
||||||
.bss :
|
.bss :
|
||||||
|
|||||||
+304
-61
File diff suppressed because it is too large
Load Diff
@@ -17,3 +17,10 @@ config PKGS_DIR
|
|||||||
|
|
||||||
source "$RTT_DIR/Kconfig"
|
source "$RTT_DIR/Kconfig"
|
||||||
source "$PKGS_DIR/Kconfig"
|
source "$PKGS_DIR/Kconfig"
|
||||||
|
|
||||||
|
config SOC_FE310
|
||||||
|
bool
|
||||||
|
select RT_USING_COMPONENTS_INIT
|
||||||
|
select RT_USING_USER_MAIN
|
||||||
|
default y
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from building import *
|
|||||||
cwd = os.path.join(str(Dir('#')), 'drivers')
|
cwd = os.path.join(str(Dir('#')), 'drivers')
|
||||||
|
|
||||||
# add the general drvers.
|
# add the general drvers.
|
||||||
src = Glob("*.c")
|
src = Glob("*.c") + Glob("*gcc.S")
|
||||||
|
|
||||||
CPPPATH = [cwd]
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ void rt_hw_interrupt_init(void)
|
|||||||
|
|
||||||
/* config interrupt vector*/
|
/* config interrupt vector*/
|
||||||
asm volatile(
|
asm volatile(
|
||||||
"la t0, trap_entry\n"
|
"la t0, SW_handler\n"
|
||||||
"csrw mtvec, t0"
|
"csrw mtvec, t0"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#include "cpuport.h"
|
||||||
|
|
||||||
|
.globl rt_hw_do_after_save_above
|
||||||
|
.type rt_hw_do_after_save_above,@function
|
||||||
|
rt_hw_do_after_save_above:
|
||||||
|
addi sp, sp, -4
|
||||||
|
STORE ra, 0 * REGBYTES(sp)
|
||||||
|
csrr a0, mcause
|
||||||
|
csrr a1, mepc
|
||||||
|
mv a2, sp
|
||||||
|
call handle_trap
|
||||||
|
LOAD ra, 0 * REGBYTES(sp)
|
||||||
|
addi sp, sp, 4
|
||||||
|
ret
|
||||||
|
|
||||||
@@ -181,5 +181,6 @@ SECTIONS
|
|||||||
PROVIDE( _heap_end = . );
|
PROVIDE( _heap_end = . );
|
||||||
. = __stack_size;
|
. = __stack_size;
|
||||||
PROVIDE( _sp = . );
|
PROVIDE( _sp = . );
|
||||||
|
PROVIDE( __rt_rvstack = .);
|
||||||
} >ram AT>ram :ram
|
} >ram AT>ram :ram
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
|
|
||||||
/* Memory Management */
|
/* Memory Management */
|
||||||
|
|
||||||
|
#define RT_PAGE_MAX_ORDER 11
|
||||||
#define RT_USING_MEMPOOL
|
#define RT_USING_MEMPOOL
|
||||||
#define RT_USING_SMALL_MEM
|
#define RT_USING_SMALL_MEM
|
||||||
#define RT_USING_SMALL_MEM_AS_HEAP
|
#define RT_USING_SMALL_MEM_AS_HEAP
|
||||||
@@ -46,10 +47,14 @@
|
|||||||
#define RT_USING_CONSOLE
|
#define RT_USING_CONSOLE
|
||||||
#define RT_CONSOLEBUF_SIZE 128
|
#define RT_CONSOLEBUF_SIZE 128
|
||||||
#define RT_CONSOLE_DEVICE_NAME "uart"
|
#define RT_CONSOLE_DEVICE_NAME "uart"
|
||||||
#define RT_VER_NUM 0x40101
|
#define RT_VER_NUM 0x50000
|
||||||
|
|
||||||
/* RT-Thread Components */
|
/* RT-Thread Components */
|
||||||
|
|
||||||
|
#define RT_USING_COMPONENTS_INIT
|
||||||
|
#define RT_USING_USER_MAIN
|
||||||
|
#define RT_MAIN_THREAD_STACK_SIZE 2048
|
||||||
|
#define RT_MAIN_THREAD_PRIORITY 10
|
||||||
#define RT_USING_MSH
|
#define RT_USING_MSH
|
||||||
#define RT_USING_FINSH
|
#define RT_USING_FINSH
|
||||||
#define FINSH_USING_MSH
|
#define FINSH_USING_MSH
|
||||||
@@ -73,6 +78,7 @@
|
|||||||
/* Device Drivers */
|
/* Device Drivers */
|
||||||
|
|
||||||
#define RT_USING_DEVICE_IPC
|
#define RT_USING_DEVICE_IPC
|
||||||
|
#define RT_UNAMED_PIPE_NUMBER 64
|
||||||
#define RT_USING_SERIAL
|
#define RT_USING_SERIAL
|
||||||
#define RT_USING_SERIAL_V1
|
#define RT_USING_SERIAL_V1
|
||||||
#define RT_SERIAL_USING_DMA
|
#define RT_SERIAL_USING_DMA
|
||||||
@@ -161,6 +167,11 @@
|
|||||||
|
|
||||||
/* peripheral libraries and drivers */
|
/* peripheral libraries and drivers */
|
||||||
|
|
||||||
|
/* sensors drivers */
|
||||||
|
|
||||||
|
|
||||||
|
/* touch drivers */
|
||||||
|
|
||||||
|
|
||||||
/* Kendryte SDK */
|
/* Kendryte SDK */
|
||||||
|
|
||||||
@@ -168,6 +179,9 @@
|
|||||||
/* AI packages */
|
/* AI packages */
|
||||||
|
|
||||||
|
|
||||||
|
/* Signal Processing and Control Algorithm Packages */
|
||||||
|
|
||||||
|
|
||||||
/* miscellaneous packages */
|
/* miscellaneous packages */
|
||||||
|
|
||||||
/* project laboratory */
|
/* project laboratory */
|
||||||
@@ -178,13 +192,39 @@
|
|||||||
/* entertainment: terminal games and other interesting software packages */
|
/* entertainment: terminal games and other interesting software packages */
|
||||||
|
|
||||||
|
|
||||||
/* Privated Packages of RealThread */
|
/* Arduino libraries */
|
||||||
|
|
||||||
|
|
||||||
/* Network Utilities */
|
/* Projects */
|
||||||
|
|
||||||
|
|
||||||
/* RT-Thread Smart */
|
/* Sensors */
|
||||||
|
|
||||||
|
|
||||||
|
/* Display */
|
||||||
|
|
||||||
|
|
||||||
|
/* Timing */
|
||||||
|
|
||||||
|
|
||||||
|
/* Data Processing */
|
||||||
|
|
||||||
|
|
||||||
|
/* Data Storage */
|
||||||
|
|
||||||
|
/* Communication */
|
||||||
|
|
||||||
|
|
||||||
|
/* Device Control */
|
||||||
|
|
||||||
|
|
||||||
|
/* Other */
|
||||||
|
|
||||||
|
/* Signal IO */
|
||||||
|
|
||||||
|
|
||||||
|
/* Uncategorized */
|
||||||
|
|
||||||
|
#define SOC_FE310
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
# RT-Thread building script for component
|
|
||||||
|
|
||||||
from building import *
|
|
||||||
|
|
||||||
Import('rtconfig')
|
|
||||||
|
|
||||||
cwd = GetCurrentDir()
|
|
||||||
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
|
||||||
CPPPATH = [cwd]
|
|
||||||
ASFLAGS = ''
|
|
||||||
|
|
||||||
group = DefineGroup('CPU', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
|
||||||
|
|
||||||
Return('group')
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
# RT-Thread building script for component
|
|
||||||
|
|
||||||
from building import *
|
|
||||||
|
|
||||||
Import('rtconfig')
|
|
||||||
|
|
||||||
cwd = GetCurrentDir()
|
|
||||||
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
|
||||||
CPPPATH = [cwd]
|
|
||||||
ASFLAGS = ''
|
|
||||||
|
|
||||||
group = DefineGroup('CPU', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
|
||||||
|
|
||||||
Return('group')
|
|
||||||
Reference in New Issue
Block a user