我正在开发基于 ARM Cortex-A9 的系统运行软件,该软件使用嵌套中断;然而,实现嵌套中断的方法似乎存在缺陷,因为浮点值和操作可能会被破坏。
为了缓解这种情况,我尝试在进入中断例程时保存浮点寄存器的状态。我为 FPSCR 尝试的方法是这样的:
asm ("VMRS %0, FPSCR " : "=r" ( savedReg)); //Save
asm ("VMSR FPSCR, %0 " : "=r" ( savedReg)); //Restore
读取似乎有效,但写入无效,它导致 A9 重新启动。
是否可以通过这种方式访问 FPSCR?有什么其他方法推荐?