STM32跑CoreMark,MDK编译优化得分总是远低于IAR优化,和解?

2019-12-27 18:49发布

        昨晚移植了下coremark到STM32平台上,用的CUBEMX生成的MDK V5的代码,移植很简单,按照网上ST官方给出的移植方法,printf和TICK这些没问题,coremark也就移植好了,不过网上我搜到的coremark STM32的移植包括ST官方的都是无一例外的IAR编译优化,在COREMARK官网上,找了一圈公布的得分情况,凡是STM32芯片的也全部都是IAR的。我用MDK V5移植成功,发现无论怎么优化都比官网上公布的用IAR优化的跑分要低20%左右,这个差距很大啊,亲。
       因为COREMARK移植后,用的是MDK的 MICROLIB微库,这个库一般会导致性能降低,因此我取消了微库,用了重定向retarget.c文件,加上了semihosting的选项,程序能够正常跑并printf也输出了,但是得分依旧是老样子,还是比IAR优化要低20%左右,无论怎么优化选项,TIME优化 -0 -1 -2 -3,都是远远不如IAR
       我就纳闷了,按理MDK编译效率绝对不差啊,怎么这个跑分能相差这么多呢,难道大家跑coremark全是用IAR吗
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。