文章來源:使用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 SBC安裝ubuntu系統並與樹莓派、arduino連接
ODYSSEY-X86J4105 Ubuntu 20.04 系統信息
我們可以在終端上查看系統中的一些信息:
前往“CNX Software中文站”官網,查看完整信息
一個帶有8GB RAM的英特爾賽揚J4105處理器和擁有127GB分區的根文件系統,這些配置對我來說還是十分不錯的。
功能測試
看起來ODYSSEY-X86J4105支持大多數設備,但由於驅動程序可能會存在一些問題,因此我還是測試瞭主板的主要硬件功能:
前往“CNX Software中文站”官網,查看完整信息
裝有ubuntu的ODYSSEY-X86J4105 SBC連接雙顯示器
所以,除瞭未檢測到 MicroSD 卡、USB-C端口被限制在USB 2.0速度下(480Mbps)、通過 USB-C 端口的視頻輸出最高僅達 1024×768以外,其他各方面表現得都不算太糟糕。
前往“CNX Software中文站”官網,查看完整信息
上面的命令行顯示瞭連接到開發板的兩個 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節流也很有用。
前往“CNX Software中文站”官網,查看完整信息
結果同樣也符合預期,但不知何故,溫度沒有被系統正確報告為20℃。查看此評論,可以瞭解 AMD Ryzen Embedded R1606G 和 Intel Pentium J5005 系統以及樹莓派4( 8GB )的SBC Bench 結果。
存儲
SATA SSD(Rootfs – EXT4):
前往“CNX Software中文站”官網,查看完整信息
在 Windows 10 中,我們獲得瞭 442 MB/s 的連續讀取速度和 219MB/s 的連續寫入速度,但不知何故,它在 Ubuntu 20.04 中相當慢,分別為 220MB/s 和 134 MB/s。
我本來還想在 Ubuntu 中檢查 eMMC flash性能,但如前所述,該分區是隻讀的,即使重新掛載為讀/寫,我也無法獲得向其寫入任何文件的權限。
GPU 基準測試
當天基於Unigine Heaven Benchmark 4.0的最終基準測試結果如下:
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 組上以避免權限問題:
前往“CNX Software中文站”官網,查看完整信息
退出登錄後,我在 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。
通過arduino接口連接LED
並相應地修改瞭blink 程序:
前往“CNX Software中文站”官網,查看完整信息
最後,我將程序刷入瞭 Arduino MCU中。
燒錄blink程序到開發板
成功瞭!LED可以閃爍瞭。請註意,Arduino 接頭與 Shields 不兼容,因此你不能隻在頂部插入一個Shields 板。相反,你必須像我在這裡所做的那樣弄一些接線。我倒是不擔心軟件兼容性,因為該板嵌入瞭 Microchip SAMD21 微控制器。
樹莓派接頭
如我想的那樣, Arduino 部分其實是很容易的,因為它在 Windows 10 中可以工作。現在是時候測試樹莓派排針接頭瞭。如果我們要連接 Pi HAT,我們也許應該先檢查引腳排列。
40 針接頭 – ODYSSEY-X86J4105(左)與樹莓派2/3/4(右)
通過對比,它與樹莓派接口足夠相似,我希望許多樹莓派HAT 都能兼容。所以我最初決定使用主要依賴 SPI 接口的 Grove AI HAT,但是在與矽遞科技(Seeed Studio )討論是否隻是在板上啟用 SPI 和更改代碼中GPIO 編號的問題後,該公司告訴我這比較復雜,因為x86框架現在還不支持。
因為我沒有任何其他尚未送出的HAT瞭,所以我又用瞭我的面包板和LED測試瞭樹莓派的GPIO,外加一個BH1750光傳感器來測試I2C。
樹莓派接口GPIO和I2C測試
我主要是按照Wiki 中的說明進行瞭操作。讓我們從 GPIO 開始。我將 LED 連接到 GPIO 337(引腳 7),我需要導出 IO,將方向和值設置為 1 從而打開 LED:
前往“CNX Software中文站”官網,查看完整信息
之後要關閉它:
前往“CNX Software中文站”官網,查看完整信息
一切都進行得很順暢。對瞭,矽遞科技建議在完成後要取消導出 GPIO,但其實我不太明白這樣做的必要性:
前往“CNX Software中文站”官網,查看完整信息
作為參考,我定義瞭四個 GPIO 塊:
前往“CNX Software中文站”官網,查看完整信息
也可以使用中斷,矽遞科技提供瞭測試用的Python腳本,安裝方式如下:
前往“CNX Software中文站”官網,查看完整信息
我們現在可以運行測試程序:
前往“CNX Software中文站”官網,查看完整信息
接下來我們可以嘗試測試 I2C。如前面說說的,我將 BH1750 I2C 光傳感器連接到 3.3V、GND、IC2 時鐘和數據 ping中,並檢查電路板是否會檢測到傳感器:
前往“CNX Software中文站”官網,查看完整信息
哎呀……沒有檢測到……所以我進入瞭 BIOS,看到所有“特殊功能”都設置為瞭GPIO。
BIOS配置GPIO的界面
我不太記得我是否更早地更改過,因為這些不應該是默認值,但無論如何,我將它們全部更改為啟用 I2C、SPI、UART 。
BIOS配置啟用 I2C、SPI、UART
當我回到 Ubuntu 時,我仍然從i2cdetect命令發現瞭相同的輸出問題。所以我仔細閱讀瞭 Wiki,並運行瞭兩個命令。然後,又再次檢查 I2C 設備:
前往“CNX Software中文站”官網,查看完整信息
i2c_designware.0應該代表I2C6(管腳27和28),而i2c_designware.1 為I2C5(管腳3和5),也是連接光傳感器的管腳。所以讓我用 I2C-2 再試一次:
前往“CNX Software中文站”官網,查看完整信息
我沒有連接任何東西到 SPI,但內核檢測到瞭 SPI:成功!檢測到光傳感器瞭!
前往“CNX Software中文站”官網,查看完整信息
如果我們想從用戶空間訪問它的話,我們需要運行一些命令:
前往“CNX Software中文站”官網,查看完整信息
完成後,重新啟動電路板,我們可以看到兩個 SPI 設備:
前往“CNX Software中文站”官網,查看完整信息
與 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中文站 — 嵌入式開發者的新聞知識庫!