Kaynağa Gözat

!226 修正了qemu-virt-rv64初次进入lwp用户程序时的崩溃问题,编译器换为musl
Merge pull request !226 from lizhirui/rt-smart

bernard 4 yıl önce
ebeveyn
işleme
3dd4e5c6fe

+ 4 - 2
bsp/qemu-virt-rv64/rtconfig.py

@@ -12,7 +12,8 @@ if os.getenv('RTT_CC'):
 
 
 if  CROSS_TOOL == 'gcc':
 if  CROSS_TOOL == 'gcc':
     PLATFORM    = 'gcc'
     PLATFORM    = 'gcc'
-    EXEC_PATH   = r'/home/lizhirui/workspace/riscv64-toolchains/bin'
+    #EXEC_PATH   = r'/home/lizhirui/workspace/riscv64-toolchains/bin'
+    EXEC_PATH   = r'/opt/rtt_riscv64_musl/bin'
 else:
 else:
     print('Please make sure your toolchains is GNU GCC!')
     print('Please make sure your toolchains is GNU GCC!')
     exit(0)
     exit(0)
@@ -24,7 +25,8 @@ BUILD = 'debug'
 
 
 if PLATFORM == 'gcc':
 if PLATFORM == 'gcc':
     # toolchains
     # toolchains
-    PREFIX  = os.getenv('RTT_CC_PREFIX') or 'riscv64-unknown-elf-'
+    #PREFIX  = os.getenv('RTT_CC_PREFIX') or 'riscv64-unknown-elf-'
+    PREFIX  = os.getenv('RTT_CC_PREFIX') or 'riscv64-unknown-linux-musl-'
     CC      = PREFIX + 'gcc'
     CC      = PREFIX + 'gcc'
     CXX     = PREFIX + 'g++'
     CXX     = PREFIX + 'g++'
     AS      = PREFIX + 'gcc'
     AS      = PREFIX + 'gcc'

+ 0 - 1
components/lwp/arch/risc-v/virt64/lwp_gcc.S

@@ -27,7 +27,6 @@
 lwp_user_entry:
 lwp_user_entry:
     csrci sstatus, 8//set sstatus.spp = 0
     csrci sstatus, 8//set sstatus.spp = 0
     csrw sepc, a1
     csrw sepc, a1
-    mv sp, a2//user_sp
     sret//enter user mode
     sret//enter user mode
 
 
 /*
 /*