[FireBeetle 2 ESP32C6开发板] coremark跑分
<div class='showpostmsg'> 本帖最后由 xhackerustc 于 2024-5-1 19:20 编辑<p>据官方datasheet,ESP32C6的主cpu是四级流水线支持160MHZ频率,RV32IMAC指令集,有32位乘法器和32位除法器。熟悉esp32c3的同学会发现这和esp32c3主cpu大体很像阿,所以一个问题是:抛开其它不谈,就主cpu性能来讲,它们两咋样?版上有位兄弟的帖子很好的回答了这个问题<a href="https://bbs.eeworld.com.cn/thread-1279843-1-1.html" target="_blank">【FireBeetle 2 ESP32 C6】几种esp32性能对比测试</a>。咱也跟着做做cpu性能pk,选用benchmark是coremark,不过手里板子只有esp32c3和esp32c6,比较穷。</p>
<p> </p>
<p>大概在去年esp官方把coremark移植后加进idf-extra-components,所以这次比较幸福不用移植了。</p>
<pre>
<code class="language-bash">cd /tmp
idf.py create-project-from-example "espressif/coremark:coremark_example"</code></pre>
<p>这会在/tmp目录下生成一个名叫coremark_example的idf project,咱们配置一下:</p>
<pre>
<code class="language-bash">cd /tmp/coremark_example
idf.py set-target esp32c6
idf.py menuconfig</code></pre>
<p>menuconfig界面注意把console output改成USB Serial/JTAG Controller,-Og改成-O2, 具体改法可以参见本人第一篇测评贴<a href="https://bbs.eeworld.com.cn/thread-1280164-1-1.html" target="_blank"> linux下开发环境搭建</a>,这里不再叙述。flash大小和模式可改可不改,因为coremark比较特别,是全放进sram中运行的,所以flash用DIO还是QIO没区别。然后coremark_example中override了一些CFLAGS,比如用了-O3,所以前面的-Og改-O2也可以不改。</p>
<p> </p>
<p>编译与烧录</p>
<pre>
<code class="language-bash">idf.py build
esptool.py -p /dev/ttyACM0 --chip esp32c6 -b 460800 --before default_reset --after hard_reset write_flash --flash_mode qio --flash_size 4MB --flash_freq 80m 0x10000 build/coremark_example.bin</code></pre>
<p>串口终端打开板子usb虚拟cdc串口/dev/ttyACM0,过一会串口输出如下:</p>
<pre>
<code class="language-bash">CoreMark Size : 666
Total ticks : 13661
Total time (secs): 13.661000
Iterations/Sec : 439.206500
Iterations : 6000
Compiler version : GCC13.2.0
Compiler flags : -ffunction-sections -fdata-sections -gdwarf-4 -ggdb -nostartfiles -nost
artfiles -O2 -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std
=gnu17 -O3 -fjump-tables -ftree-switch-conversion
Memory location: IRAM
seedcrc : 0xe9f5
crclist : 0xe714
crcmatrix : 0x1fd7
crcstate : 0x8e3a
crcfinal : 0xa14c
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 439.206500 / GCC13.2.0 -ffunction-sections -fdata-sections -gdwarf-4 -ggdb
-nostartfiles -nostartfiles -O2 -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-swi
tch-conversion -std=gnu17 -O3 -fjump-tables -ftree-switch-conversion / IRAM
CPU frequency: 160 MHz
I (16259) main_task: Returned from app_main()
</code></pre>
<p>所以160MHZ频率下获得了439 Iterations/Sec。我们可以重复上述步骤在esp32c3上测下coremark,唯一区别就是idf选target时参数是esp32c3,其它步骤一样,这里不再重复步骤,只把数据贴出作为对比:esp32c3在160MHZ频率下获得了407 Iterations/Sec。所以esp32c6的cpu比esp32c3强了一些,略有提升,也交叉验证了上面兄弟的性能测试帖子中的结论。</p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>160MHZ频率下获得了439 Iterations/Sec,主频高一点的这得分也会比较高吧</p>
<p>cpu主频高coremark分数也会高,所以有的时候计算coremark/MHZ</p>
页:
[1]