On the M4F when does the EXC_RETURN bit 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?
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.
View all questions in Cortex-M / M-Profile forum