如何确定自己开启了FPU

2019-07-20 15:50发布

STM32F4的浮点型运算:只支持单精度的加减乘除,和平方根。在通过配置开启FPU后,验证1s的时间,开启FPU或不开启FPU sumCnt 的计数值分别是:0x2c0f2c  , 0x6c74
double sum = 0;
unsigned int sumCnt = 0;
main()
{       while(1)
       {
                double i = 0.12345;
                double j = 0.123456;
                sum = (i*4096+j*3840)/10.0;
                sumCnt++;

        }
}


开启FPU的配置方法:
http://blog.sina.com.cn/s/blog_4ed9fbab0101jnc1.html
但自己验证的时候发现只要在option for target ..->target ->floating point hardware选择 use single precision跟上面的配置达到一样的效果。

通过查看汇编发现有用到vmov.f32的,这是用到了FPU的意思吗?

我想问怎么样确定自己是否开启了FPU呢?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
taizonglai
1楼-- · 2019-07-20 18:23
 精彩回答 2  元偷偷看……
qianyuyu
2楼-- · 2019-07-20 21:53
1.查找FPU汇编指令: http://infocenter.arm.com/help/i ... r1359124232426.html
2.如果使用的是软浮点运算,则应该是调用库__aeabi_

一周热门 更多>