Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    D1S跑rtt为什不定时的报错啊,谁帮忙分析一下

    MR Series
    1
    1
    1010
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      smiletiger LV 6 last edited by

      Unhandled Exception 2:Illegal Instruction
      mcause:0x0000000000000002,mtval:0x0000000030009073,mepc:0x00000000401685d4
      --------------Dump Registers-----------------
      Function Registers:
      ra(x1) = 0x00000000402ead80()
      )
      gp(x3) = 0x0000000000000000()
      tp(x4) = 0x0000000000000000()
      Temporary Registers:
      t0(x5) = 0x0000000000000000()
      t1(x6) = 0x0000000000000000()
      t2(x7) = 0x0000000000000000()
      t3(x28) = 0x00000000402eac50()
      t4(x29) = 0x00000000402eac50()
      t5(x30) = 0x00000000402eac60()
      t6(x31) = 0x00000000402eac60()
      Saved Registers:
      s0/fp(x8) = 0x0000000000000000()
      s1(x9) = 0x0000000000000000()
      s2(x18) = 0x00000000402eabf8()
      s3(x19) = 0x0000000000ff0001()
      s4(x20) = 0x0000000000000000()
      s5(x21) = 0x0000000000000000()
      s6(x22) = 0x00000000402eac20()
      s7(x23) = 0x00000000402eac20()
      s8(x24) = 0x00000000402eac30()
      s9(x25) = 0x00000000402eac30()
      s10(x26) = 0x00000000402eac40()
      s11(x27) = 0x00000000402eac40()
      Function Argu
      [2022-03-25 20:08:13.327]# RECV ASCII>
      ments Registers:
      a0(x10) = 0x0000000000000000()
      a1(x11) = 0x00000000402f6ec8()
      a2(x12) = 0x0000000070616568()
      a3(x13) = 0x0000000000000000()
      a4(x14) = 0x0000018300000000()
      a5(x15) = 0x00000000402a8380()
      a6(x16) = 0x00000000402e62e8()
      a7(x17) = 0x00000000402eabf8()
      sstatus = 0x0000000a00000000
      Supervisor Interrupt Disabled
      Last Time Supervisor Interrupt Disabled
      Last Privilege is User Mode
      Not Permit to Access User Page
      Not Permit to Read Executable-only Page
      satp = 0x0000000000000000
      Mode = No Address Translation/Protection Mode
      -----------------Dump OK---------------------

      定位到代码是下面这条语句

      401685c2: 3002b073 csrc mstatus,t0
      401685c6: 6291 lui t0,0x4
      401685c8: 3002a073 csrs mstatus,t0
      401685cc: 6082 ld ra,0(sp)
      401685ce: 34109073 csrw mepc,ra
      401685d2: 60c2 ld ra,16(sp)
      401685d4: 30009073 csrw mstatus,ra

      定位到源代码是这里的
      .macro SAVE_ALL

      #ifdef ENABLE_FPU
      /* save float registers /
      addi sp, sp, -CTX_FPU_REG_NR * REGBYTES
      #endif /
      ENABLE_FPU */

      /* save general registers */
      addi  sp,   sp, -CTX_GENERAL_REG_NR * REGBYTES //save 33 reg
      STORE x1,   1 * REGBYTES(sp)                //x1 ra
      
      csrr  x1, mstatus
      STORE x1,   2 * REGBYTES(sp)
      
      csrr  x1, mepc
      STORE x1, 0 * REGBYTES(sp)
      
      1 Reply Last reply Reply Quote Share 0
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策