修正未能正确获取C语言全局变量地址的bug,代码正确运行
This commit is contained in:
@@ -37,6 +37,6 @@ SECTIONS
|
|||||||
_RODATA_END_ = .;
|
_RODATA_END_ = .;
|
||||||
}
|
}
|
||||||
|
|
||||||
. = 0x40000800;
|
/*. = 0x40000800;*/
|
||||||
.trap_entry : { *(.trap_entry)}
|
.trap_entry : { *(.trap_entry)}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,21 +54,22 @@ _prog_start:
|
|||||||
lw a0, %lo(plic_claim)(t0)
|
lw a0, %lo(plic_claim)(t0)
|
||||||
#la a0, plic_claim
|
#la a0, plic_claim
|
||||||
|
|
||||||
lui t0, %hi(flag_intTxEnd)
|
#lui t0, %hi(flag_intTxEnd)
|
||||||
lw a1, %lo(flag_intTxEnd)(t0)
|
#lw a1, %lo(flag_intTxEnd)(t0)
|
||||||
#la a1, flag_intTxEnd
|
|
||||||
|
|
||||||
lui t0, %hi(flag_intRxError)
|
la a1, flag_intTxEnd
|
||||||
lw a2, %lo(flag_intRxError)(t0)
|
|
||||||
#la a2, flag_intRxError
|
|
||||||
|
|
||||||
lui t0, %hi(flag_intRxStart)
|
#lui t0, %hi(flag_intRxError)
|
||||||
lw a3, %lo(flag_intRxStart)(t0)
|
#lw a2, %lo(flag_intRxError)(t0)
|
||||||
#la a3, flag_intRxStart
|
la a2, flag_intRxError
|
||||||
|
|
||||||
lui t0, %hi(flag_intRxEnd)
|
#lui t0, %hi(flag_intRxStart)
|
||||||
lw a4, %lo(flag_intRxEnd)(t0)
|
#lw a3, %lo(flag_intRxStart)(t0)
|
||||||
#la a4, flag_intRxEnd
|
la a3, flag_intRxStart
|
||||||
|
|
||||||
|
#lui t0, %hi(flag_intRxEnd)
|
||||||
|
#lw a4, %lo(flag_intRxEnd)(t0)
|
||||||
|
la a4, flag_intRxEnd
|
||||||
|
|
||||||
call mst_svr_code
|
call mst_svr_code
|
||||||
mv t0, a0 #这里选择不同的trap_entry服务函数,这个是RV32I的代码
|
mv t0, a0 #这里选择不同的trap_entry服务函数,这个是RV32I的代码
|
||||||
|
|||||||
Reference in New Issue
Block a user