This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DSP28335运行一段时间后进入LUF_ISR原因?

TI工程师:

你好,我编写DSP28335程序,增加一部分浮点运算的程序后,   运行1-2时以内,程序进入LUF_ISR中断。(ˇˍˇ) 想了解:

1、LUF_ISR和LVF_ISR是什么中断?什么情况下会进入

2、如果表示float运算的上溢和下溢,那么直接写一个测试程序,也没有进入对应的中断。(程序:float a = 3.4E38*10;float b = -3.4E-38/10 )

  • 补充下:
    3、增加浮点运算的程序是没有运行的,只是放着。
    4、由于系统使用了状态机,只有在特定状态下,且要过一段时间才会出现。
  • "
    你好,我编写DSP28335程序,增加一部分浮点运算的程序后, 运行1-2时以内,程序进入LUF_ISR中断。(ˇˍˇ) 想了解:

    1、LUF_ISR和LVF_ISR是什么中断?什么情况下会进入

    2、如果表示float运算的上溢和下溢,那么直接写一个测试程序,也没有进入对应的中断"
    Eric:
    确实是FPU的上溢和下溢。
    LUF Latched Underflow Floating-Point Flag
    The following instructions will set this flag to 1 if an underflow occurs:
    MPYF32, ADDF32, SUBF32, MACF32, EINVF32, EISQRTF32
    0 An underflow condition has not been latched. If the MOVST0 instruction is used to copy this bit to ST0,
    then LUF will be cleared.
    1 An underflow condition has been latched

    LVF Latched Overflow Floating-Point Flag
    The following instructions will set this flag to 1 if an overflow occurs:
    MPYF32, ADDF32, SUBF32, MACF32, EINVF32, EISQRTF32
    0 An overflow condition has not been latched. If the MOVST0 instruction is used to copy this bit to ST0,
    then LVF will be cleared.
    1 An overflow condition has been latched

    只有使用这些指令时,这个表示位才会被置位,你的测试不符合。
    MPYF32, ADDF32, SUBF32, MACF32, EINVF32, EISQRTF3
  • 感谢您的回答,我C程序里面没有直接使用“MPYF32, ADDF32, SUBF32, MACF32, EINVF32, EISQRTF3”,但是编译后的生成对应的.asm里面有“MPYF32, ADDF32, SUBF32, MACF32, EINVF32, EISQRTF3”算吗?
  • "我C程序里面没有直接使用“MPYF32, ADDF32, SUBF32, MACF32, EINVF32, EISQRTF3”,但是编译后的生成对应的.asm里面有“MPYF32, ADDF32, SUBF32, MACF32, EINVF32, EISQRTF3”算吗?"

    Eric:

    汇编指令里面有这些就算。