请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-L496ZG评测】coremark评分与功耗测试

[复制链接]
chen000000009 提问时间:2017-4-29 11:04 /
本帖最后由 chen00000009 于 2017-4-29 11:14 编辑

5.coremark评分与功耗测试
CoreMark是用来衡量嵌入式系统中中心处理单元(CPU,或叫做微控制器MCU)性能的标准。该标准于2009年由EEMBC组织提出。代码使用C语言写成,包含如下的运算法则:列举(寻找并排序),数学矩阵操作(普通矩阵运算)和状态机(用来确定输入流中是否包含有效数字),最后还包括CRC(循环冗余校验)。
STM32L496作为ST公司低功耗微控制器系列产品,因此,除了性能,更需要关注功耗。笔者将在coremark跑分的同时测试其功耗。具体方法是移除JP6上面的跳线帽(JP6位置如下图所示),然后将电流表接在两个脚上面,测试电流值。

STM32使用coremark的具体方法请参考附件中的文档,这里只简单介绍一下:
1、获取coremark的测试程序,下载地址为www.coremark.org
2、下载完之后解压,在文件夹中得到如下几个文件
1.jpg

3、按照第四部分的介绍,再次生成一个CubeMX的工程,这里不需要再使用LED的GPIO口,仅需要使能LPUART1.
4、按照下图的要求,将上述的几个文件移到目标文件夹
2.jpg

5、添加文件到工程。如下图所示
3.jpg


6、添加include路径。在Options->C/C++ Compiler->Preprocessor下增加include路径\Src\Coremark,如下图所示
4.jpg

7、将原有的main.c文件中的main函数改为main_init函数,同时删掉里面的while(1)部分的代码。
8、在Core_portme.c中的portable_init里面加一句main_init();,如下图所示
QQ截图20170320122145.jpg

9、计时相关代码的修改方法,请参考后面的参考文档
10、修改优化等级。Keil中的优化等级配置如下图所示

QQ截图20170320122452.jpg

11、编译,无误后下载到开发板。注意下载需要全芯片擦除,配置如下,注意Flash区的配置要正确,STM32F496中的Flash大小为1MB。
QQ截图20170320122549.jpg

最后测试的结果如下图所示,为209分
QQ截图20170320160724.jpg

这个Keil中coremark的跑分普遍只有宣传值的80%左右,笔者测试过多款IC都是如此。因此,这里事实上的跑分应该是261分左右,与宣传的273分很接近。
下面再看看跑分时的功耗。由于这里除了MCU之外还有一些外设,因此,可以将时钟分别设置为70MHz和80MHz进行对比,得出每MHz的功耗。
测试的方法是,将JP6上面的跳线帽移除,用电流表接在JP6上面,如下图所示
IMG_20170404_001007.jpg

在80MHz时,在JP6之上的电流为15.4mA。
QQ截图20170403234701.jpg


IMG_20170403_234511.jpg

在70MHz时,测试的结果为182.9分,确实是209*(7/8)的结果
QQ截图20170403234641.jpg

QQ截图20170404002342.jpg



      而在70Mhz时,测试的功耗为14mA,说明相差10Mhz,JP6上面的电流相差1.4mA。这个数值与宣传值的108uA/MHz有一定差距。

IMG_20170403_235138.jpg



QQ截图20170404002224.jpg



收藏 3 评论1 发布时间:2017-4-29 11:04

举报

1个回答
pythonworld 回答时间:2017-5-1 06:27:43
谢谢分享!!!

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版