打印

stm32f103硬除法问题

[复制链接]
9394|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
moonriver610|  楼主 | 2012-2-21 12:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我查到的手册、资料上面都是说stm32f103这种Cortex-M3芯片带硬件除法,但是keil uvision4反编译代码显示乘除法用的__aeabi_fmul,__aeabi_fdiv。甚至fadd、fsub都有。而且我找了下fmul fadd fdiv这些函数所在的位置,发现他们都有十几行。我想问,怎么把Cortex-M3中的硬除法用起来?
现在的编译器控制字符串:-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I.\library\inc -I.\Sources -I "D:\Program Files\Keil\ARM\CMSIS\Include" -I "D:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o ".\Output\*.o" --omf_browse ".\Output\*.crf" --depend ".\Output\*.d"
[备注:我把芯片选成stm32f4的,发现乘除法和减法被编译成VMUL.F32、VDIV.F32、VSUB.F32,这三个是VFP的指令,是正常的硬件乘除。]
沙发
yifanfeng| | 2012-3-9 13:14 | 只看该作者
根据stm32f4的编译器控制字符串修改stm32f103的, 加入FPU的设置应该可以了。

使用特权

评论回复
板凳
acgean| | 2012-3-10 08:47 | 只看该作者
Cortex-M3 只支持整数乘除法哦。
如果整数运算就不会出现 fmul fadd fdiv 这样的子程序了。

使用特权

评论回复
地板
ranqingfa| | 2014-12-24 11:20 | 只看该作者
看样子只有F4才支持硬件除法啊,stm32F103搞除法真的好费时间啊,不知道如何能优化掉啊

使用特权

评论回复
5
仙人球W| | 2014-12-24 11:41 | 只看该作者
mark

使用特权

评论回复
6
ranqingfa| | 2014-12-24 13:56 | 只看该作者
请问楼主找到的fdiv  在哪个文件里?

使用特权

评论回复
7
monkeypony| | 2014-12-30 21:44 | 只看该作者
如果整数运算就不会出现 fmul fadd fdiv 这样的子程序了

使用特权

评论回复
8
woshic23| | 2015-3-5 15:51 | 只看该作者
留个记号!

使用特权

评论回复
9
小浣熊| | 2015-3-5 20:29 | 只看该作者
楼主可以用m4看看效果。。。

使用特权

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

本版积分规则

3

主题

26

帖子

2

粉丝