运行05-Preemptive
05-Preemptive# riscv64-linux-gnu-objdump -d -t kernel.elf > dump.txt
cat dump.txt | grep 800002ac -B 10 8000028c: 87aa mv a5,a0 8000028e: fef42623 sw a5,-20(s0) 80000292: fec42783 lw a5,-20(s0) 80000296: 0007871b sext.w a4,a5 8000029a: 67b1 lui a5,0xc 8000029c: 3507879b addiw a5,a5,848 800002a0: 02f707bb mulw a5,a4,a5 800002a4: 2781 sext.w a5,a5 800002a6: fef42623 sw a5,-20(s0) 800002aa: 0001 nop 800002ac: fec42783 lw a5,-20(s0) 800002b0: 2781 sext.w a5,a5 800002b2: fff7871b addiw a4,a5,-1 800002b6: 2701 sext.w a4,a4 800002b8: fee42623 sw a4,-20(s0) 800002bc: fbe5 bnez a5,800002ac <lib_delay+0x26>
(gdb) target remote :1234 Remote debugging using :1234 0x0000000000001000 in ?? () (gdb) c Continuing. ^C Program received signal SIGINT, Interrupt. trap_handler (epc=2147484494, cause=9223372036854775815) at src/trap.c:130 130 while (1) (gdb) bt #0 trap_handler (epc=2147484494, cause=9223372036854775815) at src/trap.c:130 #1 0x00000000800002a0 in trap_vector () at src/sys.s:191 Backtrace stopped: frame did not save the PC (gdb)