首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【性能测评】DSP库,MDK5的AC5,AC6,IAR和Embedded Studio的三角函数性能

测试条件: 1、IAR8.30开最高等级速度优化。 2、MDK5.27正式版使用AC5开最高等级优化3,开启时间优化,测试C标准库和微库MicroLib两种。 3、MDK5.27正式版使用AC6开最高等级的速度优化,测试C标准库和微库MicroLib两种。 4、Embedded Studio4.30版使用GCC开最高等级优化,开C库使用Fast模式。 5、Embedded Studio4.30版使用CLANG开最高等级优化,开C库使用Fast模式。 6、DSP库使用最新的CMSIS软件包里面的V5.6.0。 7、测试单位使用DWT时钟周期计数器。 8、DSP库使用函数arm_sin_f32测试,IAR,MDK和ES都使用各自带的C库测试。执行10次,求平均。 注意,IAR,MDK和ES都有各自的C库实现方案。 提供一个STM32H7的例程供大家测评:

02

H730硬件三角函数,DSP库和C库三角函数性能比较,其中硬件三角函数优势明显(2021-03-13)

测试条件: 1、MDK5.33 AC5 ,开启最高等级三级优化,开启时间优化 2、测试平台自制H730VBT板子。 3、工作主频550MHz。 4、开启硬件双精度。 5、开启硬件三角函数。 测试: 1、H730硬件三角函数。 开启20bit最高测试精度,对应6个时钟周期24次迭代。注意这里的时钟周期是相对Cordic来说的,由于Cordic是在550MHz主频的二分频下工作,所以实际测试应该是12个时钟周期完成一次三角函数计算。 这里计算了10000次sin,DMA方式。 最终需要时钟周期是200506个,也就是20个时钟周期计算一次,即36ns一次计算,这个速度还是相当给力的。 正常情况下的理论值应该是12个时钟周期就计算完毕,额外的8个时钟周期耽误在DMA等传输上了。

01
领券