OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7016|回复: 5

用keil写stm32f4的程序,做浮点运算

[复制链接]

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2015-4-25
在线时间
16 小时
发表于 2016-5-19 15:45:45 | 显示全部楼层 |阅读模式
3金钱
小数点后最多支持几位,编译器编译出来性能不降低

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

36

主题

256

帖子

0

精华

高级会员

Rank: 4

积分
921
金钱
921
注册时间
2016-4-20
在线时间
169 小时
发表于 2016-5-20 19:14:16 | 显示全部楼层
这个小数点和你的浮点类型有关系和编译器好像关系不大。想节约一点时间的话就把编译等级调高一些。arm的没有实际测试过。但是你要把fpu打开,用的比较多的指令最后用arm自带的数学库里面的伪汇编代替。
我在dsp里面测过,一般的计算float的有效位数是7位,double是11位(13位)。楼主你清不清楚定标,其实用定点也能实现精确到小数点后很多位的。比如用1.05*1.05  可以放大100倍变成105 * 105最后再缩小10000倍。优化算法里面用到的很多16*32位,16*16位,16转32位这些被封装的短乘指令就是干这个的。
回复

使用道具 举报

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2015-4-25
在线时间
16 小时
 楼主| 发表于 2016-5-20 19:43:57 | 显示全部楼层
czdspeed 发表于 2016-5-20 19:14
这个小数点和你的浮点类型有关系和编译器好像关系不大。想节约一点时间的话就把编译等级调高一些。arm的没 ...

你说的定标是类似Q吧,IQmath,我问的意思就是,编程直接用float变量,开启fpu,假设芯片支持单精度浮点运算,我在程序中的float变量赋值,小数点后几位会使运算性能下降。
回复

使用道具 举报

36

主题

256

帖子

0

精华

高级会员

Rank: 4

积分
921
金钱
921
注册时间
2016-4-20
在线时间
169 小时
发表于 2016-5-20 20:17:48 | 显示全部楼层
你说的IQmath是dsp2系列和5系列的吧,我们公司用c6748。我说下我的经验吧,我这个项目要用到arm之前没怎么直观感觉。上上个星期做了下实验,算的是一个1024*1024的矩阵。arm花了33ms 开了FPU,dsp只用了0.137ms,不过dsp用的c6748(主频456MHz)而且代码我优化了。

所以我直观感觉arm即使开了浮点运算,也比DSP要慢很多没有整点原子说的那么牛。当然arm的优化我也没用过可能性能可以有很大的提升。

小数点的话如果是float的话估计还是后面7位吧。小数点后几位会使运算性能下降,我不是太了解。
回复

使用道具 举报

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2015-4-25
在线时间
16 小时
 楼主| 发表于 2016-5-20 22:33:08 | 显示全部楼层
czdspeed 发表于 2016-5-20 20:17
你说的IQmath是dsp2系列和5系列的吧,我们公司用c6748。我说下我的经验吧,我这个项目要用到arm之前没怎么 ...

好的,谢了
回复

使用道具 举报

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2015-4-25
在线时间
16 小时
 楼主| 发表于 2016-5-20 22:37:10 | 显示全部楼层
czdspeed 发表于 2016-5-20 20:17
你说的IQmath是dsp2系列和5系列的吧,我们公司用c6748。我说下我的经验吧,我这个项目要用到arm之前没怎么 ...

因为不了解,就问一下,比如单精度的一般小数点后6位,那我在程序中定义的float变量小数点后有10位,或者20位。。,在编译器编译后的代码,性能和只用6位的一样吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 09:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表