您尚未登录。

楼主 # 2022-03-18 14:14:02

smiletiger
会员
注册时间: 2021-07-28
已发帖子: 127
积分: 31

F133跑rtt不定时宕机,好烦躁啊

研究了一个星期找问题一直找不到问题,
Unhandled Exception 5:Load Access Fault
mcause:0x0000000000000005,mtval:0x0000000002500014,mepc:0x00000000400152d8

进场不定时出现这样类似的错误,有时是"Instruction Access Fault",
有时候是"Illegal Instruction",

到底是哪里有问题啊,能不能屏蔽这样的错误啊,好烦躁好烦躁

离线

#1 2022-03-18 16:14:34

aozima
会员
所在地: 深圳
注册时间: 2019-05-25
已发帖子: 483
积分: 330.5
个人网站

Re: F133跑rtt不定时宕机,好烦躁啊

是不是超频了? 跑的哪个代码? 根据提示的信息反查看看有没线索?

离线

#2 2022-03-19 22:32:36

心情复杂
会员
注册时间: 2019-12-15
已发帖子: 37
积分: 30

Re: F133跑rtt不定时宕机,好烦躁啊

mepc是出错的指令,每次出错的地方都一样吗?用addr2line看看 0x400152d8 是代码的哪里

离线

楼主 #3 2022-03-20 23:38:25

smiletiger
会员
注册时间: 2021-07-28
已发帖子: 127
积分: 31

Re: F133跑rtt不定时宕机,好烦躁啊

心情复杂 wrote:

mepc是出错的指令,每次出错的地方都一样吗?用addr2line看看 0x400152d8 是代码的哪里

0x400152d8: 30009073 csrw mstatus,ra
定位到源代码是这个

.macro RESTORE_ALL

#ifdef ENABLE_FPU
/ restore float register /
mv t2, sp
addi t2, t2, CTX_GENERAL_REG_NR REGBYTES / skip all normal reg */

li t0, MSTATUS_FS
csrs mstatus, t0
fld f0, FPU_CTX_F0_OFF(t2)
fld f1, FPU_CTX_F1_OFF(t2)
fld f2, FPU_CTX_F2_OFF(t2)
fld f3, FPU_CTX_F3_OFF(t2)
fld f4, FPU_CTX_F4_OFF(t2)
fld f5, FPU_CTX_F5_OFF(t2)
fld f6, FPU_CTX_F6_OFF(t2)
fld f7, FPU_CTX_F7_OFF(t2)
fld f8, FPU_CTX_F8_OFF(t2)
fld f9, FPU_CTX_F9_OFF(t2)
fld f10,FPU_CTX_F10_OFF(t2)
fld f11,FPU_CTX_F11_OFF(t2)
fld f12,FPU_CTX_F12_OFF(t2)
fld f13,FPU_CTX_F13_OFF(t2)
fld f14,FPU_CTX_F14_OFF(t2)
fld f15,FPU_CTX_F15_OFF(t2)
fld f16,FPU_CTX_F16_OFF(t2)
fld f17,FPU_CTX_F17_OFF(t2)
fld f18,FPU_CTX_F18_OFF(t2)
fld f19,FPU_CTX_F19_OFF(t2)
fld f20,FPU_CTX_F20_OFF(t2)
fld f21,FPU_CTX_F21_OFF(t2)
fld f22,FPU_CTX_F22_OFF(t2)
fld f23,FPU_CTX_F23_OFF(t2)
fld f24,FPU_CTX_F24_OFF(t2)
fld f25,FPU_CTX_F25_OFF(t2)
fld f26,FPU_CTX_F26_OFF(t2)
fld f27,FPU_CTX_F27_OFF(t2)
fld f28,FPU_CTX_F28_OFF(t2)
fld f29,FPU_CTX_F29_OFF(t2)
fld f30,FPU_CTX_F30_OFF(t2)
fld f31,FPU_CTX_F31_OFF(t2)

/ clr FS domain /
csrc mstatus, t0

/ clean status would clr sr_sd; /
li t0, MSTATUS_FS_CLEAN
csrs mstatus, t0

#endif / ENABLE_FPU /

/ restore general register /

/ resw ra to sepc /
LOAD x1, 0 * REGBYTES(sp)
csrw mepc, x1

LOAD x1, 2 * REGBYTES(sp)
csrw mstatus, x1

LOAD x1, 1 * REGBYTES(sp)

LOAD x3, 3 * REGBYTES(sp)
LOAD x4, 4 * REGBYTES(sp)
LOAD x5, 5 * REGBYTES(sp)
LOAD x6, 6 * REGBYTES(sp)
LOAD x7, 7 * REGBYTES(sp)
LOAD x8, 8 * REGBYTES(sp)
LOAD x9, 9 * REGBYTES(sp)
LOAD x10, 10 * REGBYTES(sp)
LOAD x11, 11 * REGBYTES(sp)
LOAD x12, 12 * REGBYTES(sp)
LOAD x13, 13 * REGBYTES(sp)
LOAD x14, 14 * REGBYTES(sp)
LOAD x15, 15 * REGBYTES(sp)
LOAD x16, 16 * REGBYTES(sp)
LOAD x17, 17 * REGBYTES(sp)
LOAD x18, 18 * REGBYTES(sp)
LOAD x19, 19 * REGBYTES(sp)
LOAD x20, 20 * REGBYTES(sp)
LOAD x21, 21 * REGBYTES(sp)
LOAD x22, 22 * REGBYTES(sp)
LOAD x23, 23 * REGBYTES(sp)
LOAD x24, 24 * REGBYTES(sp)
LOAD x25, 25 * REGBYTES(sp)
LOAD x26, 26 * REGBYTES(sp)
LOAD x27, 27 * REGBYTES(sp)
LOAD x28, 28 * REGBYTES(sp)
LOAD x29, 29 * REGBYTES(sp)
LOAD x30, 30 * REGBYTES(sp)
LOAD x31, 31 * REGBYTES(sp)

addi sp, sp, CTX_GENERAL_REG_NR * REGBYTES
#ifdef ENABLE_FPU
addi sp, sp, CTX_FPU_REG_NR * REGBYTES
#endif
.endm

离线

楼主 #4 2022-03-20 23:39:38

smiletiger
会员
注册时间: 2021-07-28
已发帖子: 127
积分: 31

Re: F133跑rtt不定时宕机,好烦躁啊

心情复杂 wrote:

mepc是出错的指令,每次出错的地方都一样吗?用addr2line看看 0x400152d8 是代码的哪里

用的是这个兄弟的代码

https://github.com/bigmagic123/d1-nezha-rtthread 移植到d1上的,我用的是f133,f133和d1应该是通用的

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn


东莞哇酷科技有限公司开发