首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >除以在STM32H7 FPU中未设置的零异常标志

除以在STM32H7 FPU中未设置的零异常标志
EN

Stack Overflow用户
提问于 2020-05-19 09:24:08
回答 1查看 296关注 0票数 0

我正在深入研究STM32H743的FPU (核心板,Keil )。

我检查过FPU是否已在寄存器CPACR中启用。

我编译了以下愚蠢的代码:

代码语言:javascript
运行
复制
volatile double test = 0;
test = 1.0 / test;

如果我看一下大会,我会发现:

代码语言:javascript
运行
复制
VDIV.F64 d0,d1,d0

其中d1包含1的双表示,d0包含0的双表示。

在指令之后,d0包含表示无穷大的0x7F00...00,因此它看起来很好。

但是,寄存器FPSCR中的标志FPSCR没有设置,正如我所预期的那样。

我漏掉了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-03 07:32:25

问题在调试器中。

从代码中读取FPSCR (使用VMRS指令)可以正常工作。但是通过Keil 5.28的调试器(选项卡),这个值是错误的。

有人告诉我,gdb也有同样的问题。

编辑:由于我回到FPU异常管理,我注意到我在我以前的答案是错误的。“Cortex M7编程手册”明确指出:

FPSCR寄存器不是内存映射的,它可以使用VMSR和VMRS指令访问。

因此,这不是调试器问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61887607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档