This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

EXC_RETURN when is floating point stack save?

On the M4F when does the EXC_RETURN  bit[4] get cleared to indicate the floating point stack is saved? 

Specifically does the core push the floating point stack (S0-S15) on the stack anytime the floating point hardware is enabled or does it do it only when a floating point operation is in process and the exception occurs? 

Thanks

Trampas

  • I think I have figured out the answer.... 

    There are three settings that control the operation of floating point stack saving, LSPEN, ASPEN, and FPCA. 

    LSPEN - controls the lazy stacking of the floating point registers (basically only saves floating point registers if used in interrupt handler) 

    ASPEN - If this pit is set to 1 and the FPCA is set to 1 then floating point stack will be pushed when exception occurs. (see Lazy stacking if LSPEN is set)

    If ASPEN is zero then floating point registers are not pushed to stack, even if FPCA is set. 

    If FPCA is zero then no floating point registers are saved. 

    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0298a/DAFGGBJD.html