From 08e9f7a02811180374f72db9022fc984dd529212 Mon Sep 17 00:00:00 2001 From: lizhirui Date: Wed, 16 Jun 2021 22:10:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BA=86qemu-virt-rv64?= =?UTF-8?q?=E5=88=9D=E6=AC=A1=E8=BF=9B=E5=85=A5lwp=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E6=97=B6=E7=9A=84=E5=B4=A9=E6=BA=83=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=8C=E7=BC=96=E8=AF=91=E5=99=A8=E6=8D=A2=E4=B8=BA?= =?UTF-8?q?musl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正了qemu-virt-rv64初次进入lwp用户程序时的崩溃问题,编译器换为musl --- bsp/qemu-virt-rv64/rtconfig.py | 6 ++++-- components/lwp/arch/risc-v/virt64/lwp_gcc.S | 1 - 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bsp/qemu-virt-rv64/rtconfig.py b/bsp/qemu-virt-rv64/rtconfig.py index 3f774080fd..d40b061a8d 100644 --- a/bsp/qemu-virt-rv64/rtconfig.py +++ b/bsp/qemu-virt-rv64/rtconfig.py @@ -12,7 +12,8 @@ if os.getenv('RTT_CC'): if CROSS_TOOL == '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: print('Please make sure your toolchains is GNU GCC!') exit(0) @@ -24,7 +25,8 @@ BUILD = 'debug' if PLATFORM == 'gcc': # 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' CXX = PREFIX + 'g++' AS = PREFIX + 'gcc' diff --git a/components/lwp/arch/risc-v/virt64/lwp_gcc.S b/components/lwp/arch/risc-v/virt64/lwp_gcc.S index 11e1c1f612..3f4803054c 100644 --- a/components/lwp/arch/risc-v/virt64/lwp_gcc.S +++ b/components/lwp/arch/risc-v/virt64/lwp_gcc.S @@ -27,7 +27,6 @@ lwp_user_entry: csrci sstatus, 8//set sstatus.spp = 0 csrw sepc, a1 - mv sp, a2//user_sp sret//enter user mode /* -- Gitee