您尚未登录。

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

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

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
已发帖子: 451
积分: 318.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
已发帖子: 118
积分: 29

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

心情复杂 说:

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
已发帖子: 118
积分: 29

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

心情复杂 说:

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