单片机/MCUwilliam hill官网
直播中

卿小小_9e6

7年用户 2113经验值
擅长:可编程逻辑
私信 关注

【youyeetoo X1 windows 开发板体验】+ 影音处理和AI模型移植

【youyeetoo X1 windows 开发板】+01.开箱(zmj)

1. 感谢

感谢深圳风火轮科技有限公司和电子发烧友提供的此次试用机会,可以体验youyeetoo X1 windows 开发板的魅力。

(因为个人身体原因导致报告推迟深表歉意)

//------深圳风火轮科技有限公司
深圳风火轮科技有限公司成立于2012年,是专注于物联网/边缘计算/人工智能应用/机器人的硬件和软件技术服务的公司,围绕嵌入式系统应用和NFC近场通信和机器人相关领域拥有多个软件著作权和专利,在这些领域提供广泛的产品和服务,并提供定制设计。
//------公司网址
https://youyeetoo.cn/

//------youyeetoo X1 windows开发板
//---开发板简介
https://youyeetoo.cn/article-18-1.html
//---开发板william hill官网

https://youyeetoo.cn/forum-43-1.html
//---开发板WIKI教程
https://wiki.youyeetoo.cn/zh/x1

2. 开发板介绍

2.1 开发板简介

youyeetoo X1 开发板是一款由深圳风火轮科技推出的x86架构单板电脑(SBC),可运行全功能版的windows和Linux, 具备低成本,高性能的特点(11代Intel CPU N5105),它主要面向AIOT和自动控制 市场,尺寸只有手掌大(115 * 75mm),接口却非常丰富,内置了3路串口UART,2路HDMI,6路USB口、1路I2C、1路SPI、5路GPIO等 AIOT物联网常用的接口,还能接7寸MIPI触摸屏。

主流配置8G DDR4+128G eMMC 的价格低至千元以内,是人工智能边缘计算的最佳选择。

//------youyeetoo X1 windows开发板
//---开发板简介
https://youyeetoo.cn/article-18-1.html
//---开发板william hill官网

https://youyeetoo.cn/forum-43-1.html
//---开发板WIKI教程
https://wiki.youyeetoo.cn/zh/x1

//------板卡图片
image-20240314141343087.png

2.2 规格参数

规格参数表:

处理器CPU: 11代 Intel® Jasper Lake N5105 赛扬 (CPU工作频率 2.0~2.9GHz,四核四线程 10nm TDP 10W)
显卡GPU: Intel®UHD超高清核心显(频率:450 - 800MHz)
内存RAM: 板载 4G / 8G /16G LPDDR4 (可选) 主推 8GB
硬盘: 板载eMMC: 0/64G/128G/256G 可选
M.2扩展 :支持 NVMe 2280 SSD固态(PCIE3.0) 和 m.2 SATA 2280 SSD (支持超高速 PCle Gen 3.0 x4, NVMe 1.4,也兼容PCle Gen 3.0 x2 NVME)
SATA扩展:通过SATA转接板 可以扩展 SATA3硬盘 (需要另购SATA转接板配件)
Micro SD(TF) : 支持市面上主流的所有TF卡
网络: 有线网络:RJ45千兆网口 1个
无线网络:通过M.2槽扩展,可选 WIFI5+BT5.0 / WIFI6+BT5.2 双频WIFI蓝牙
4G LTE: 通过 M.2槽扩展,默认调通 EC20 4G数据上网 (需要另购4G转接板配件)
显示输出 (多屏异显) HDMI 接口:HDMI2.0 4K/60Hz
Micro HDMI 接口:HDMI2.0 4K/60Hz
MIPI FPC接口 :默认支持风火轮MIPI7LCD(1024*600 LCD触摸屏)
USB USB-A 座子:USB2.0*2
USB-A 座子:USB3.0*2
USB插针: USB2.0*2
音频输出 3.5耳机座(4线式),可直接用带MIC的通话耳机
SPK插针座子:板载3W功放,匹配8欧喇叭
HDMI音频输出(音频可以走HDMI输到电视上)
音频输入 1. 板载数字麦克风MIC,带降噪功能 (默认BIOS支持)
2. 背面MIC座2PIN: 可接模拟信号的MIC 咪头3.3V,座子间距0.8mm(需换BIOS才能使用)
M.2插槽扩展 2280规格:支持NVME SSD/M.2 SATA SSD (M-key)
2230规格:支持WIFI5+BT5.0 / WIFI6+BT5.2 模组扩展 或者购买风火轮4G转接板,支持4G LTE (E-key)
UART串口 有3个UART TTL 电平串口,可转接 RS232或RS485等模块,也可以CAN通信模块
I2C IIC接口*1 4PIN插针引出,提供windows/linux 操作例子教程 默认3.3V
SPI SPI接口*1 5PIN插针引出,提供windows/linux 操作例子教程 默认3.3V
GPIO GPIO*5 6PIN插针引出,提供windows/linux 操作例子教程 默认3.3V
LED灯 板载 红蓝LED灯 2个 ,并联4PIN插针引出,方便安装整机 默认3.3V (提供教程API接口可控制亮灭或者心跳闪烁),默认红灯闪烁绿灯常灭,可编程控制
按键 Power 键1 Reset 键1(恢复BIOS设置)
RTC RTC座子SH1.25规格, 可以外接纽扣电池CR2032,实现断电时间和定时开机, 3.3V RTC一年功耗35mAh左右
通电开机 支持通电开机 (可以在BIOS中设置)
电源 12VDC座子 输入,2PIN 插针输入 推荐电源适配器 12V3A
尺寸 115*75mm
散热器 FAN座子规格: SH1.0 4PIN座子 标配带散热器出货 5V/0.2A 功率
系统OS Windows 10/11 和 Linux ubuntu / Linux Debian 提供硬件操作教程和例子
NFC NFC被动通信,支持与手机进行数据传输,兼容android/IOS手机 风火轮提供例子和API教程
软件看门狗 标准windows API 支持
CPU温度读取 标准windows API 支持
CPU风扇调速 标准windows API 支持
POE 支持AC/BT 协议 30W POE模块,可定制60W支持 (需要另购POE模组)

//------youyeetoo X1接口图

image-20240314150639142.png

2.3 原理图

原理图:youyeetoo_X1_SBC_原理图_V3.pdf
*附件:youyeetoo_X1_SBC_原理图_V3.pdf

3. 开箱

3.1 系统状态

默认系统Windows10,youyeetoo_X1_SBC基本状态如图所示(英文版):
image-20240314154416740.png

3.2 系统跑分

安装鲁大师,运行系统跑分(NVME硬盘自己N年前购买的,影响系统评分):
image-20240314154057786.png

3.3 添加桌面图标

系统默认桌面图标仅有回收站和Edge浏览器,对于个人使用来讲不太方便,因此考虑添加桌面图标。

image-20240314155630036.png

//------添加桌面图标
a.右键桌面,选择个性化设置personaliseb.导航栏选择主题Themes,然后在右侧相关设置Related_Settings选择桌面图标设置Desktop_icon_settingsc.勾选需要的图标,此处选择了计算机Computer和网络Networksd.点击OK,添加桌面图标完毕。

//------添加桌面图标示意图
image-20240314155046513.png
image-20240314155053155.png

4. M.2-Key/NVME-SSD

youyeetoo_X1开发板有一个M.2-Key接口,可以接入NVME-SSD。手上有一块铠侠的NVME-M.2 2280-500GB固态硬盘,安装到背面M.2接口。
image-20240314161441433.png

由于固态硬盘安装过多个版本系统,因此固态硬盘需要格式化后再使用,然而,此处竟然遇到一个BUG。

4.1 DiskPart分区(异常)

4.1.1 简介

DiskPart是Windows操作系统中的一个命令行实用程序,用于管理磁盘分区和卷。

DiskPart的特点包括:

  • 功能强大 :它集成了磁盘管理工具中的大多数命令,可以执行各种磁盘分区操作。
  • 命令行操作 :用户可以通过命令提示符直接输入DiskPart命令来组织硬盘分区,或创建脚本文件来批量执行多个命令。
  • 兼容性强 :自Windows 2000以来的所有Windows操作系统版本都支持DiskPart。
  • 管理员权限 :需要以管理员权限启动DiskPart,以便进行更高级的磁盘操作。

使用DiskPart的基本步骤如下:

  • 打开DiskPart :首先需要以管理员身份运行命令提示符,然后输入diskpart命令来启动DiskPart工具。
  • 查看磁盘列表 :在DiskPart中输入list disk命令,可以查看计算机上所有的磁盘列表。
  • 选择磁盘 :使用select disk #命令(#替换为磁盘编号)来选择要操作的磁盘。
  • 执行操作 :例如,创建新的分区可以使用create partition primary命令来创建一个主分区。格式化磁盘则可以使用format fs=ntfs quick命令来进行快速格式化。

DiskPart的参考指令:

//------DiskPart的参考指令
List Disk:显示本机的所有磁盘,以便正确操作目标磁盘
Select Disk 1:选择1号磁盘 一定要选对目标磁盘 前面会有*号标志
Clean :清除1号磁盘上的所有分区
Create Partition Primary Size=512000 创建主分区,容量为:512000MB
Active:激活主分区
Format Quick:快速格式化当前分区
Create Partition Extended:创建扩展分区
Create Partition Logical Size=512000:创建逻辑分区一,容量为:512000MB
Format Quick:快速格式化当前分区
Create Partition Logical Size=512000:创建逻辑分区二,容量为:512000MB
Format Quick :快速格式化当前分区
Create Partition Logical :创建逻辑分区三,大小为剩余的容量
Format Quick :快速格式化当前分区
Exit :退出Diskpart命令环境
Exit :退出命令窗口

总的来说,**在使用DiskPart时,应该非常小心,**因为不正确的操作可能会导致数据丢失。如果您不熟悉这些操作,建议先在非关键数据盘上进行练习,或者寻求专业人士的帮助。此外,如果在使用DiskPart过程中误删了硬盘或分区数据,可能需要使用专业的数据恢复软件来恢复数据。

4.1.2 分区

异常现象:删除硬盘分区正常,创建分区正常,格式化新的分区失败。具体原因暂未知。

固态硬盘分区详细步骤:

//------使用DiskPart工具进行硬盘分区的具体步骤:
1. 打开命令提示符:搜索“cmd”,右键点击并选择“以管理员身份运行”以打开具有管理员权限的命令提示符窗口。
2. 启动DiskPart:在命令提示符中输入`diskpart`,然后按回车键执行,这将启动DiskPart工具。
3. 查看磁盘列表:输入`list disk`,按回车键查看电脑上所有的磁盘列表。
4. 选择要格式化的磁盘:输入`select disk #`(#替换为你想要格式化的磁盘编号),按回车键选择目标磁盘。
5. 清除磁盘:输入`clean`,按回车键清除磁盘上的所有分区和数据。
6. 创建主分区:输入`create partition primary`,按回车键创建一个主分区。
7. 格式化分区:输入`format fs=fat32 quick`(可以将fat32更改为想要的文件系统类型,如ntfs),按回车键进行快速格式化(不应该报错)。
8. 退出DiskPart:输入`exit`,按回车键退出DiskPart工具。

注意:格式化操作会清除磁盘上所有的数据,因此在执行这一操作前,请确保已经备份了所有重要数据。

//------使用DiskPart工具进行硬盘分区的具体步骤
image-20240314171531208.png

4.2 DiskGenius分区(正常)

DiskGenius是一款免费的硬盘管理软件,可以实现硬盘分区、数据恢复等功能。

//------使用DiskGenius工具进行硬盘分区的具体步骤:
1. 打开软件,选择需要分区的硬盘;
2. 设置合理的分区:包括分区格式、分区大小等信息;
3. 执行分区,等待分区完成;
4. 系统设置分区后的硬盘卷标。

image-20240314175158950.png

image-20240314175226409.png

image-20240314175244729.png

image-20240314175646772.png


三楼的GPU测试视频——Blender-Transformers_Optimus_Prime:

Blender-Transformers_Optimus_Prime

回帖(5)

卿小小_9e6

2024-3-23 17:56:47
【youyeetoo X1 windows 开发板】+02.Linux系统体验(zmj)

计划测试Linux的一部分功能,因此从Linux系统安装开始。
1.        尝试Linux系统的几种方法
安装开始前,需要简单介绍一下尝试Linux系统的几种方法,欢迎大家随时补充。
  1. //------尝试Linux系统的几种方法
  2. a.WSL
  3. WSL(Windows Subsystem for Linux)允许用户在Windows上运行原生Linux系统。
  4. b.虚拟机
  5. 使用虚拟机(VirtualBox、VMware、Microsoft Hyper-V等)安装Linux系统。
  6. c.USB体验Linux系统
  7. youyeetoo X1可以设置USB启动,连接装有Linux系统的U盘或者移动硬盘,可以体验Linux系统。
  8. d.直接硬件安装
  9. 直接将Linux安装到youyeetoo X1 开发板的eMMC或者NVME-SSD。
  10. //------体验方案:Ubuntu-22.04.4-LTS
  11. 体验了方案c和方案d。
  12. //------体验结论:
  13. 1.方案c是“c.USB体验Linux系统”,作为临时体验十分便捷,硬件扩展成本低;
  14. 2.方案d是“d.直接硬件安装”,将Linux系统安装部署到了NVME-SSD,用户体验良好,硬件扩展成本高;
  15. 3.我体验的系统是Ubuntu-22.04.4-LTS,版本越高,体验感越好。
youyeetoo X1 开发板也提供了安装Ubuntu的系统教程,为了增强体验感并未使用厂家提供的参考教程和参考文档。
我是从官网下载Ubuntu-22.04.4-LTS版本进行的安装体验,下面描述具体过程。
  1. //------youyeetoo X1 开发板安装Ubuntu系统教程(教程很好,未使用)
  2. https://wiki.youyeetoo.cn/zh/x1/linux/install-system
  3. (系统镜像是ubuntu-22.04.2-desktop-amd64.iso,不是LTS版本)

2.        U盘系统制作与体验
2.1        U盘系统制作
我是在CnetOS环境进行的U盘制作,下述操作指令对于CentOS、Ubuntu或者Debian等系统都是适用的。
  1. //------Ubuntu桌面版(Ubuntu-22.04.4-LTS)
  2. https://cn.ubuntu.com/download/desktop
  3. //------下载及烧录流程
  4. a.下载镜像Ubuntu-22.04.4-LTS并保存到本地,使用wget工具获取Ubuntu系统镜像:ubuntu-22.04.4-desktop-amd64.iso。
  5. wget https://releases.ubuntu.com/22.04/ubuntu-22.04.4-desktop-amd64.iso -O ubuntu-22.04.4-desktop-amd64.iso
  6. (这个命令会将链接中的文件下载到当前目录下,并将其命名为"ubuntu-22.04.4-desktop-amd64.iso")
  7. b.烧录镜像到U盘,U盘容量至少8GB(使用dd指令将系统镜像同步到U盘中)。
  8. sudo dd if=./ubuntu-22.04.4-desktop-amd64.iso of=/dev/sdc bs=4M status=progress oflag=sync
  9. c.确保镜像烧录过程结束(缓存数据同步)
  10. sync
  11. d.完成上述步骤,U盘启动盘烧录完成。它可以作为USB启动镜像,也可以作为启动盘进行Ubuntu-22.04.4-LTS部署。
//------Ubuntu-22.04.4-LTS系统
image-20240323153733456.png
//------烧录镜像到U盘
image-20240315095244900.png

2.2        U盘系统体验
youyeetoo X1 开发板的BIOS在检测到U盘存储介质时会优先考虑U盘启动(即便启动设置是eMMC或者NVME-SSD),这一点对于不熟悉BIOS设置的同学来讲十分友好,值得点赞。
image-20240323160147114.png

image-20240323160448026.png

3.        NVME-SSD系统安装与体验
最开始计划将Ubuntu直接安装到Windows系统所在的eMMC,eMMC容量只有128GB,因此决定将安装安装到NVME-SSD中,这样实现了Windows和Ubuntu的双系统。
3.1        系统安装
安装Ubuntu系统不像CentOS那样进行繁琐的设置,参考下述教程安装部署即可。安装完成之后记得关机拔掉U盘,重启后设置BIOS启动顺序为Ubuntu(NVME-SSD)。
  1. //------参考教程
  2. IT入门必备 篇十八:1分钟上手,5分钟完成,史上最简单保姆级 Ubuntu 安装教程
  3. https://post.smzdm.com/p/an308n73/
//------设置BIOS启动顺序为Ubuntu(快捷键F7)
image-20240323161247728.png


3.2        系统体验
系统启动后连接USB-WIFI,初始我以为还需要进行驱动编译移植,没想到Ubuntu-22.04.4-LTS默认包含了多种设备的驱动,这其中就包括了Realtek系列的USB-WIFI网卡。水星Mercey和TP-Link的很多USB无线网卡硬件是Realtek系列芯片,因此USB-WIFI对我免驱……
顺便提一下USB-WIFI速率的坑,150Mbps/300Mbps/650Mbps/1300Mbps的速率越高越好,我第一个尝试的150Mbps,升级安装系统应用卡的要死。
//------USB-WIFI(水星Mercery和TP-Link)
image-20240323161515598.png


image-20240323162655776.png

//------系统登陆状态
image-20240315112042866.png

//------end


举报

卿小小_9e6

2024-3-24 19:23:17
【youyeetoo X1 windows 开发板】+03.CPU/DDR测试(zmj)
1.        CPU性能测试1.1        查看CPU信息
youyeetoo X1 开发板采用了Intel(R) Celeron(R) N5105的X86架构CPU,支持32-bit/64-bit两种模式指令集。运行时CPU的低功耗模式CPU工作频率800MHz,高性能模式CPU工作频率2.9GHz。  
通过查看CPU信息的反馈结果可以确认上述信息。
  1. //------查看CPU信息:lscpu
  2. //---指令
  3. lscpu
  4. cat /proc/cpuinfo
  5. //---结果
  6. 指令集:x86_64
  7. 4核CPU:编号0~3
  8. //------查看CPU频率:
  9. //---指令
  10. cat /sys/bus/cpu/devices/cpu0/cpufreq/scaling_cur_freq
  11. cat /sys/bus/cpu/devices/cpu0/cpufreq/cpuinfo_max_freq
  12. cat /sys/bus/cpu/devices/cpu0/cpufreq/cpuinfo_min_freq
  13. //---结果
  14. 工作频率:800MHz~2.9GHz
  15. 当前频率:800MHz
  16. //------示例Log信息
  17. zhaomeijing@zhaomeijing-X1-SBC:~/workspace$ lscpu
  18. Architecture:            x86_64
  19.   CPU op-mode(s):        32-bit, 64-bit
  20.   Address sizes:         39 bits physical, 48 bits virtual
  21.   Byte Order:            Little Endian
  22. CPU(s):                  4
  23.   On-line CPU(s) list:   0-3
  24. Vendor ID:               GenuineIntel
  25.   Model name:            Intel(R) Celeron(R) N5105 @ 2.00GHz
  26.     CPU family:          6
  27.     Model:               156
  28.     Thread(s) per core:  1
  29.     Core(s) per socket:  4
  30.     Socket(s):           1
  31.     Stepping:            0
  32.     CPU max MHz:         2900.0000
  33.     CPU min MHz:         800.0000
  34.     BogoMIPS:            3993.60
  35.     Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc art arch_perfmon pebs bts r
  36.                          ep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_de
  37.                          adline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault epb cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust smep
  38.                           erms rdt_a rdseed smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req vn
  39.                          mi umip waitpkg gfni rdpid movdiri movdir64b md_clear flush_l1d arch_capabilities
  40. Virtualization features:
  41.   Virtualization:        VT-x
  42. Caches (sum of all):
  43.   L1d:                   128 KiB (4 instances)
  44.   L1i:                   128 KiB (4 instances)
  45.   L2:                    1.5 MiB (1 instance)
  46.   L3:                    4 MiB (1 instance)
  47. NUMA:
  48.   NUMA node(s):          1
  49.   NUMA node0 CPU(s):     0-3
  50. Vulnerabilities:
  51.   Gather data sampling:  Not affected
  52.   Itlb multihit:         Not affected
  53.   L1tf:                  Not affected
  54.   Mds:                   Not affected
  55.   Meltdown:              Not affected
  56.   Mmio stale data:       Mitigation; Clear CPU buffers; SMT disabled
  57.   Retbleed:              Not affected
  58.   Spec rstack overflow:  Not affected
  59.   Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl
  60.   Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  61.   Spectre v2:            Mitigation; Enhanced / Automatic IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS Not affected
  62.   Srbds:                 Vulnerable: No microcode
  63.   Tsx async abort:       Not affected
  64. zhaomeijing@zhaomeijing-X1-SBC:~/workspace$ cat /proc/cpuinfo
  65. processor       : 0
  66. vendor_id       : GenuineIntel
  67. cpu family      : 6
  68. model           : 156
  69. model name      : Intel(R) Celeron(R) N5105 @ 2.00GHz
  70. stepping        : 0
  71. microcode       : 0x24000024
  72. cpu MHz         : 800.000
  73. cache size      : 4096 KB
  74. physical id     : 0
  75. siblings        : 4
  76. core id         : 0
  77. cpu cores       : 4
  78. apicid          : 0
  79. initial apicid  : 0
  80. fpu             : yes
  81. fpu_exception   : yes
  82. cpuid level     : 27
  83. wp              : yes
  84. flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault epb cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust smep erms rdt_a rdseed smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req vnmi umip waitpkg gfni rdpid movdiri movdir64b md_clear flush_l1d arch_capabilities
  85. vmx flags       : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause
  86. bugs            : spectre_v1 spectre_v2 spec_store_bypass swapgs srbds mmio_stale_data
  87. bogomips        : 3993.60
  88. clflush size    : 64
  89. cache_alignment : 64
  90. address sizes   : 39 bits physical, 48 bits virtual
  91. power management:
  92. processor       : 1
  93. vendor_id       : GenuineIntel
  94. cpu family      : 6
  95. model           : 156
  96. model name      : Intel(R) Celeron(R) N5105 @ 2.00GHz
  97. stepping        : 0
  98. microcode       : 0x24000024
  99. cpu MHz         : 792.446
  100. cache size      : 4096 KB
  101. physical id     : 0
  102. siblings        : 4
  103. core id         : 1
  104. cpu cores       : 4
  105. apicid          : 2
  106. initial apicid  : 2
  107. fpu             : yes
  108. fpu_exception   : yes
  109. cpuid level     : 27
  110. wp              : yes
  111. flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault epb cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust smep erms rdt_a rdseed smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req vnmi umip waitpkg gfni rdpid movdiri movdir64b md_clear flush_l1d arch_capabilities
  112. vmx flags       : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause
  113. bugs            : spectre_v1 spectre_v2 spec_store_bypass swapgs srbds mmio_stale_data
  114. bogomips        : 3993.60
  115. clflush size    : 64
  116. cache_alignment : 64
  117. address sizes   : 39 bits physical, 48 bits virtual
  118. power management:
  119. processor       : 2
  120. vendor_id       : GenuineIntel
  121. cpu family      : 6
  122. model           : 156
  123. model name      : Intel(R) Celeron(R) N5105 @ 2.00GHz
  124. stepping        : 0
  125. microcode       : 0x24000024
  126. cpu MHz         : 800.000
  127. cache size      : 4096 KB
  128. physical id     : 0
  129. siblings        : 4
  130. core id         : 2
  131. cpu cores       : 4
  132. apicid          : 4
  133. initial apicid  : 4
  134. fpu             : yes
  135. fpu_exception   : yes
  136. cpuid level     : 27
  137. wp              : yes
  138. flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault epb cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust smep erms rdt_a rdseed smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req vnmi umip waitpkg gfni rdpid movdiri movdir64b md_clear flush_l1d arch_capabilities
  139. vmx flags       : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause
  140. bugs            : spectre_v1 spectre_v2 spec_store_bypass swapgs srbds mmio_stale_data
  141. bogomips        : 3993.60
  142. clflush size    : 64
  143. cache_alignment : 64
  144. address sizes   : 39 bits physical, 48 bits virtual
  145. power management:
  146. processor       : 3
  147. vendor_id       : GenuineIntel
  148. cpu family      : 6
  149. model           : 156
  150. model name      : Intel(R) Celeron(R) N5105 @ 2.00GHz
  151. stepping        : 0
  152. microcode       : 0x24000024
  153. cpu MHz         : 727.626
  154. cache size      : 4096 KB
  155. physical id     : 0
  156. siblings        : 4
  157. core id         : 3
  158. cpu cores       : 4
  159. apicid          : 6
  160. initial apicid  : 6
  161. fpu             : yes
  162. fpu_exception   : yes
  163. cpuid level     : 27
  164. wp              : yes
  165. flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault epb cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust smep erms rdt_a rdseed smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req vnmi umip waitpkg gfni rdpid movdiri movdir64b md_clear flush_l1d arch_capabilities
  166. vmx flags       : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause
  167. bugs            : spectre_v1 spectre_v2 spec_store_bypass swapgs srbds mmio_stale_data
  168. bogomips        : 3993.60
  169. clflush size    : 64
  170. cache_alignment : 64
  171. address sizes   : 39 bits physical, 48 bits virtual
  172. power management:
  173. zhaomeijing@zhaomeijing-X1-SBC:~/workspace$ ll /sys/bus/cpu/devices/cpu0/cpufreq/
  174. total 0
  175. drwxr-xr-x 2 root root    0  3月 24  2024 ./
  176. drwxr-xr-x 6 root root    0  3月 24  2024 ../
  177. -r--r--r-- 1 root root 4096  3月 24 11:01 affected_cpus
  178. -r--r--r-- 1 root root 4096  3月 24 11:01 base_frequency
  179. -r--r--r-- 1 root root 4096  3月 24 11:01 cpuinfo_max_freq
  180. -r--r--r-- 1 root root 4096  3月 24 11:01 cpuinfo_min_freq
  181. -r--r--r-- 1 root root 4096  3月 24 11:01 cpuinfo_transition_latency
  182. -r--r--r-- 1 root root 4096  3月 24 11:01 energy_performance_available_preferences
  183. -rw-r--r-- 1 root root 4096  3月 24  2024 energy_performance_preference
  184. -r--r--r-- 1 root root 4096  3月 24 11:01 related_cpus
  185. -r--r--r-- 1 root root 4096  3月 24 11:01 scaling_available_governors
  186. -r--r--r-- 1 root root 4096  3月 24 11:01 scaling_cur_freq
  187. -r--r--r-- 1 root root 4096  3月 24 11:01 scaling_driver
  188. -rw-r--r-- 1 root root 4096  3月 24 11:01 scaling_governor
  189. -rw-r--r-- 1 root root 4096  3月 24 11:01 scaling_max_freq
  190. -rw-r--r-- 1 root root 4096  3月 24 11:01 scaling_min_freq
  191. -rw-r--r-- 1 root root 4096  3月 24 11:01 scaling_setspeed
  192. zhaomeijing@zhaomeijing-X1-SBC:~/workspace$ cat /sys/bus/cpu/devices/cpu0/cpufreq/scaling_cur_freq
  193. 800000
  194. zhaomeijing@zhaomeijing-X1-SBC:~/workspace$ cat /sys/bus/cpu/devices/cpu0/cpufreq/cpuinfo_max_freq
  195. 2900000
  196. zhaomeijing@zhaomeijing-X1-SBC:~/workspace$ cat /sys/bus/cpu/devices/cpu0/cpufreq/cpuinfo_min_freq
  197. 800000
  198. zhaomeijing@zhaomeijing-X1-SBC:~/workspace$

1.2        CoreMark性能测试
1.2.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.2.2        CoreMark源码获取与编译
//------CoreMark源码获取
EEMBC 在将 CoreMark 源码托管在 GitHub 上可以访问github.com/eembc/coremark直接点击下载获得源码;也可以通过 git 命令下载到本地。  
  1. //------CoreMark源码获取
  2. //---直接下载
  3. https://github.com/eembc/coremark
  4. //---Git下载
  5. git clone https://github.com/eembc/coremark.git
  6. //---编译(生成可执行程序coremark.exe)
  7. make run
  8. 或者
  9. make
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.2.3        运行coremark.exe测试性能
运行coremark.exe测试性能,测试得分19495.710944。
  1. //------CoreMark性能测试
  2. haomeijing@zhaomeijing-X1-SBC:~/workspace/01_cpu_ddr/coremark$ ./coremark.exe
  3. 2K performance run parameters for coremark.
  4. CoreMark Size    : 666
  5. Total ticks      : 15388
  6. Total time (secs): 15.388000
  7. Iterations/Sec   : 19495.710944
  8. Iterations       : 300000
  9. Compiler version : GCC11.4.0
  10. Compiler flags   : -O2 -DPERFORMANCE_RUN=1  -lrt
  11. Memory location  : Please put data memory location here
  12.                         (e.g. code in flash, data on heap etc)
  13. seedcrc          : 0xe9f5
  14. [0]crclist       : 0xe714
  15. [0]crcmatrix     : 0x1fd7
  16. [0]crcstate      : 0x8e3a
  17. [0]crcfinal      : 0xcc42
  18. Correct operation validated. See README.md for run and reporting rules.
  19. CoreMark 1.0 : 19495.710944 / GCC11.4.0 -O2 -DPERFORMANCE_RUN=1  -lrt / Heap
  20. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/01_cpu_ddr/coremark$
1.3        CPU温度检测
lm-sensors是一款linux的硬件监控的软件,可以帮助我们来监控主板,CPU的工作电压,风扇转速、温度等数据。这些数据我们通常在主板的BIOS也可以看到。当我们可以在机器运行的时候通过lm_sensors随时来监测着CPU的温度变化,可以预防和保护因为CPU过热而会烧掉。
  1. //------sensors安装
  2. sudo apt install lm-sensors
  3. //------snesors使用
  4. sensors
  5. //------示例Log信息
  6. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/01_cpu_ddr$ sensors
  7. coretemp-isa-0000
  8. Adapter: ISA adapter
  9. Package id 0:  +41.0°C  (high = +105.0°C, crit = +105.0°C)
  10. Core 0:        +33.0°C  (high = +105.0°C, crit = +105.0°C)
  11. Core 1:        +33.0°C  (high = +105.0°C, crit = +105.0°C)
  12. Core 2:        +34.0°C  (high = +105.0°C, crit = +105.0°C)
  13. Core 3:        +34.0°C  (high = +105.0°C, crit = +105.0°C)
  14. acpitz-acpi-0
  15. Adapter: ACPI interface
  16. temp1:         +0.0°C  (crit = +111.0°C)
  17. nvme-pci-0200
  18. Adapter: PCI adapter
  19. Composite:    +45.9°C  (low  =  -0.1°C, high = +71.8°C)
  20.                        (crit = +89.8°C)
  21. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/01_cpu_ddr$

2.        DDR内存性能测试  
youyeetoo X1 开发板采用8GB的LPDDR4-SDRAM。
2.1        DDR内存基本信息
通过“free -h”指令读取内存DDR的使用情况;通过/proc/meminfo 文件读取系统中的内存的参数信息。
  1. //------测试工具
  2. free
  3. //---测试指令
  4. free -h
  5. 或者
  6. free -m
  7. //---参数解析
  8. -h 参数代表单位为 GByte
  9. -m 参数代表单位为 MByte
  10. total :内存总量
  11. used :被使用的内存量
  12. free :可使用的内存量
  13. //------查看系统内存信息文件
  14. cat /proc/meminfo
  15. //------
  16. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/01_cpu_ddr$ free -h
  17.                total        used        free      shared  buff/cache   available
  18. Mem:           7.6Gi       1.1Gi       4.7Gi       375Mi       1.8Gi       5.9Gi
  19. Swap:          2.0Gi          0B       2.0Gi
  20. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/01_cpu_ddr$ free -m
  21.                total        used        free      shared  buff/cache   available
  22. Mem:            7775        1134        4815         375        1825        6005
  23. Swap:           2047           0        2047
  24. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/01_cpu_ddr$ cat /proc/meminfo
  25. MemTotal:        7961736 kB
  26. MemFree:         4926544 kB
  27. MemAvailable:    6144772 kB
  28. Buffers:           64992 kB
  29. Cached:          1721356 kB
  30. SwapCached:            0 kB
  31. Active:          1599764 kB
  32. Inactive:         801852 kB
  33. Active(anon):     959948 kB
  34. Inactive(anon):    39868 kB
  35. Active(file):     639816 kB
  36. Inactive(file):   761984 kB
  37. Unevictable:      297464 kB
  38. Mlocked:              16 kB
  39. SwapTotal:       2097148 kB
  40. SwapFree:        2097148 kB
  41. Zswap:                 0 kB
  42. Zswapped:              0 kB
  43. Dirty:                 0 kB
  44. Writeback:             0 kB
  45. AnonPages:        912784 kB
  46. Mapped:           402160 kB
  47. Shmem:            384548 kB
  48. KReclaimable:      82876 kB
  49. Slab:             212132 kB
  50. SReclaimable:      82876 kB
  51. SUnreclaim:       129256 kB
  52. KernelStack:        8944 kB
  53. PageTables:        18708 kB
  54. SecPageTables:         0 kB
  55. NFS_Unstable:          0 kB
  56. Bounce:                0 kB
  57. WritebackTmp:          0 kB
  58. CommitLimit:     6078016 kB
  59. Committed_AS:    5176364 kB
  60. VmallocTotal:   34359738367 kB
  61. VmallocUsed:       42096 kB
  62. VmallocChunk:          0 kB
  63. Percpu:             3248 kB
  64. HardwareCorrupted:     0 kB
  65. AnonHugePages:         0 kB
  66. ShmemHugePages:   284672 kB
  67. ShmemPmdMapped:        0 kB
  68. FileHugePages:         0 kB
  69. FilePmdMapped:         0 kB
  70. Unaccepted:            0 kB
  71. HugePages_Total:       0
  72. HugePages_Free:        0
  73. HugePages_Rsvd:        0
  74. HugePages_Surp:        0
  75. Hugepagesize:       2048 kB
  76. Hugetlb:               0 kB
  77. DirectMap4k:      148096 kB
  78. DirectMap2M:     8081408 kB
  79. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/01_cpu_ddr$
2.2        内存功能压力测试-memtester
内存功能压力测试-memtester需要安装:
  1. //------安装内存功能压力测试工具memtester
  2. sudo apt install memtester -y
  3. 或者
  4. sudo apt-get install memtester -y
memtester通过给定测试内存的大小和次数, 可以对系统现有的内存进行压力上的测试。例如指定内存大小 512MB,测试次数为 10,则测试命令为“memtester 512M 10"。
下列以使用 512MB 内存空间,单次测试为例:  
  1. //------测试工具(MYD-YG2LX系统已带)
  2. memtester
  3. //------测试指令
  4. memtester 512M 1
  5. //---指令说明
  6. 指定内存大小 512MB,测试次数为 1
  7. //---示例
  8. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/01_cpu_ddr$ memtester 512M 1
  9. memtester version 4.5.1 (64-bit)
  10. Copyright (C) 2001-2020 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.   8-bit Writes        : ok
  34.   16-bit Writes       : ok
  35. Done.
  36. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/01_cpu_ddr$

//------end
举报

卿小小_9e6

2024-3-24 19:31:48
【youyeetoo X1 windows 开发板】+04.GPU测试(基础功能及3D渲染)(zmj)
本章节测试youyeetoo X1 开发板的GPU图形图像功能,包括基础功能测试和3D模型渲染。  
1.        HDMI接口
youyeetoo X1 开发板集成了标准HDMI接口(HDMI2.0A协议,分辨率4K/60Hz),手上有一个 2K 显示器,可以通过xrandr指令验证。
  1. //------HDMI2.0 4K/60Hz
  2. haomeijing@zhaomeijing-X1-SBC:~/workspace/02_gpu$ xrandr
  3. Screen 0: minimum 16 x 16, current 2560 x 1440, maximum 32767 x 32767
  4. XWAYLAND0 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 600mm x 340mm
  5.    2560x1440     59.91*+
  6.    1920x1440     59.90
  7.    1600x1200     59.87
  8.    1440x1080     59.87
  9.    1400x1050     59.86
  10.    1280x1024     59.76
  11.    1280x960      59.94
  12.    1152x864      59.78
  13.    1024x768      59.68
  14.    800x600       59.86
  15.    640x480       59.38
  16.    320x240       59.52
  17.    1920x1200     59.88
  18.    1680x1050     59.85
  19.    1440x900      59.89
  20.    1280x800      59.81
  21.    720x480       59.71
  22.    640x400       59.20
  23.    320x200       58.96
  24.    2048x1152     59.90
  25.    1920x1080     59.88
  26.    1600x900      59.82
  27.    1368x768      59.88
  28.    1280x720      59.86
  29.    1024x576      59.90
  30.    864x486       59.45
  31.    720x400       59.55
  32.    640x350       59.77
  33. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/02_gpu$

2.        glxgears测试
glxgears是Linux下2D、3D的测试软件。
确切来讲,glxgears是一个OpenGL的演示程序,它可以展示OpenGL的渲染效果,例如三维模型的旋转、缩放、移动等。在Linux系统中,glxgears程序通常会被包含在OpenGL的安装包中。执行”glxgears“命令将显示一个OpenGL渲染的3D场景,其中包含了许多旋转的齿轮。在运行glxgears时,OpenGL会使用系统的显卡进行渲染,因此如果显卡性能不足,可能会出现卡顿或者画面不流畅的情况。 除了glxgears,还有许多其他的OpenGL演示程序,例如cave、cube、sphere等,这些程序可以用来测试OpenGL的渲染效果和性能。通常情况下,这些程序都可以在OpenGL的安装包中找到,或者在网上搜索得到。
glxgears测试步骤:
  1. //------glxgears测试
  2. //----检查安装状况:glxinfo | grep rendering
  3. 输入指令“glxinfo | grep rendering”检查软件可用情况。
  4. 如果回复“direct rendering: Yes”则可以正常启动测试。
  5. //---检查依赖项状况:glxinfo
  6. 输入指令”glxinfo“检查glxgears及依赖库是否安装。
  7. //---安装
  8. sudo apt install mesa-utils
  9.         或者
  10. sudo apt install mesa-utils*
  11. //---测试:直接输入“glxgears”测试
  12. 1.终端输入指令“glxgears”敲回车,弹出一个窗口,里面有3个转动的齿轮,并且终端每5秒显示出转动多少FPS;
  13. 2.记录下FPS数字(每秒的帧速度)以鉴别3D加速效果(FPS越大越好);
  14. 3.结果显示在终端,也可以在运行命令后加测试结果保存路径来保留测试记录。
//------glxgears测试效果:

image-20240324155233540.png

3.        GLMARK2测试
GLMark2是一个广泛使用的图形性能测试工具,它是GLBenchmark 2.7的更新版本。GLMark2在多个平台上都可以运行,包括桌面计算机、笔记本电脑、移动设备等。用户可以通过GLMark2测试系统硬件所提供的图形性能,检查显卡是否正常工作,并进行性能优化调整。
GLMARK2测试步骤:
  1. //------GLMARK2测试
  2. //---安装:既可以通过github下载(需要编译安装),也可以直接安装=
  3. a.github下载安装(需要编译安装):
  4. git clone https://github.com/glmark2/glmark2.git
  5. cd glmark2
  6. ./waf configure --with-flavors=x11-gl
  7. ./waf build -j 4
  8. sudo ./waf install
  9. b.软件直接安装:
  10. sudo apt install glmark2
  11.         或者
  12. sudo apt-get install glmark2
  13. //---测试:
  14. a.直接测试
  15. glmark2
  16. b.指定窗口大小 n*n //n为自然数
  17. glmark2 -s n*n
  18. c.帮助指南
  19. glmark2 -h
  20. //------测试场景
  21. GLMark2提供了多种测试场景,涵盖了OpenGL ES 2.0、OpenGL ES 3.0、Vulkan等多种编程接口。以下列举几种主要的测试场景。
  22. 1. 欢迎页面
  23. 这是GLMark2开头显示的一个场景,它展示了一些交互元素,比如旋转的大球、闪烁的字母等。这个场景主要测试图形引擎、着色器、光照和纹理等方面的性能。
  24. 2. 粒子模拟
  25. 这个场景会大量生成小球体粒子进行模拟,包括随机旋转、撞击反弹、光照等。它主要测试显卡的计算性能和光照效果。
  26. 3. 灯光效果
  27. 这个场景展现了不同光源对3D场景的影响。它主要测试显卡的光照计算能力。
  28. 4. 粒子水墨画效果
  29. 这个场景展示了在不同光照条件下,粒子水墨混合效果的呈现。它主要测试显卡的混合效果、图像渲染和光照计算性能。
//------GLMARK2测试效果:
image-20240324155940031.png

4.        3D建模渲染(blender)

本来计划测试体验AIGC工具之一“DaVinci Resolve”,奈何科学上网的原因导致很多安装失败,无意当中发现了免费的3D建模渲染软件blender,因此尝试了一把免费版的3D建模之旅,设计模型是变形金刚的擎天柱(请各位忽略配色、外观的杂乱),毕竟我以前唯一接触的3D渲染就是PCB软件的3D预览……
从个人心里来讲,基于blender的3D建模渲染是整个试用过程最耗时耗精力的内容,但它也是最有成就感的地方。
4.1        Blender简介
Blender配备了广泛的3D对象类型,包括多边形网格、NURBS曲面、Bezier曲线、B-Spline曲线以及矢量字体等。具体的功能包括:用户友好界面、实时3D Game创作、建模、套索工具、渲染、动画、底纹、UV展开、成像和合成等。
Blender提供了革新性的用户界面,灵活的窗口布局允许用户进行全面的配置和设置,能够为用户带来无与伦比的创作享受。
  1. //------Blender官网
  2. https://www.blender.org/
  3. //------git连接
  4. https://projects.blender.org/blender/blender.git
  5. //------Blender常用功能讲解
  6. https://zhuanlan.zhihu.com/p/476659431?utm_id=0
//------Blender官网
image-20240324162604866.png

4.2        3D建模渲染
废话不多说,直接上结果(请勿吐槽配色、外观)。
补充一点:视频使用Linux自带的Gnome工具进行录屏,快捷键是“Ctrl + Shift + Alt + R”,非常好用。
//------效果图
image-20240324160558757.png
//------视频Blender-Transformers_Optimus_Prime


举报

卿小小_9e6

2024-3-24 19:44:10
【youyeetoo X1 windows 开发板】+05.讯飞星火 认知 大模型 的API访问测试(zmj)
(本来有很多内容,因为敏感词汇删减了)
此次选择讯飞星火尝试AI大模型的API访问测试,是因为各位大佬已经把其他模型访问都写过了……
1.        基本流程
首先完成注册及认证(全流程约十几分钟),然后进行API访问开发。
  1. //------讯飞星火
  2. //---官网
  3. https://www.xfyun.cn/
  4. //---新手指南
  5. https://www.xfyun.cn/beginner
  6. //---文档中心
  7. https://www.xfyun.cn/doc/
  8. //------注册及认证(全流程十几分钟):
  9. 官网账号注册、账号实名制认证、创建应用申请(等待审批)、获取服务接口认证信息(APPID、APPKey、APPSecret)
  10. //------模型调用
  11. 在获取服务认证信息(APPID、APPKey、APPSecret)之后,可以基于官网给出的案例DEMO进行API访问开发。
//------应用及服务认证信息
image-20240324170954848.png

image-20240324171244298.png

2.        人脸检测和属性分析API
参考官网API手册,填入服务认证信息和图片地址,测试应用即可。
需要说明的是,图片需要放置到本地,路径信息需要是完整路径。
  1. //------人脸检测和属性分析API
  2. //---API说明文档
  3. https://www.xfyun.cn/doc/face/xf-face-detect/API.html
  4. //---人脸检测(人物海报)
  5. https://www.1905.com/newgallery/list/c35.html
//------API说明文档
image-20240324174553090.png

2.1        部分源码说明
在人脸检测和属性分析demo python3语言代码中部分源码说明:
1.人脸检测和属性分析demo(python3语言)的依赖库说明:
datetime:datetime是Python的内置库,无需额外安装。
wsgiref.handlers:wsgiref是Python的内置库,无需额外安装。
time:time是Python的内置库,无需额外安装。
hashlib:hashlib是Python的内置库,无需额外安装。
base64:base64是Python的内置库,无需额外安装。
hmac:hmac是Python的内置库,无需额外安装。
urllib.parse:urllib是Python的内置库,无需额外安装。
os:os是Python的内置库,无需额外安装。
traceback:traceback是Python的内置库,无需额外安装。
json:json是Python的内置库,无需额外安装。
requests:requests是一个第三方库,需要通过pip进行安装。在命令行中运行以下命令进行安装:
2.pip安装requests
在Python中,安装库通常可以通过pip工具进行。pip是Python的包管理工具,可以用来安装和管理Python库。
sudo pip3 install requests
3.服务接口认证信息和图片地址
服务接口认证信息从注册账号对应的应用类型里获取;
图片地址需要填写本地详细路径信息。

//------源码
face_detect_python3_demo.zip (2.05 KB)
(下载次数: 0, 2024-3-24 19:42 上传)
2.2        API测试
API测试结果参考Log信息,详细信息可以参考官网API说明文档,部分字段信息在测试结果中已经做了备注。
  1. //------参数详细介绍说明
  2. 人脸检测和属性分析API说明文档
  3. https://www.xfyun.cn/doc/face/xf-face-detect/API.html
  4. //------示例Log信息
  5. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/10_xfyun_api$ ll
  6. total 856
  7. drwxrwxr-x  2 zhaomeijing zhaomeijing   4096  3月 23 16:48 ./
  8. drwxrwxr-x 12 zhaomeijing zhaomeijing   4096  3月 23 17:28 ../
  9. -rw-rw-r--  1 zhaomeijing zhaomeijing 859153  3月 23 16:33 01_test01.png
  10. -rw-rw-r--  1 zhaomeijing zhaomeijing   5239  3月 23 16:47 face_detect_python3_demo.py
  11. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/10_xfyun_api$ python3 ./face_detect_python3_demo.py
  12. Sat, 23 Mar 2024 09:58:21 GMT
  13. host: api.xf-yun.com
  14. date: Sat, 23 Mar 2024 09:58:21 GMT
  15. POST /v1/private/s67c9c78c HTTP/1.1
  16. api_key="07c6caed3947d5f9f1ab707f4eadc12c", algorithm="hmac-sha256", headers="host date request-line", signature="jQTGRM2fi3gUU6jUIAlo/faMp1AwkRIPGtAVMgJSti4="
  17. http://api.xf-yun.com/v1/private/s67c9c78c?host=api.xf-yun.com&date=Sat%2C+23+Mar+2024+09%3A58%3A21+GMT&authorization=YXBpX2tleT0iMDdjNmNhZWQzOTQ3ZDVmOWYxYWI3MDdmNGVhZGMxMmMiLCBhbGdvcml0aG09ImhtYWMtc2hhMjU2IiwgaGVhZGVycz0iaG9zdCBkYXRlIHJlcXVlc3QtbGluZSIsIHNpZ25hdHVyZT0ialFUR1JNMmZpM2dVVTZqVUlBbG8vZmFNcDFBd2tSSVBHdEFWTWdKU3RpND0i
  18. {'header': {'code': 0, 'message': 'success', 'sid': 'ase000f18ae@hu18e6abf43c205c3882'}, 'payload': {'face_detect_result': {'compress': 'raw', 'encoding': 'utf8', 'format': 'json', 'seq': '0', 'status': '3', 'text': 'ewoJImZhY2VfMSIgOiAKCXsKCQkiaCIgOiAzMDUsCgkJInNjb3JlIiA6IDAuOTkzNjM4MjE3NDQ5MTg4MjMsCgkJInciIDogMjI5LAoJCSJ4IiA6IDIyMCwKCQkieSIgOiAyMDcKCX0sCgkiZmFjZV9udW0iIDogMSwKCSJyZXQiIDogMAp9Cg=='}}}
  19. {
  20.         "face_1" :
  21.         {
  22.                 "h" : 305,
  23.                 "score" : 0.99363821744918823,
  24.                 "w" : 229,
  25.                 "x" : 220,
  26.                 "y" : 207
  27.         },
  28.         "face_num" : 1,
  29.         "ret" : 0
  30. }
  31. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/10_xfyun_api$
//------测试结果
image-20240323172112895.png

//------end

举报

卿小小_9e6

2024-3-24 19:47:31
本帖最后由 卿小小_9e6 于 2024-3-25 00:55 编辑

【youyeetoo X1 windows 开发板】+06.基于cocotb的RTL仿真(zmj)
对于FPGA或者RTL爱好者来讲,youyeetoo X1 开发板除了支持Windows环境下的ModelSim仿真,还可以在Linux环境中运行仿真。
仿真工具因人而异,包括但不限于modelsim、QuestaSim、VCS、xsim等。仿真框架包括但不限于UVM、VMM、OVM等。
此处示例基于cocotb仿真框架的RTL仿真,仿真工具使用iverilog,波形工具使用gtkwave。为什么是这些?因为工具免费且对硬件性能要求更少……
1.        cocotb简介
cocotb在2013年由Potential Ventures创立,但在2017~2018年项目停滞了几个月,在2019年获得了外部奖金支持,并越来越多领域人员的加入,项目已经进入的快速迭代发展期,目前已经更新到V1.8.1,共17个版本。
cocotb 这个名字里的意思,第1个co是指coroutine(协程,协同程序),第2个co是指cosimulation(协同仿真),tb是指TestBench,本意就是指cocotb是一个基于协程(协同程序)的协同仿真TestBench环境,用于使用Python验证VHDL/Verilog RTL。
  1. //------cocotb
  2. //---官网链接
  3. https://www.cocotb.org/
  4. 个人补充说明:
  5.         a.当前cocotb已发布版本为v1.8.1,正在筹划v2.x版本;
  6.         b.当前大部分教程基于v1.8.1;
  7. //---教程链接
  8. https://docs.cocotb.org/en/stable/quickstart.html
  9. //---Github链接
  10. https://github.com/cocotb/cocotb
  11. //---Git下载
  12. git clone https://github.com/cocotb/cocotb.git
cocotb 是一个基于 COroutine 的 COsimulation TestBench 环境,用于使用 Python 验证 VHDL 和 SystemVerilog RTL。
cocotb(框架)基于GPI实现Python与DUT的交互,GPI 是 VPI、VHPI 和 FLI 模拟器接口的抽象层。

  • cocotb测试集不需要额外的RTL代码,这和其他的测试工具不同。(其他的方案往往需要对RTL代码进行手动,或者是自动的插桩、修改,进行了这些操作的代码统称为DUT(Design Under Test))

  • 通过Python直接监视DUT的输出,实现跟传统EDA环境相似的Drive和Monitor的功能。

cocotb本质上来讲,其实就是提供了仿真器和python测试激励之间的接口。再往简单了说,Cocotb是一个RTL仿真器插件,允许工程师使用python验证他们的设计。如下图所示的样子:
image-20240324014915520.png


2.        cocotb使用
cocotb主要信息如下:
  1. //------cocotb
  2. //---官网链接
  3. https://www.cocotb.org/
  4. 说明:
  5.         a.当前cocotb已发布版本为v1.8.1,正在筹划v2.x版本;
  6.         b.当前大部分教程基于v1.8.1;
  7. //---教程链接
  8. https://docs.cocotb.org/en/stable/quickstart.html
  9. //---Github链接
  10. https://github.com/cocotb/cocotb
  11. //---Git下载
  12. git clone https://github.com/cocotb/cocotb.git
2.1        环境安装配置
环境配置主要是仿真软件iverilog、波形软件gtkwave和python插件(pytest、cocotb)的安装。
  1. //------环境安装配置
  2. # 安装iverilog仿真软件
  3. sudo apt install iverilog
  4. # 安装gtkwave
  5. sudo apt install gtkwave
  6. # 安装pytest框架
  7. pip3 install --user pytest
  8. # 安装cocotb
  9. pip3 install --user cocotb
  10. # 环境变量配置(不需要)
2.2        测试quickstart
cocotb包括一个quickstart,下面进行测试:
  1. //------测试quickstart
  2. //---流程
  3. 获取源码 --> 进入路径 --> 执行仿真 --> 查看波形
  4. //---指令
  5. a.获取源码
  6. git clone https://github.com/cocotb/cocotb.git
  7. b.进入路径
  8. cd cocotb/examples/doc_examples/quickstart
  9. c.执行仿真(SIM指定仿真工具,WAVES输出波形)
  10. make SIM=icarus WAVES=1
  11. d.查看波形
  12. gtkwave -f ./sim_build/my_design.fst
  13. //------示例Log
  14. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/07_rtl$ ll
  15. total 24
  16. drwxrwxr-x  5 zhaomeijing zhaomeijing 4096  3月 24 18:23 ./
  17. drwxrwxr-x 12 zhaomeijing zhaomeijing 4096  3月 23 17:28 ../
  18. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/07_rtl$ git clone https://github.com/cocotb/cocotb.git
  19. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/07_rtl$ cd cocotb/
  20. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/07_rtl/cocotb$ ll
  21. total 204
  22. drwxrwxr-x 10 zhaomeijing zhaomeijing  4096  3月 13 13:02 ./
  23. drwxrwxr-x  5 zhaomeijing zhaomeijing  4096  3月 24 18:23 ../
  24. drwxrwxr-x  2 zhaomeijing zhaomeijing  4096  3月 13 13:02 bin/
  25. -rw-rw-r--  1 zhaomeijing zhaomeijing   205  3月 13 13:02 .clang-format
  26. -rwxrwxr-x  1 zhaomeijing zhaomeijing 27569  3月 13 13:02 cocotb_build_libs.py*
  27. -rw-rw-r--  1 zhaomeijing zhaomeijing  1163  3月 13 13:02 .codecov.yml
  28. -rw-rw-r--  1 zhaomeijing zhaomeijing 29731  3月 13 13:02 CONTRIBUTING.md
  29. drwxrwxr-x  4 zhaomeijing zhaomeijing  4096  3月 13 13:02 docs/
  30. drwxrwxr-x  9 zhaomeijing zhaomeijing  4096  3月 13 13:02 examples/
  31. drwxrwxr-x  8 zhaomeijing zhaomeijing  4096  3月 13 13:02 .git/
  32. -rw-rw-r--  1 zhaomeijing zhaomeijing   472  3月 13 13:02 .git-blame-ignore-revs
  33. drwxrwxr-x  3 zhaomeijing zhaomeijing  4096  3月 13 13:02 .github/
  34. -rw-rw-r--  1 zhaomeijing zhaomeijing  1315  3月 13 13:02 .gitignore
  35. -rw-rw-r--  1 zhaomeijing zhaomeijing  1619  3月 13 13:02 .gitpod.Dockerfile
  36. -rw-rw-r--  1 zhaomeijing zhaomeijing  1343  3月 13 13:02 .gitpod.yml
  37. -rw-rw-r--  1 zhaomeijing zhaomeijing  1542  3月 13 13:02 LICENSE
  38. -rw-rw-r--  1 zhaomeijing zhaomeijing  3346  3月 13 13:02 Makefile
  39. -rw-rw-r--  1 zhaomeijing zhaomeijing   139  3月 13 13:02 MANIFEST.in
  40. -rw-rw-r--  1 zhaomeijing zhaomeijing 19129  3月 13 13:02 noxfile.py
  41. -rw-rw-r--  1 zhaomeijing zhaomeijing  1033  3月 13 13:02 .pre-commit-config.yaml
  42. -rw-rw-r--  1 zhaomeijing zhaomeijing 16449  3月 13 13:02 .pylintrc
  43. -rw-rw-r--  1 zhaomeijing zhaomeijing  3628  3月 13 13:02 pyproject.toml
  44. -rw-rw-r--  1 zhaomeijing zhaomeijing  5580  3月 13 13:02 README.md
  45. -rw-rw-r--  1 zhaomeijing zhaomeijing   408  3月 13 13:02 .readthedocs.yml
  46. -rwxrwxr-x  1 zhaomeijing zhaomeijing  6088  3月 13 13:02 setup.py*
  47. drwxrwxr-x  5 zhaomeijing zhaomeijing  4096  3月 13 13:02 src/
  48. drwxrwxr-x  5 zhaomeijing zhaomeijing  4096  3月 13 13:02 tests/
  49. drwxrwxr-x  2 zhaomeijing zhaomeijing  4096  3月 13 13:02 .theia/
  50. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/07_rtl/cocotb$ cd examples/doc_examples/quickstart/
  51. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/07_rtl/cocotb/examples/doc_examples/quickstart$ ll
  52. total 20
  53. drwxrwxr-x 2 zhaomeijing zhaomeijing 4096  3月 24 18:25 ./
  54. drwxrwxr-x 3 zhaomeijing zhaomeijing 4096  3月 13 13:02 ../
  55. -rw-rw-r-- 1 zhaomeijing zhaomeijing  542  3月 13 13:02 Makefile
  56. -rw-rw-r-- 1 zhaomeijing zhaomeijing  635  3月 24 18:18 my_design.sv
  57. -rw-rw-r-- 1 zhaomeijing zhaomeijing 1278  3月 13 13:02 test_my_design.py
  58. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/07_rtl/cocotb/examples/doc_examples/quickstart$ make SIM=icarus WAVES=1
  59. rm -f results.xml
  60. make -f Makefile results.xml
  61. make[1]: Entering directory '/home/zhaomeijing/workspace/07_rtl/cocotb/examples/doc_examples/quickstart'
  62. mkdir -p sim_build
  63. /usr/bin/iverilog -o sim_build/sim.vvp -D COCOTB_SIM=1 -s my_design -f sim_build/cmds.f -g2012  -s cocotb_iverilog_dump  /home/zhaomeijing/workspace/07_rtl/cocotb/examples/doc_examples/quickstart/my_design.sv sim_build/cocotb_iverilog_dump.v
  64. rm -f results.xml
  65. MODULE=test_my_design TESTCASE= TOPLEVEL=my_design TOPLEVEL_LANG=verilog \
  66.          /usr/bin/vvp -M /home/zhaomeijing/.local/lib/python3.10/site-packages/cocotb/libs -m libcocotbvpi_icarus   sim_build/sim.vvp -fst
  67.      -.--ns INFO     gpi                                ..mbed/gpi_embed.cpp:76   in set_program_name_in_venv        Did not detect Python virtual environment. Using system-wide Python interpreter
  68.      -.--ns INFO     gpi                                ../gpi/GpiCommon.cpp:101  in gpi_print_registered_impl       VPI registered
  69.      0.00ns INFO     cocotb                             Running on Icarus Verilog version 11.0 (stable)
  70.      0.00ns INFO     cocotb                             Running tests with cocotb v1.8.1 from /home/zhaomeijing/.local/lib/python3.10/site-packages/cocotb
  71.      0.00ns INFO     cocotb                             Seeding Python random module with 1711275977
  72.      0.00ns INFO     cocotb.regression                  Found test test_my_design.my_first_test
  73.      0.00ns INFO     cocotb.regression                  Found test test_my_design.my_second_test
  74.      0.00ns INFO     cocotb.regression                  running my_first_test (1/2)
  75.                                                           Try accessing the design.
  76. FST info: dumpfile sim_build/my_design.fst opened for output.
  77.     20.00ns INFO     cocotb.my_design                   my_signal_1 is x
  78.     20.00ns INFO     cocotb.regression                  my_first_test passed
  79.     20.00ns INFO     cocotb.regression                  running my_second_test (2/2)
  80.                                                           Try accessing the design.
  81.     26.00ns INFO     cocotb.my_design                   my_signal_1 is x
  82.     26.00ns INFO     cocotb.regression                  my_second_test passed
  83.     26.00ns INFO     cocotb.regression                  ***************************************************************************************
  84.                                                         ** TEST                           STATUS  SIM TIME (ns)  REAL TIME (s)  RATIO (ns/s) **
  85.                                                         ***************************************************************************************
  86.                                                         ** test_my_design.my_first_test    PASS          20.00           0.00       6716.06  **
  87.                                                         ** test_my_design.my_second_test   PASS           6.00           0.00       5375.91  **
  88.                                                         ***************************************************************************************
  89.                                                         ** TESTS=2 PASS=2 FAIL=0 SKIP=0                  26.00           0.08        320.02  **
  90.                                                         ***************************************************************************************
  91.                                                         
  92. make[1]: Leaving directory '/home/zhaomeijing/workspace/07_rtl/cocotb/examples/doc_examples/quickstart'
  93. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/07_rtl/cocotb/examples/doc_examples/quickstart$ ll
  94. total 32
  95. drwxrwxr-x 4 zhaomeijing zhaomeijing 4096  3月 24 18:26 ./
  96. drwxrwxr-x 3 zhaomeijing zhaomeijing 4096  3月 13 13:02 ../
  97. -rw-rw-r-- 1 zhaomeijing zhaomeijing  542  3月 13 13:02 Makefile
  98. -rw-rw-r-- 1 zhaomeijing zhaomeijing  635  3月 24 18:18 my_design.sv
  99. drwxrwxr-x 2 zhaomeijing zhaomeijing 4096  3月 24 18:26 __pycache__/
  100. -rw-rw-r-- 1 zhaomeijing zhaomeijing  678  3月 24 18:26 results.xml
  101. drwxrwxr-x 2 zhaomeijing zhaomeijing 4096  3月 24 18:26 sim_build/
  102. -rw-rw-r-- 1 zhaomeijing zhaomeijing 1278  3月 13 13:02 test_my_design.py
  103. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/07_rtl/cocotb/examples/doc_examples/quickstart$ gtkwave -f ./sim_build/my_design.fst
  104. Gtk-Message: 18:26:40.012: Failed to load module "canberra-gtk-module"
  105. GTKWave Analyzer v3.3.104 (w)1999-2020 BSI
  106. FSTLOAD | Processing 5 facs.
  107. FSTLOAD | Built 5 signals and 0 aliases.
  108. FSTLOAD | Building facility hierarchy tree.
  109. FSTLOAD | Sorting facility hierarchy tree.
  110. WM Destroy
  111. zhaomeijing@zhaomeijing-X1-SBC:~/workspace/07_rtl/cocotb/examples/doc_examples/quickstart$
//------运行仿真,查看波形

image-20240324183043133.png

//------end
举报

更多回帖

发帖
×
20
完善资料,
赚取积分