0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【PHYTEC开发板试用体验】phyBOARD-Pollux i.MX 8M Plus之跑分

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-12-05 11:02 次阅读
本文来源电子发烧友社区,作者:李红洁, 帖子地址:https://bbs.elecfans.com/jishu_2288293_1_1.html

前言
一般拿到手机或者电脑之后我们会跑个分,拿到开发板我们同样也可以跑跑分,从整数性能,浮点性能,数值计算等方面360°无死角跑分,看看打败了全网多少网友。
准备工作
设置虚拟机共享目录
pYYBAGKx3gCAW-4qAACS1quFF28591.png
cp dhrystone2 dhrystone2o3 /mnt/share
即可在windows下的E:virtualboxshare目录下看到复制过来的文件。
poYBAGKx3gCAbc-LAACgNIc3UEI469.png
假设程序复制到了windows下的e:/
lcd e:/
cd /home/root
put livermorewindows下程序导入到开发板的/home/root目录下
chmod +x livermore
./livermore执行
pYYBAGKx3gGARKHVAAB5P8jGOcs534.png
能按照https://bbs.elecfans.com/jishu_2287978_1_1.html介绍的进行应用开发
下载代码
wgethttp://www.roylongbottom.org.uk/classic_benchmarks.tar.gz
tar -xvf classic_benchmarks.tar.gz
整数运算性能测试Dhrystone
Dhrystone是于1984年由Reinhold P. Weicker设计的一套综合的基准程序,该程序用来测试CPU(整数)计算性能。其输出结果为每秒钟运行Dhrystone的次数,即每秒钟迭代主循环的次数。
修改代码
代码结构
代码位于source_code文件夹下
common_64bit/
common_32bit
CPU相关信息获取和时间测量接口
//getSecs()
local_time()
start_time()
end_time()
getDetails()
ldhrystone2/dhry_2.c
算法无需修改
ldhrystone2/dhry_1.c
main按需修改
lcommon_64bit/cpuidh.h复制到dhrystone2
lcommon_64bit/cpuidc64.c复制到dhrystone2
1.注释掉int getDetails()函数,我们这里不获取CPU对应的信息。
l修改dhry_1.c
因为没有实现getDetails,注释掉如下代码.
#if 0
getDetails();
for (i=1; i<10; i++)
{
printf("%sn", configdata);
}
printf("n");
fprintf (Ap, " #####################################################nn");
for (i=1; i<10; i++)
{
fprintf(Ap, "%s n", configdata);
}
fprintf (Ap, "n");
printf("##########################################n");
#endif
如下地方语法错误
#endif "Register option Selected."改为
#endif // "Register option Selected."
前面添加接口函数申明
void local_time();
void start_time();
void end_time();
两处printf ("Ptr_Comp: * %dn", (int) Ptr_Glob->Ptr_Comp);改为
printf ("Ptr_Comp: * %pn", Ptr_Glob->Ptr_Comp);
编译运行
$CC *.c -o dhrystone2o3 -O1
$CC *.c -o dhrystone2o3 -O3
将程序导入到开发板运行
pYYBAGKx3gKAOfBqAADm1AjcWak231.png
poYBAGKx3gKAIfHcAADlK_2_1Zs349.png
测试结果会添加到文件Dhry.txt
pYYBAGKx3gOAQiakAABFDq53jyM012.png
测试结果
-O1
-O3
DMIPS
3078.98
4452.61
结果对比
http://www.roylongbottom.org.uk/dhrystone%20results.htm
可以看到和Athlon 64接近。
poYBAGKx3gSAXkyJAACbUqiqI5E589.png
浮点运算性能测试whetstone修改代码
代码结构
代码位于source_code文件夹下
common_64bit/
common_32bit
CPU相关信息获取和时间测量接口
//getSecs()
local_time()
start_time()
end_time()
getDetails()
whetstone/whets.c
main按需修改
lcommon_64bit/cpuidh.h复制到whetstone
lcommon_64bit/cpuidc64.c复制到whetstone
1.注释掉int getDetails()函数,我们这里不获取CPU对应的信息。
lWhets.c
注释掉以下代码
#if 0
getDetails();
for (i=1; i<10; i++)
{
printf("%sn", configdata);
}
local_time();
printf("n");
printf("##########################################n");
printf("%s Precision C Whetstone Benchmark %s, %sn", Precision, opt, timedaa
y);
#endif
前面添加接口函数申明
void local_time();
void start_time();
void end_time();
#include "cpuidh.h"后包含math.h
#include "cpuidh.h"
#include
fprintf (outfile, " %9.3f %9.3fn",
loop_mops[section], loop_time[section], results[section]);
改为
fprintf (outfile, " %9.3f %9.3f %9.3fn",
loop_mops[section], loop_time[section], results[section]);
编译运行
$CC *.c -o whetstone -lm -O1
$CC *.c -o whetstoneo3 -lm -O3
将程序导入到开发板运行
poYBAGKx3gWAH7-3AADEfWDZOyA898.png
pYYBAGKx3gWAEi4VAADCxnhIyrk059.png
测试结果会记录到文件whets.txt
poYBAGKx3gaABSusAAEqM_q-lg8276.png
测试结果
-O1
-O3
MWIPS
1369.125
1931.551
结果对比
http://www.roylongbottom.org.uk/whetstone%20results.htm
看到和Core 2 Duo 1 CP相当
pYYBAGKx3geAZjZWAAB04nm9S3s200.png
Linpack浮点
Linpack是国际上使用最广泛的测试高性能计算机系统浮点性能的基准测试。通过对高性能计算机采用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能计算机的浮点计算性能。Linpack的结果按每秒浮点运算次数(flops)表示。
修改代码
代码结构
代码位于source_code文件夹下
common_64bit/
common_32bit
CPU相关信息获取和时间测量接口
//getSecs()
local_time()
start_time()
end_time()
getDetails()
linpack/linpack.c
main按需修改
lcommon_64bit/cpuidh.h复制到linpack
lcommon_64bit/cpuidc64.c复制到linpack
1.注释掉int getDetails()函数,我们这里不获取CPU对应的信息。
llinpack.c
注释掉以下代码
#if 0
getDetails();
for (i=1; i<10; i++)
{
printf("%sn", configdata);
}
printf("n");
printf("##########################################n");
#endif
前面添加接口函数申明
void local_time();
void start_time();
void end_time();
#include "cpuidh.h"后包含string.h
#include "cpuidh.h"
#include
main原型函数添加返回类型int
编译运行
$CC *.c -o linpack -O1
$CC *.c -o linpacko3 -O3
将程序导入到开发板运行
pYYBAGKx3geADQGhAADkf2SlJPI200.png
poYBAGKx3giAflOjAABW9WcL1AU253.png
poYBAGKx3gmAKscdAADlDxDoEV4988.png
pYYBAGKx3gqASq2aAABSsvi4hNo772.png

测试结果会记录到文件Linpack.txt
pYYBAGKx3guAQy5CAABYAi0fmok982.png
测试结果
-O1
-O3
MFLOPS
240.57
460.94
结果对比
http://www.roylongbottom.org.uk/linpack%20results.htm
Pentium 4相当
poYBAGKx3guASnV9AACAmW-vzJM532.png
livermore数值计算修改代码
代码结构
代码位于source_code文件夹下
common_64bit/
common_32bit
CPU相关信息获取和时间测量接口
//getSecs()
local_time()
start_time()
end_time()
getDetails()
livermore_loops/lloops.c
main按需修改
lcommon_64bit/cpuidh.h复制到livermore_loops
lcommon_64bit/cpuidc64.c复制到livermore_loops
1.注释掉int getDetails()函数,我们这里不获取CPU对应的信息。
llloops.c
注释掉以下代码
#if 0
getDetails();
for (i=1; i<10; i++)
{
printf("%sn", configdata);
}
printf("n");
fprintf (outfile, " #####################################################n\
n");
for (i=1; i<10; i++)
{
fprintf(outfile, "%s n", configdata);
}
fprintf (outfile, "n");
#endif
前面添加接口函数申明
void local_time();
void start_time();
void end_time();
#include "cpuidh.h"后包含string.h
#include "cpuidh.h"
#include
main原型函数添加返回类型int
编译运行
$CC *.c -o livermore -lm
$CC *.c -o livermoreo3 -lm -O3
将程序导入到开发板运行
pYYBAGKx3gyAbMuZAACHVeObAdM646.png
测试结果会记录到文件LLloops.txt
测试结果
-O1
-O3
MFLOPS
174.5
/
结果对比
http://www.roylongbottom.org.uk/livermore%20loops%20results.htm
Celeron A相当

poYBAGKx3g2AezWdAACLmtEoGDE973.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PHYTEC
    +关注

    关注

    0

    文章

    19

    浏览量

    3613
  • 开发板试用
    +关注

    关注

    3

    文章

    299

    浏览量

    1912
收藏 人收藏

    评论

    相关推荐

    I.MX RT1052代码执行在哪里?

    试用开发板里有了I.MX RT1052 但是看I.MX RT1052有代码与数据的SPI Flash,还有SRAM,还有片上的TCM 代码可以执行在TCM上么?还是在SRAM上运行。
    发表于 11-09 06:49

    标准系统:OSWare 大牛-8M Mini

    开发板名称(芯片型号) OSWare 大牛-8M Mini 芯片架构 CPU频率 介绍(字数请控制在200字以内) NXP i.MX 8M Mini是一款集成4核ARM Corte
    发表于 10-19 10:53

    NXP开发板有哪些?基于NXP i.MX 6UL、i.MX 8M Mini、i.MX 8M Plus、LS1028A的开发板概述

    一直以来,米尔和NXP都保持着深度合作,推出了基于NXP系列产品(包括i.MX 6UL、i.MX 8M Mini、i.MX 8M
    的头像 发表于 09-15 09:15 694次阅读
    NXP<b class='flag-5'>开发板</b>有哪些?基于NXP <b class='flag-5'>i.MX</b> 6UL、<b class='flag-5'>i.MX</b> <b class='flag-5'>8M</b> Mini、<b class='flag-5'>i.MX</b> <b class='flag-5'>8M</b> <b class='flag-5'>Plus</b>、LS1028A的<b class='flag-5'>开发板</b>概述

    i.MX 8M加标称驱动模式

    电子发烧友网站提供《i.MX 8M加标称驱动模式.pdf》资料免费下载
    发表于 08-17 14:18 0次下载
    <b class='flag-5'>i.MX</b> <b class='flag-5'>8M</b>加标称驱动模式

    【资料分享】NXP i.MX 8M Mini工业核心规格书

    产品二次开发;(6)提供长期的售后服务。 9 增值服务 主板定制设计 核心定制设计 嵌入式软件开发 项目合作开发 技术培训 如需获取更完整的关于NXP
    发表于 06-15 10:54

    NXP i.MX 8M Plus工业核心规格书(四核ARM Cortex-A53 + 单核ARM Cortex-M7,主频1.6GHz)

    项目合作开发 技术培训 如需获取更完整的关于NXP i.MX 8M Plus工业核心硬件的开发
    发表于 06-13 17:01

    i.MX8M-Plus U-Boot RDC如何设置?

    在“ i.MX 8M Plus 应用处理器参考手册,修订版 1,06/2021”中,我阅读了“3.2 资源域控制器 (RDC)”一章,我看到了几个 RDC_PDAPxxx 寄存器的复位值。 在我
    发表于 05-31 07:14

    如何知道i.MX 8 QM与Super Amoled Display兼容?

    我希望你过得很好。 请参阅 i.MX 8QuadMax 应用处理器参考手册第 15 章显示、成像和相机子系统, 了解 i.MX8QM 支持的显示规格。 谢谢
    发表于 05-22 07:59

    如何为i.MX8M Plus构建SCFW?

    我们正在推出一款基于 i.MX8M Plus 的新。我找到了技术说明 AN13275.pdf,其中包含有关编译所有软件的说明。 我目前被困在 SCFW 上。我已经下载了 SCFW 移植工具包,其中
    发表于 05-17 12:58

    phycore iMX8Mplus如何将WM8960音频编解码器与其集成?

    我们正在开发 phycore i MX 8M plus,我们正在尝试将WM8960 音频编解码器与其集成。 我们已经添加了我们的 dts 文
    发表于 05-17 08:06

    i.MX88M系列的原理图检查表工具有什么帮助吗?

    i.MX 88M 系列的原理图检查表工具有什么帮助吗? 我认为这对初次设计的公司非常有用,因为其他制造商提供的,它可以节省时间,我认为我需要它,因为我可以专注于特定的主题,所以我想知道你是否可以支持我。
    发表于 05-16 07:47

    不允许32位传输的i.MX 8是否有限制?

    我有一个 PCIe 设备(它是一个 FPGA )连接到 i.MX 8M,我发现 DMA 传输有问题。该设备本身在较旧的 ARM 系统上运行良好了几年。这是我的问题: 我在 PCI 总线上开始了 4
    发表于 05-11 06:34

    如何在android源代码的imx8mp-phyboard-pollux上连接wm8960音频模块?

    我们正在开发 phycore i MX 8M plus,我们正在尝试将WM8960 音频编解码器与其集成。 我们已经添加了我们的 dts 文
    发表于 05-10 07:28

    如何在Android 11中为imx8mp-phyboard-pollux开发板调出wm8960音频模块?

    我们正在开发 phycore i MX 8M plus,我们正在尝试将WM8960 音频编解码器与其集成。 我们已经添加了我们的 dts 文
    发表于 05-09 08:40

    对于i.MX 8M Mini处理器,使用mscale ddr工具生成DDR校准值的目的是什么?

    对于i.MX 8M Mini处理器,使用mscale ddr工具生成DDR校准值的目的是什么? 我有一个运行 u-boot 的 i.MX 8M Mini 处理器。查看 u-boot 源
    发表于 05-05 09:09