你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32G4 FPU

[复制链接]
XH750507 提问时间:2023-8-29 17:02 / 未解决

arm_rms_f32(&ADC1_SLID1[0],512,&nAo);

用MDK在代码中设置断点,估算时间在10ms左右,请问这个函数到底需要多少的运行时间呢?如何确定函数是否使用了FPU呢?

收藏 评论7 发布时间:2023-8-29 17:02

举报

7个回答
yr 回答时间:2023-8-31 16:42:06

keil选单精度浮点单元,就会使能cp10和cp11,从反汇编指令上看,有V打头的指令,说明是浮点指令有起作用。至于运行时间,测量方法对吗?准吗?有其他中断打断吗?如果没有,不应该这么久。

butterflyspring 回答时间:2023-8-30 10:23:58
通常用DWT來测试指令执行了多少给周期会比较准,中间不要有中断。
另外,注意编译器设置,配置使用硬件单精度浮点数编译。
反汇编如果能看到使用了相应的指令也可以的。
onebyte 回答时间:2023-8-30 08:23:23

单精度浮点型,求512点有效值,不至于这么慢,可以看汇编指令确定是否使用FPU

yr 回答时间:2023-8-30 10:24:31

g474, 主频170Mhz, 使能FPU,优化-o3,运行时间19.16us;优化-o0,运行时间80.42us

XH750507 回答时间:2023-8-31 11:13:07

这样算不算开启了FPU呢?

image.png

image.png

XH750507 回答时间:2023-8-31 11:16:45

yr 发表于 2023-8-30 10:24
g474, 主频170Mhz, 使能FPU,优化-o3,运行时间19.16us;优化-o0,运行时间80.42us
...

你是怎么做到的 为什么我似乎开启了FPU 但是运算始终在10ms左右?

如何确定是否开启FPU呢?

image.png

程序运行了这一行 能不能认为FPU开启了呢?image.png

XH750507 回答时间:2023-9-3 07:24:08

yr 发表于 2023-8-31 16:42
keil选单精度浮点单元,就会使能cp10和cp11,从反汇编指令上看,有V打头的指令,说明是浮点指令有起作 ...

[md]的确是忽略了中断的影响 避开中断 大概是200us 也做不到20us左右

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版