NianQinRenShaoAoYe
hi,APM32F103CB基于Arm Cortex-M3内核。
Cortex-M3本身支持单周期32×32位乘法,同时支持硬件有符号/无符号整数除法指令SDIV/UDIV。其中32位乘法可单周期完成;硬件除法根据操作数不同,执行时间通常为2~12个CPU周期。因此在乘除法使用方式上,与其他采用Cortex-M3内核的MCU基本一致,C代码中的整数乘除运算可由编译器根据优化配置生成相应的硬件指令。
另外,APM32F103CB数据手册中所述FPU为芯片内部集成的独立FPU模块,并非Cortex-M4F一类集成在CPU内核中的Arm FPU。
因此在工程配置上仍应按照Cortex-M3进行配置,不能直接套用Cortex-M4F的噢。
您也可以参考github上的这个~ https://github.com/GeehySemi/F103_FPU
对于中断响应,Cortex-M3在零等待等理想条件下的基础中断延迟约为12个CPU周期;但如果您所关注的是“使用APM32F103独立FPU时,中断前后FPU状态保存/恢复的具体耗时”,则需要结合具体的FPU调用方式及使用场景进行确认,不能直接按照Cortex-M4F的FPU上下文切换周期计算~