Cortex-R52+ floating-point register pop and push

Hi 

We found the issue when using floating-point calculations in the mulitple ISR, then the floating-point number will be not as expected sometimes.

After adding "VPUSH {D0-D15}" in the beginning of the interrupt callback and adding "VPOP {D0-D15}" in the end of the interrupt callback, the issue will not occur anymore.

I think the cause is the floating-point register set is not automatically saved and restored for Cortex-R52+, is that right ?

What is the suggestion for such issue ?

Is it necessary to pop and push FPSCR manually ?

BR, Grace

Parents Reply Children