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吗
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
ilcvm
2019-12-29 13:44
appleboy 发表于 2017-6-22 16:06
不行的,都试过的。
cubeMX生成的框架是一定无法编译成功的,除非自己写代码 ...

但不会再是ArmClang.exe: error: unsupported option '--C99'这个提示。至于cubeMX不能成功编译,估计是对V6编译器的兼容性不好。不过ST的软件一直觉得不靠谱,他们家最新版本的USB On-The-Go Host and Device Library v2.2.2的只有IAR的项目文件就算了,居然头文件里都有一堆错,不修改根本没法通过编译。

一周热门 更多>