@@ -9,6 +9,7 @@ cwd = GetCurrentDir()
# add general drivers
src = Split('''
board.c
+trap_gcc.S
''')
path = [cwd]
@@ -3,7 +3,10 @@
from building import *
cwd = GetCurrentDir()
-src = Glob('*.c')
+src = Split('''
+board.c
+''')
CPPPATH = [cwd]
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
@@ -0,0 +1,18 @@
+#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
+ csrrw ra, 0x07ED, ra
+ li t0, 0x08
+ csrc mstatus, t0
+ LOAD ra, 0 * REGBYTES(sp)
+ addi sp, sp, 4
+ ret
@@ -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')
-ASFLAGS = ' -I ' + cwd