我正在研究STM32H743(Nucleo板,Keil IDE)的FPU。
我已经检查了寄存器CPACR中是否启用了FPU。
我已经编译了以下哑代码:
volatile double test = 0;
test = 1.0 / test;
如果我看一下我得到的装配体:
VDIV.F64 d0,d1,d0
其中d1包含1的双精度表示形式,d0包含0的双精度表示形式。
在指令d0包含0x7F00...00
后,它表示无穷大,所以看起来不错。
但是,正如我期望的那样,未设置寄存器DZC
中的标志FPSCR
。
我想念什么吗?
问题出在调试器中。
[从代码中读取FPSCR(带有VMRS指令)工作正常。但是通过Keil 5.28的调试器(“ System Viewer FPU”选项卡),该值是错误的。
有人告诉我gdb存在相同的问题。