修正未能正确获取C语言全局变量地址的bug,代码正确运行
This commit is contained in:
@@ -54,21 +54,22 @@ _prog_start:
|
||||
lw a0, %lo(plic_claim)(t0)
|
||||
#la a0, plic_claim
|
||||
|
||||
lui t0, %hi(flag_intTxEnd)
|
||||
lw a1, %lo(flag_intTxEnd)(t0)
|
||||
#la a1, flag_intTxEnd
|
||||
#lui t0, %hi(flag_intTxEnd)
|
||||
#lw a1, %lo(flag_intTxEnd)(t0)
|
||||
|
||||
la a1, flag_intTxEnd
|
||||
|
||||
lui t0, %hi(flag_intRxError)
|
||||
lw a2, %lo(flag_intRxError)(t0)
|
||||
#la a2, flag_intRxError
|
||||
#lui t0, %hi(flag_intRxError)
|
||||
#lw a2, %lo(flag_intRxError)(t0)
|
||||
la a2, flag_intRxError
|
||||
|
||||
lui t0, %hi(flag_intRxStart)
|
||||
lw a3, %lo(flag_intRxStart)(t0)
|
||||
#la a3, flag_intRxStart
|
||||
#lui t0, %hi(flag_intRxStart)
|
||||
#lw a3, %lo(flag_intRxStart)(t0)
|
||||
la a3, flag_intRxStart
|
||||
|
||||
lui t0, %hi(flag_intRxEnd)
|
||||
lw a4, %lo(flag_intRxEnd)(t0)
|
||||
#la a4, flag_intRxEnd
|
||||
#lui t0, %hi(flag_intRxEnd)
|
||||
#lw a4, %lo(flag_intRxEnd)(t0)
|
||||
la a4, flag_intRxEnd
|
||||
|
||||
call mst_svr_code
|
||||
mv t0, a0 #这里选择不同的trap_entry服务函数,这个是RV32I的代码
|
||||
|
||||
@@ -50,7 +50,7 @@ _rv32i_plic_handle:
|
||||
sw x23, 0(x17) # *plic_claim = x23
|
||||
|
||||
#li x25, 1
|
||||
|
||||
|
||||
li x24, CDR_INT_TXEND
|
||||
bne x23, x24, 1f #_if (x23 != x24) goto 1f
|
||||
sw x25, 0(x18) #_else
|
||||
|
||||
Reference in New Issue
Block a user