打印
[STM32F4]

看上去只要选择“Use FPU”就实际使用了内部FPU功能。

[复制链接]
468|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yzzly|  楼主 | 2020-12-11 12:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yzzly 于 2020-12-11 12:30 编辑

本人Keil 4.70开发环境,STM32F407工程中有一函数,内有许多SIN、COS、SQRT的函数调用,函数执行时间为80uS,看到使用FPU的介绍后,经过一番繁琐的环境设置与文件包含,编译执行,结果时间并没有改善;把文件包含与环境设置去掉,顺手也把“Use FPU”改为“Not Used”,编译执行,时间变成了350uS;有点心慌,不知道哪被弄出问题了,把“Use FPU”选上,时间又回到了80uS。

使用特权

评论回复
沙发
coshi| | 2021-1-7 14:49 | 只看该作者
怎么选上会时间变化这么多

使用特权

评论回复
板凳
aoyi| | 2021-1-7 14:50 | 只看该作者
请问FPU是什么功能啊

使用特权

评论回复
地板
yzzly|  楼主 | 2021-1-7 16:06 | 只看该作者
aoyi 发表于 2021-1-7 14:50
请问FPU是什么功能啊

FPU:(Float Point Unit,浮点运算单元)FPU是专用于浮点运算的处理器

使用特权

评论回复
5
drer| | 2021-1-7 16:14 | 只看该作者
怎么得到的这个时间呢

使用特权

评论回复
6
gwsan| | 2021-1-7 16:17 | 只看该作者
这个功能可以用在什么地方啊

使用特权

评论回复
7
kxsi| | 2021-1-7 16:51 | 只看该作者
反复之后时间并没有回到原来的位置啊

使用特权

评论回复
8
yzzly|  楼主 | 2021-1-8 13:27 | 只看该作者
drer 发表于 2021-1-7 16:14
怎么得到的这个时间呢

用1个IO引脚,函数入口置1,函数出口置0,示波器看脉冲宽度就是函数执行时间。

使用特权

评论回复
9
yzzly|  楼主 | 2021-1-8 13:29 | 只看该作者
gwsan 发表于 2021-1-7 16:17
这个功能可以用在什么地方啊

用在有大量浮点数运算的地方,最典型的就是三角函数与开方运算。

使用特权

评论回复
10
香水城| | 2021-1-8 17:49 | 只看该作者
你最好使用ARM提供的DSP库,
你可以参考下 关于STM32浮点运算单元FPU的小话题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

427

主题

1178

帖子

3

粉丝