<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://docs.bouffalolab.com/index.php?action=history&amp;feed=atom&amp;title=Demo%3Acoremark</id>
	<title>Demo:coremark - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://docs.bouffalolab.com/index.php?action=history&amp;feed=atom&amp;title=Demo%3Acoremark"/>
	<link rel="alternate" type="text/html" href="https://docs.bouffalolab.com/index.php?title=Demo:coremark&amp;action=history"/>
	<updated>2026-04-14T06:25:56Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://docs.bouffalolab.com/index.php?title=Demo:coremark&amp;diff=114&amp;oldid=prev</id>
		<title>武楷轩：​coremark</title>
		<link rel="alternate" type="text/html" href="https://docs.bouffalolab.com/index.php?title=Demo:coremark&amp;diff=114&amp;oldid=prev"/>
		<updated>2025-08-04T08:22:48Z</updated>

		<summary type="html">&lt;p&gt;coremark&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Demo简介 (Introduction) ===&lt;br /&gt;
CoreMark 的主要目标是提供一个简单的方法来测试处理器核心功能,该Demo存放在SDK的 bouffalo_sdk/examples/coremark_v1.01 下。&lt;br /&gt;
&lt;br /&gt;
关于处理器，更多信息请访问 www.eembc.org。&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== 构建与运行 ====&lt;br /&gt;
&lt;br /&gt;
* 使用 &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; 命令构建和运行基准测试。&lt;br /&gt;
* 运行结果会输出到 &amp;lt;code&amp;gt;run1.log&amp;lt;/code&amp;gt; 和 &amp;lt;code&amp;gt;run2.log&amp;lt;/code&amp;gt; 文件中，性能结果在 &amp;lt;code&amp;gt;run1.log&amp;lt;/code&amp;gt; 中。&lt;br /&gt;
&lt;br /&gt;
==== 交叉编译 ====&lt;br /&gt;
&lt;br /&gt;
* 对于交叉编译平台，需要调整 &amp;lt;code&amp;gt;core_portme.mak&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;core_portme.h&amp;lt;/code&amp;gt; 和可能的 &amp;lt;code&amp;gt;core_portme.c&amp;lt;/code&amp;gt; 文件。&lt;br /&gt;
* 示例：创建一个新平台目录并复制默认配置文件，然后运行： make PORT_DIR=&amp;lt;platform&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Makefile 目标 ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;：默认目标，生成 &amp;lt;code&amp;gt;run1.log&amp;lt;/code&amp;gt; 和 &amp;lt;code&amp;gt;run2.log&amp;lt;/code&amp;gt;。&lt;br /&gt;
* &amp;lt;code&amp;gt;run1.log&amp;lt;/code&amp;gt;：性能参数运行结果。&lt;br /&gt;
* &amp;lt;code&amp;gt;run2.log&amp;lt;/code&amp;gt;：验证参数运行结果。&lt;br /&gt;
* &amp;lt;code&amp;gt;run3.log&amp;lt;/code&amp;gt;：生成配置文件的运行结果。&lt;br /&gt;
* &amp;lt;code&amp;gt;compile&amp;lt;/code&amp;gt;：编译基准测试可执行文件。&lt;br /&gt;
* &amp;lt;code&amp;gt;link&amp;lt;/code&amp;gt;：链接基准测试可执行文件。&lt;br /&gt;
* &amp;lt;code&amp;gt;check&amp;lt;/code&amp;gt;：验证源文件的 MD5 值。&lt;br /&gt;
* &amp;lt;code&amp;gt;clean&amp;lt;/code&amp;gt;：清理临时文件。&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Make 标志 ====&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;ITERATIONS&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;：设置运行迭代次数，默认运行 10-100 秒。例如： make ITERATIONS=10 适用于模拟器、功耗测量等场景。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;XCFLAGS&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;：添加编译器标志。例如： make XCFLAGS=&amp;quot;-g -DMULTITHREAD=4 -DUSE_FORK=1&amp;quot;&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;CORE_DEBUG&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;：调试运行时使用。例如： make XCFLAGS=&amp;quot;-DCORE_DEBUG=1&amp;quot;&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;REBUILD&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;：强制重新构建可执行文件。&lt;br /&gt;
&lt;br /&gt;
==== 无 &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; 系统 (Systems Without &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;) ====&lt;br /&gt;
&lt;br /&gt;
* 手动编译所需文件并运行。例如：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;gcc -O2 -o coremark.exe core_list_join.c core_main.c core_matrix.c core_state.c core_util.c simple/core_portme.c -DPERFORMANCE_RUN=1 -DITERATIONS=1000&lt;br /&gt;
&lt;br /&gt;
./coremark.exe &amp;gt; run1.log&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== 并行执行 ===&lt;br /&gt;
&lt;br /&gt;
* 使用 &amp;lt;code&amp;gt;XCFLAGS=-DMULTITHREAD=N&amp;lt;/code&amp;gt; 设置并行线程数。例如： make XCFLAGS=&amp;quot;-DMULTITHREAD=4 -DUSE_PTHREAD&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== 可执行文件运行参数 (Run Parameters) ===&lt;br /&gt;
&lt;br /&gt;
* CoreMark 可执行文件支持多个参数（如果 &amp;lt;code&amp;gt;main()&amp;lt;/code&amp;gt; 支持参数）。&lt;br /&gt;
* 参数包括种子值、迭代次数、数据缓冲区大小等。&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== 运行规则 ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;必须&amp;#039;&amp;#039;&amp;#039;：&lt;br /&gt;
*# 基准测试运行时间至少为 10 秒。&lt;br /&gt;
*# 验证必须成功，种子值为 &amp;lt;code&amp;gt;0,0,0x66&amp;lt;/code&amp;gt; 和 &amp;lt;code&amp;gt;0x3415,0x3415,0x66&amp;lt;/code&amp;gt;。&lt;br /&gt;
*# 如果使用配置文件优化，必须使用种子值 &amp;lt;code&amp;gt;8,8,8&amp;lt;/code&amp;gt; 生成配置文件。&lt;br /&gt;
*# 所有源文件必须使用相同的编译标志。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;允许&amp;#039;&amp;#039;&amp;#039;：&lt;br /&gt;
** 修改迭代次数、工具链、内存分配方法等。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;不允许&amp;#039;&amp;#039;&amp;#039;：&lt;br /&gt;
** 修改除 &amp;lt;code&amp;gt;core_portme*&amp;lt;/code&amp;gt; 外的源文件。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;示例输出：&amp;#039;&amp;#039;&amp;#039;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Benchmark started, please make sure it runs for at least 10s.&lt;br /&gt;
&lt;br /&gt;
                                                             Now PC=a0006152&lt;br /&gt;
2K performance run parameters for coremark.&lt;br /&gt;
CoreMark Size    : 666&lt;br /&gt;
Total ticks      : 11807&lt;br /&gt;
Total time (secs): 11&lt;br /&gt;
Iterations/Sec   : 1000&lt;br /&gt;
Iterations       : 11000&lt;br /&gt;
Compiler version : GCC10.2.0&lt;br /&gt;
Compiler flags   : -O2&lt;br /&gt;
Memory location  : STACK&lt;br /&gt;
seedcrc          : 0xe9f5&lt;br /&gt;
[0]crclist       : 0xe714&lt;br /&gt;
[0]crcmatrix     : 0x1fd7&lt;br /&gt;
[0]crcstate      : 0x8e3a&lt;br /&gt;
[0]crcfinal      : 0x33ff&lt;br /&gt;
Correct operation validated. See readme.txt for run and reporting rules.&lt;br /&gt;
CoreMark 1.0 : 1000 / GCC10.2.0 -O2 / STACK&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>武楷轩</name></author>
	</entry>
</feed>