使用Ubuntu 20.04对ODYSSEY-X86J4105 SBC评测
qiyuwang 2024-10-03 06:44 23 浏览 0 评论
文章来源:使用Ubuntu 20.04对ODYSSEY-X86J4105 SBC评测 — CNX SOFTWARE中文站—嵌入式开发者的知识库!
—树莓派和Arduino接头测试
之前,我们已经通过 Windows 10评测ODYSSEY-X86J4105 SBC了。它与Re Computer外壳结合使用时,就是一个典型的 Intel Gemini Lake 迷你 PC。但有一点不同就是:它拥有Arduino 和树莓派接口。后者在 Windows 中运行良好,但与此同时树莓派接头就不太行。所以Linux应该是我们唯一的选择了。
我现在有足够的时间在 ODYSSEY-X86J4105 单板计算机上安装和测试 Ubuntu 20.04了。所以,我并没有在 Windows 10 所在的内部 eMMC 闪存上安装 Ubuntu,而是在 128GB M.2 SATA SSD 上安装。我首先运行一些常用的命令来检查系统信息,然后运行基准测试, 并检查所有的功能是否正常。接着再把评测的重点放在Arduino和树莓派头上。
ODYSSEY-X86J4105 Ubuntu 20.04 系统信息
我们可以在终端上查看系统中的一些信息:
一个带有8GB RAM的英特尔赛扬J4105处理器和拥有127GB分区的根文件系统,这些配置对我来说还是十分不错的。
功能测试
看起来ODYSSEY-X86J4105支持大多数设备,但由于驱动程序可能会存在一些问题,因此我还是测试了主板的主要硬件功能:
所以,除了未检测到 MicroSD 卡、USB-C端口被限制在USB 2.0速度下(480Mbps)、通过 USB-C 端口的视频输出最高仅达 1024×768以外,其他各方面表现得都不算太糟糕。
上面的命令行显示了连接到开发板的两个 USB 驱动器。Dev 2 是我 1TB USB 的数据驱动器,Dev 13 是嵌入到 USB-C 集线器中的 480GB SSD。我可以通过 CrystalDiskMark 确认 480GB USB SSD 在 Windows 10 中数据传输速度达到 450MB/s,所以 USB Type-C 的问题只会发生在 Ubuntu 中。
ODYSSEY-X86J4105 Ubuntu 20.04 基准测试
我在最近的AMD Ryzen嵌入式SBC评测中使用了与Ubuntu 20.04相同的Phoronix和SBC Bench基准,主要是为了确保的确没有问题。因为我们已经评测过很多Gemini Lake迷你PC和板卡了。
Phoronix 性能测试工具
你将在 OpenBenchmarking 上找到完整的详细信息,下表主要是比较了四个基准测试。
设备 | DFI GHF51 | MINIX NEO J50C-4 带固态硬盘 | ODYSSEY-X86J4105 带固态硬盘 |
处理器 | AMD 锐龙嵌入式 R1606G | Intel Pentium J5005 | 英特尔赛扬 J4105 |
CLOMP 3.3 | 2.94 | 2.36 | 2.07 |
TSCP 1.81 | 683,862 | 677,631 | 561,904 |
7-Zip 压缩 | 7,272 | 7,598 | 6,614 |
PHPBench | 342,215 | 287,503 | 258,513 |
表格描述:三个设备的四种基准测试比较表
正如预期的那样,由于处理器的原因,ODYSSEY-X86J4105 是最慢的平台,但其他结果都是在预期范围内的。
SBC Bench测试
运行SBC Bench来检查潜在的CPU节流也很有用。
结果同样也符合预期,但不知何故,温度没有被系统正确报告为20℃。查看此评论,可以了解 AMD Ryzen Embedded R1606G 和 Intel Pentium J5005 系统以及树莓派4( 8GB )的SBC Bench 结果。
存储
SATA SSD(Rootfs – EXT4):
在 Windows 10 中,我们获得了 442 MB/s 的连续读取速度和 219MB/s 的连续写入速度,但不知何故,它在 Ubuntu 20.04 中相当慢,分别为 220MB/s 和 134 MB/s。
我本来还想在 Ubuntu 中检查 eMMC flash性能,但如前所述,该分区是只读的,即使重新挂载为读/写,我也无法获得向其写入任何文件的权限。
GPU 基准测试
当天基于Unigine Heaven Benchmark 4.0的最终基准测试结果如下:
在 Intel Pentium J5005上是4.7 fps / 119 分,在AMD 锐龙嵌入式 R1606G 上是 5.4 fps / 135 分。相对比之下,其结果平均为 4.2 fps / 106 分。测试结果是没有问题的,因为,在基准测试期间我没有得到任何与我使用 Ryzen Embedded SBC 测试经验相反的结果。
Arduino 接口
我们可以在 Windows 中使用Arduino接口,所以我只是在 Ubuntu 20.04 中复制了这些步骤,只是我必须安装 Arduino IDE。确保将当前用户添加到dialout 组上以避免权限问题:
退出登录后,我在 Arduino IDE 中仍然还是有一条权限被拒绝的消息,所以我重新启动了电路板,然后就一切正常了。
Ubuntu 中的重要步骤与 Windows 10 中的几乎都是相同的,进入 Arduino IDE 后,请转到:
- File->Preferences并将https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json添加到Additional Boards Manager URL字段
- 然后Tools->Board->Boards Manager添加对Seeed SAMD Boards 的支持
- 选择SeeeduinoZero板和/dev/ttyACM0串口
我重新连接了面包板上的小电路来控制连接到 D6 数字引脚的 LED。
并相应地修改了blink 程序:
最后,我将程序刷入了 Arduino MCU中。
成功了!LED可以闪烁了。请注意,Arduino 接头与 Shields 不兼容,因此你不能只在顶部插入一个Shields 板。相反,你必须像我在这里所做的那样弄一些接线。我倒是不担心软件兼容性,因为该板嵌入了 Microchip SAMD21 微控制器。
树莓派接头
如我想的那样, Arduino 部分其实是很容易的,因为它在 Windows 10 中可以工作。现在是时候测试树莓派排针接头了。如果我们要连接 Pi HAT,我们也许应该先检查引脚排列。
通过对比,它与树莓派接口足够相似,我希望许多树莓派HAT 都能兼容。所以我最初决定使用主要依赖 SPI 接口的 Grove AI HAT,但是在与矽递科技(Seeed Studio )讨论是否只是在板上启用 SPI 和更改代码中GPIO 编号的问题后,该公司告诉我这比较复杂,因为x86框架现在还不支持。
因为我没有任何其他尚未送出的HAT了,所以我又用了我的面包板和LED测试了树莓派的GPIO,外加一个BH1750光传感器来测试I2C。
我主要是按照Wiki 中的说明进行了操作。让我们从 GPIO 开始。我将 LED 连接到 GPIO 337(引脚 7),我需要导出 IO,将方向和值设置为 1 从而打开 LED:
之后要关闭它:
一切都进行得很顺畅。对了,矽递科技建议在完成后要取消导出 GPIO,但其实我不太明白这样做的必要性:
作为参考,我定义了四个 GPIO 块:
也可以使用中断,矽递科技提供了测试用的Python脚本,安装方式如下:
我们现在可以运行测试程序:
接下来我们可以尝试测试 I2C。如前面说说的,我将 BH1750 I2C 光传感器连接到 3.3V、GND、IC2 时钟和数据 ping中,并检查电路板是否会检测到传感器:
哎呀……没有检测到……所以我进入了 BIOS,看到所有“特殊功能”都设置为了GPIO。
我不太记得我是否更早地更改过,因为这些不应该是默认值,但无论如何,我将它们全部更改为启用 I2C、SPI、UART 。
当我回到 Ubuntu 时,我仍然从i2cdetect命令发现了相同的输出问题。所以我仔细阅读了 Wiki,并运行了两个命令。然后,又再次检查 I2C 设备:
i2c_designware.0应该代表I2C6(管脚27和28),而i2c_designware.1 为I2C5(管脚3和5),也是连接光传感器的管脚。所以让我用 I2C-2 再试一次:
我没有连接任何东西到 SPI,但内核检测到了 SPI:成功!检测到光传感器了!
如果我们想从用户空间访问它的话,我们需要运行一些命令:
完成后,重新启动电路板,我们可以看到两个 SPI 设备:
与 Arduino 接头相反,树莓派接头是允许直接在板上插入大部分树莓派 HAT的。但是当低级软件正在运行时,你必须要进行系统配置并修改树莓派上运行的软件,使其能在 x86 板上工作。这要包括 BIOS 、 I/O 配置、修改代码以匹配 GPIO 名称等。据我所知,现在还没有人制作过可以简化流程的“WiringPix86”库。
结论
矽递科技的 ODYSSEY-X86J4105 是一款不错、且相当独特的小板。以下是主要的一些点:
- 在Windows 10 中,它的性能就像标准的 Intel Gemini Lake 迷你 PC。一切都符合预期的性能,但只能控制 Arduino 接头,因为目前无法访问树莓派GPIO接头。
- 在Ubuntu 20.04 中,性能符合预期,但也存在一些问题。MicroSD 卡无法工作、USB-C 端口限制为 480 Mbps,至少需要在 MINIX NEO Storage Plus USB-C 多功能适配器的情况下运行。Arduino 和树莓派I/O 接头都可以在 Linux 中控制,但是可能需要花一些时间来移植软件,尤其是对于树莓派 I/O。
另外,有些人可能会为风扇噪音所困扰,尽管可以在 BIOS 中调整或禁用。
我也十分感谢矽递科技给我寄的评测样本。如果你们有兴趣,该板有 3 种规格。价格从 188 美元到 258 美元不等,还需要另外加运费:
- ODYSSEY – X86J4105800(188 美元)不带 eMMC 闪存(您可以从 M.2 或 USB 存储启动)
- ODYSSEY – X86J4105864(218 美元),带有 64GB eMMC 闪存,预装了未激活的 Windows 10 企业版。这就是我的评测内容。
- ODYSSEY – X86J4105864(258 美元),预加载 64GB eMMC 闪存,激活版本的 Windows 10企业版。与上述用的是相同硬件,但具有 Windows 许可证。
如果你想获得带有 Re_Computer 机箱的完整迷你 PC,你可以考虑购买带有 128GB SATA SSD 的Odyssey Blue J4105 迷你 PC,就像我在这部分评测中测试过的那样。它的售价是 239 美元,需另加运费。
更多干货,请点击:CNX SOFTWARE中文站 — 嵌入式开发者的新闻知识库!
相关推荐
- # 安装打开 ubuntu-22.04.3-LTS 报错 解决方案
-
#安装打开ubuntu-22.04.3-LTS报错解决方案WslRegisterDistributionfailedwitherror:0x800701bcError:0x80070...
- 利用阿里云镜像在ubuntu上安装Docker
-
简介:...
- 如何将Ubuntu Kylin(优麒麟)19.10系统升级到20.04版本
-
UbuntuKylin系统使用一段时间后,有新的版本发布,如何将现有的UbuntuKylin系统升级到最新版本?可以通过下面的方法进行升级。1.先查看相关的UbuntuKylin系统版本情况。使...
- Ubuntu 16.10内部代号确认为Yakkety Yak
-
在正式宣布Ubuntu16.04LTS(XenialXerus)的当天,Canonical创始人MarkShuttleworth还非常开心的在个人微博上宣布Ubuntu下个版本16.10的内...
- 如何在win11的wsl上装ubuntu(怎么在windows上安装ubuntu)
-
在Windows11的WSL(WindowsSubsystemforLinux)上安装Ubuntu非常简单。以下是详细的步骤:---...
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
-
IT之家2月18日消息,科技媒体pureinfotech昨日(2月17日)发布博文,介绍了3中简便的方法,让你轻松在Windows11系统中,使用WindowsSubs...
- 如何查看Linux的IP地址(如何查看Linux的ip地址)
-
本头条号每天坚持更新原创干货技术文章,欢迎关注本头条号"Linux学习教程",公众号名称“Linux入门学习教程"。...
- 怎么看电脑系统?(怎么看电脑系统配置)
-
要查看电脑的操作系统信息,可以按照以下步骤操作,根据不同的操作系统选择对应的方法:一、Windows系统通过系统属性查看右键点击桌面上的“此电脑”(或“我的电脑”)图标,选择“属性”。在打开的...
- 如何查询 Linux 内核版本?这些命令一定要会!
-
Linux内核是操作系统的核心,负责管理硬件资源、调度进程、处理系统调用等关键任务。不同的内核版本可能支持不同的硬件特性、提供新的功能,或者修复了已知的安全漏洞。以下是查询内核版本的几个常见场景:...
- 深度剖析:Linux下查看系统版本与CPU架构
-
在Linux系统管理、维护以及软件部署的过程中,精准掌握系统版本和CPU架构是极为关键的基础操作。这些信息不仅有助于我们深入了解系统特性、判断软件兼容性,还能为后续的软件安装、性能优化提供重要依据。接...
- 504 错误代码解析与应对策略(504错误咋解决)
-
在互联网的使用过程中,用户偶尔会遭遇各种错误提示,其中504错误代码是较为常见的一种。504错误并非意味着网站被屏蔽,它实际上是指服务器在规定时间内未能从上游服务器获取响应,专业术语称为“Ga...
- 猎聘APP和官网崩了?回应:正对部分职位整改,临时域名可登录
-
10月12日,有网友反映猎聘网无法打开,猎聘APP无法登录。截至10月14日,仍有网友不断向猎聘官方微博下反映该情况,而猎聘官方微博未发布相关情况说明,只是在微博内对反映该情况的用户进行回复,“抱歉,...
- 域名解析的原理是什么?域名解析的流程是怎样的?
-
域名解析是网站正常运行的关键因素,因此网站管理者了解域名解析的原理和流程对于做好域名管理、解决常见解析问题,保障网站的正常运转十分必要。那么域名解析的原理是什么?域名解析的流程是怎样的?接下来,中科三...
- Linux无法解析域名的解决办法(linux 不能解析域名)
-
如果由于误操作,删除了系统原有的dhcp相关设置就无法正常解析域名。 此时,需要手动修改配置文件: /etc/resolv.conf 将域名解析服务器手动添加到配置文件中 该文件是DNS域名解...
- 域名劫持是什么?(域名劫持是什么)
-
域名劫持是互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的地址从而实现用户无法访问目标网站的目的。说的直白些,域名劫持,就是把互...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- # 安装打开 ubuntu-22.04.3-LTS 报错 解决方案
- 利用阿里云镜像在ubuntu上安装Docker
- 如何将Ubuntu Kylin(优麒麟)19.10系统升级到20.04版本
- Ubuntu 16.10内部代号确认为Yakkety Yak
- 如何在win11的wsl上装ubuntu(怎么在windows上安装ubuntu)
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- 如何查看Linux的IP地址(如何查看Linux的ip地址)
- 怎么看电脑系统?(怎么看电脑系统配置)
- 如何查询 Linux 内核版本?这些命令一定要会!
- 深度剖析:Linux下查看系统版本与CPU架构
- 标签列表
-
- navicat无法连接mysql服务器 (65)
- 下横线怎么打 (71)
- flash插件怎么安装 (60)
- lol体验服怎么进 (66)
- ae插件怎么安装 (62)
- yum卸载 (75)
- .key文件 (63)
- cad一打开就致命错误是怎么回事 (61)
- rpm文件怎么安装 (66)
- linux取消挂载 (81)
- ie代理配置错误 (61)
- ajax error (67)
- centos7 重启网络 (67)
- centos6下载 (58)
- mysql 外网访问权限 (69)
- centos查看内核版本 (61)
- ps错误16 (66)
- nodejs读取json文件 (64)
- centos7 1810 (59)
- 加载com加载项时运行错误 (67)
- php打乱数组顺序 (68)
- cad安装失败怎么解决 (58)
- 因文件头错误而不能打开怎么解决 (68)
- js判断字符串为空 (62)
- centos查看端口 (64)