stm32f103硬除法问题

[复制链接]
11132|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搞除法真的好费时间啊,不知道如何能优化掉啊
仙人球W 发表于 2014-12-24 11:41 | 显示全部楼层
ranqingfa 发表于 2014-12-24 13:56 | 显示全部楼层
请问楼主找到的fdiv  在哪个文件里?
monkeypony 发表于 2014-12-30 21:44 | 显示全部楼层
如果整数运算就不会出现 fmul fadd fdiv 这样的子程序了
woshic23 发表于 2015-3-5 15:51 | 显示全部楼层
留个记号!
小浣熊 发表于 2015-3-5 20:29 | 显示全部楼层
楼主可以用m4看看效果。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

26

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部