查看: 1937|回复: 1

[评测分享] 【米尔基于瑞萨 RZ/G2L开发板测评】+03.CPU/DDR功能测试(zmj)

[复制链接]
  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 250 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2023-6-20 09:18:33 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 satoll 于 2023-7-18 17:41 编辑

    【米尔基于瑞萨 RZ/G2L开发板测评】+03.CPU/DDR功能测试(zmj)

    MYD-YG2LX 采用瑞萨 RZ/G2L 作为核心处理器,该处理器搭载双核 Cortex-A55@1.2GHz+Cortex-M33@200MHz 处理器,其内部集成高性能 3D 加速引擎 Mail-G31 GPU(500MHz)和视频处理单元(支持 H.264 硬件编解码),16 位的 DDR4-1600 / DDR3L-1333 内存控制器、千兆以太网控制器、USB、CAN、SD 卡、MIPI-CSI 等外设接口,在工业、医疗、电力等行业都得到广泛的应用。

    本章节将以米尔的 MYD-YG2LX 开发板为例进行CPU/DDR功能测试说明。  

    1.        CPU性能测试
    1.1        查看CPU信息

    查看CPU信息,反馈结果是ARM Cortex-A55双核,支持32-bit/64-bit两种模式,L2-Cache大小为256kB。  

    1. //------查看CPU信息:lscpu
    2. //---指令
    3. lscpu
    4. //---log信息(示例)
    5. root@myir-yg2lx:~# lscpu
    6. Architecture:                    aarch64
    7. CPU op-mode(s):                  32-bit, 64-bit
    8. Byte Order:                      Little Endian
    9. CPU(s):                          2
    10. On-line CPU(s) list:             0,1
    11. Thread(s) per core:              1
    12. Core(s) per socket:              2
    13. Socket(s):                       1
    14. Vendor ID:                       ARM
    15. Model:                           0
    16. Model name:                      Cortex-A55
    17. Stepping:                        r2p0
    18. CPU max MHz:                     1200.0000
    19. CPU min MHz:                     150.0000
    20. BogoMIPS:                        48.00
    21. L2 cache:                        256 KiB
    22. Vulnerability Itlb multihit:     Not affected
    23. Vulnerability L1tf:              Not affected
    24. Vulnerability Mds:               Not affected
    25. Vulnerability Meltdown:          Not affected
    26. Vulnerability Spec store bypass: Not affected
    27. Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
    28. Vulnerability Spectre v2:        Not affected
    29. Vulnerability Srbds:             Not affected
    30. Vulnerability Tsx async abort:   Not affected
    31. Flags:                           fp asimd evtstrm crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
    32. root@myir-yg2lx:~#

    33. //------其他指令
    34. CPU内核: lscpu | grep 'Core(s) per socket:' | awk '{printf$4}' && echo ""
    35. CPU主频: cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq
    36. CPU温度: cat /sys/class/thermal/thermal_zone0/temp
    复制代码


    image-20230619092101628.png


    还可以通过查看/proc/cpuinfo 文件获取CPU信息,获取的信息不如lscpu更加详细。

    1. //------查看CPU信息:
    2. cat /proc/cpuinfo
    3. //---log信息(示例)
    4. root@myir-yg2lx:~/zmj_ws# cat /proc/cpuinfo
    5. processor       : 0
    6. BogoMIPS        : 48.00
    7. Features        : fp asimd evtstrm crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
    8. CPU implementer : 0x41
    9. CPU architecture: 8
    10. CPU variant     : 0x2
    11. CPU part        : 0xd05
    12. CPU revision    : 0

    13. processor       : 1
    14. BogoMIPS        : 48.00
    15. Features        : fp asimd evtstrm crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
    16. CPU implementer : 0x41
    17. CPU architecture: 8
    18. CPU variant     : 0x2
    19. CPU part        : 0xd05
    20. CPU revision    : 0

    21. root@myir-yg2lx:~/zmj_ws#
    复制代码


    image-20230619092648207.png


    1.2        CPU 压力测试

    CPU 的压力的测试方式有很多,我们通过 bc 命令来计算圆周率方法来测试 CPU 在运算过程中的稳定性。

    1. //------CPU压力测试:PI(派)运算
    2. //---执行PI(派)运算
    3. echo "scale=5000; 4*a(1)" | bc -l -q &
    4. //---计时模式执行PI(派)运算:统计时间只能当作参考
    5. time echo "scale=5000; 4*a(1)" | bc -l -q &
    6. 上述命令将在后台计算的 PI,并精确到小数点后 5000 位,计算过程需要一段时间。
    7. 约 1.25 分钟后,PI 结果被计算出来。 在此期间 CPU 使用率达到 100%,没有发生异常,说明 CPU 压力测试通过。还可以继续增加精确值,可进一步提高测试压力。
    复制代码


    image-20230619204736119.png


    1.3        CoreMark性能测试

    先对CoreMark做一个简单介绍,然后再进行CoreMark测试。



    1.3.1        CoreMark简介

    //------CoreMark简介

    CoreMark是用来衡量嵌入式系统中心处理单元(CPU,或叫做微控制器MCU)性能的标准。

    该标准于2009年由EEMBC组织的Shay Gla-On提出,并且试图将其发展成为工业标准,从而代替陈旧的Dhrystone标准。代码使用C语言写成,包含如下的运算法则:列举(寻找并排序),数学矩阵操作(普通矩阵运算)和状态机(用来确定输入流中是否包含有效数字),最后还包括CRC(循环冗余校验)。

    CoreMark是由EEMBC(Embedded Microprocessor Benchmark Consortium)的Shay Gla-On于2009年提出的一项基准测试程序,CoreMark的主要目标是简化操作,并提供一套测试单核处理器核心的方法。测试标准是在配置参数的组合下单位时间内运行的CoreMark程序次数(单位:CoreMark/MHz),该数字值越大则说明测试的性能越好。

    目前在嵌入式CPU行业中普遍公认的性能测试指标的标准主要使用以下三种,MIPS、Dhrystone、Coremark,而CoreMark与Dhrystone一样,拥有体积小、方便移植、易于理解、免费并且显示单个数字基准分数。与Dhrystone不同的是,Dhrystone的主要部分实际上暴露了编译器优化工作负载的能力,而不是实际MCU或CPU的能力,的性能,而CoreMark具有特定的运行和报告规则,从而可以避免由于所使用的编译库不同而导致的测试结果难以比较。


    1.3.2        CoreMark源码获取

    //------CoreMark源码获取


    EEMBC 在将 CoreMark 源码托管在 GitHub 上可以访**ithub.com/eembc/coremark直接点击下载获得源码;也可以通过 git 命令下载到本地。  

    1. //------CoreMark源码获取
    2. //---直接下载
    3. https://github.com/eembc/coremark
    4. //---Git下载
    5. git clone https://github.com/eembc/coremark.git
    复制代码


    CoreMark 项目的详细介绍,可以查阅当前目录下 “coremark/docs/html/index.html” 。以下是当前目录的每个文件介绍:  

    1. #在tree命令的输出中,作了部分删除(不影响分析整个CoreMark工程)
    2. imaginemiracle@:coremark$ tree
    3. .
    4. ├── barebones --移植到裸机环境下需要修改的目录
    5. │   ├── core_portme.c --移植的目标平台配置信息
    6. │   ├── core_portme.h --计时以及板级初始化实现
    7. │   ├── core_portme.mak --该子目录的makefile
    8. │   ├── cvt.c
    9. │   └── ee_printf.c --打印函数串口发送实现
    10. ├── core_list_join.c --列表操作程序
    11. ├── core_main.c --主程序
    12. ├── coremark.h --项目配置与数据结构的定义头文件
    13. ├── coremark.md5
    14. ├── core_matrix.c --矩阵运算程序
    15. ├── core_state.c --状态机控制程序
    16. ├── core_util.c --CRC计算程序
    17. ├── cygwin --x86 cygwin和gcc 3.4(四核,双核和单核系统)的测试代码
    18. │   ├── core_portme.c
    19. │   ├── core_portme.h
    20. │   └── core_portme.mak
    21. ├── freebsd --以下同理,是在不同操作系统下的测试代码
    22. │   ├── ...
    23. ├── LICENSE.md
    24. ├── linux
    25. │   ├── ...
    26. ├── linux64
    27. │   ├── ...
    28. ├── macos
    29. │   ├── ...
    30. ├── Makefile
    31. ├── README.md --自述文件,CoreMark项目的基本介绍
    32. ├── rtems
    33. │   ├── ...
    34. └──simple
    35.    ├── ...
    36.    └── core_portme.mak
    复制代码

    1.3.3        运行coremark.exe测试性能

    运行coremark.rvexe测试性能。

    image-20230619205832937.png


    2.        DDR内存性能测试  

    MYD-YG2LX 核心芯片提供了一个外部 SDRAM 接口,支持外部存储器高达 4 Gbytes,16 位的 DDR3L-1333 / DDR4-1600,该开发板内存采用 DDR4,分为 1GByte 和2GBytes 版本,下面以 1GByte DDR 来说明内存的测试。  


    2.1        DDR内存基本信息

    MYD-YG2LX开发板板载2GB的RAM,通过“free -h”指令读取内存DDR的使用情况。

    1. //------测试工具(MYD-YG2LX系统已带)
    2. free
    3. //---测试指令
    4. free -h
    5. 或者
    6. free -m
    7. //---参数解析
    8. -h 参数代表单位为 GByte
    9. -m 参数代表单位为 MByte
    10. total :内存总量
    11. used :被使用的内存量
    12. free :可使用的内存量
    复制代码


    image-20230619092236984.png


    2.2        查看内存信息

    读取系统中的内存的参数信息,则可以通过/proc/meminfo 文件得到。

    1. //------查看内存信息
    2. cat /proc/meminfo
    3. //---参数解析
    4. MemTotal:所有可用的 RAM 大小,物理内存减去预留位和内核使用
    5. MemFree :LowFree + HighFree
    6. Buffers:用来给块设备做缓存的大小
    7. Cached:文件的缓冲区大小
    8. SwapCached:已经被交换出来的内存。与 I/O 相关
    9. Active:经常(最近)被使用的内存
    10. Inactive:最近不常使用的内存
    11. //---示例
    12. root@myir-yg2lx:~/zmj_ws# cat /proc/meminfo
    13. MemTotal:        1905056 kB
    14. MemFree:          900720 kB
    15. MemAvailable:    1079336 kB
    16. Buffers:            7064 kB
    17. Cached:           235636 kB
    18. SwapCached:            0 kB
    19. Active:            29408 kB
    20. Inactive:         349280 kB
    21. Active(anon):        592 kB
    22. Inactive(anon):   144636 kB
    23. Active(file):      28816 kB
    24. Inactive(file):   204644 kB
    25. Unevictable:      524288 kB
    26. Mlocked:          524288 kB
    27. SwapTotal:             0 kB
    28. SwapFree:              0 kB
    29. Dirty:                 0 kB
    30. Writeback:             0 kB
    31. AnonPages:        660372 kB
    32. Mapped:           109644 kB
    33. Shmem:             11148 kB
    34. KReclaimable:      14216 kB
    35. Slab:              74784 kB
    36. SReclaimable:      14216 kB
    37. SUnreclaim:        60568 kB
    38. KernelStack:        3440 kB
    39. PageTables:         3800 kB
    40. NFS_Unstable:          0 kB
    41. Bounce:                0 kB
    42. WritebackTmp:          0 kB
    43. CommitLimit:      952528 kB
    44. Committed_AS:    1703192 kB
    45. VmallocTotal:   135290159040 kB
    46. VmallocUsed:        4952 kB
    47. VmallocChunk:          0 kB
    48. Percpu:              704 kB
    49. AnonHugePages:    581632 kB
    50. ShmemHugePages:        0 kB
    51. ShmemPmdMapped:        0 kB
    52. FileHugePages:         0 kB
    53. FilePmdMapped:         0 kB
    54. CmaTotal:         393216 kB
    55. CmaFree:          384076 kB
    56. HugePages_Total:       0
    57. HugePages_Free:        0
    58. HugePages_Rsvd:        0
    59. HugePages_Surp:        0
    60. Hugepagesize:       2048 kB
    61. Hugetlb:               0 kB
    62. root@myir-yg2lx:~/zmj_ws#
    复制代码


    2.3        内存功能压力测试-memtester

    内存功能压力测试-memtester

    通过给定测试内存的大小和次数, 可以对系统现有的内存进行压力上的测试。可使用系统工具 memtester 进行测试,如指定内存大小 512MB,测试次数为 10,测试命令为“memtester 512M 10"。


    下列以使用 512MB 内存空间,单次测试为例:  

    1. //------测试工具(MYD-YG2LX系统已带)
    2. memtester
    3. //------测试指令
    4. memtester 512M 1
    5. //---指令说明
    6. 指定内存大小 512MB,测试次数为 1
    7. //---示例
    8. root@myir-yg2lx:~/zmj_ws# memtester 512M 1
    9. memtester version 4.3.0 (64-bit)
    10. Copyright (C) 2001-2012 Charles Cazabon.
    11. Licensed under the GNU General Public License version 2 (only).

    12. pagesize is 4096
    13. pagesizemask is 0xfffffffffffff000
    14. want 512MB (536870912 bytes)
    15. got  512MB (536870912 bytes), trying mlock ...locked.
    16. Loop 1/1:
    17.   Stuck Address       : ok
    18.   Random Value        : ok
    19.   Compare XOR         : ok
    20.   Compare SUB         : ok
    21.   Compare MUL         : ok
    22.   Compare DIV         : ok
    23.   Compare OR          : ok
    24.   Compare AND         : ok
    25.   Sequential Increment: ok
    26.   Solid Bits          : ok
    27.   Block Sequential    : ok
    28.   Checkerboard        : ok
    29.   Bit Spread          : ok
    30.   Bit Flip            : ok
    31.   Walking Ones        : ok
    32.   Walking Zeroes      : ok

    33. Done.
    34. root@myir-yg2lx:~/zmj_ws#
    复制代码


    image-20230619091527703.png


    //------end







    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-9-18 16:57
  • 签到天数: 48 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2023-6-21 16:52:55 | 显示全部楼层
    很不错,顶一下
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-25 10:18 , Processed in 0.132072 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.