我查到的手册、资料上面都是说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的指令,是正常的硬件乘除。] |