Khadas VIM3 是 ARM64 型單板電腦。您可以在 VIM3 上執行 Fauchsia。本指南說明 Fuchsia contributors如何在 VIM3 上安裝 Fuuchsia 及執行其他常見的開發工作。
如要進一步瞭解 VIM3 支援的功能,請參閱「附錄:功能支援」。
目標對象
本指南假設您熟悉以下內容:
- 與電子產品和硬體搭配使用
- 從原始碼和其他 CLI 工作流程建構 Fuchsia。
在 Khadas VIM3 白板上安裝 Fuchsia
必要條件
您必須具備下列所有硬體和軟體:
Khadas VIM3 單板電腦。Google 員工應向 Fuchsia Ops 團隊申請登機。
執行 Linux 且有 2 個 USB 連接埠的桌上型電腦或筆記型電腦。這部電腦稱為「主機」。
給主機的電源至少 24W。啟用 DVFS 時,VIM3 可繪製這麼多能量。
主機上運作正常的 Fuchsia 開發環境。換句話說,您應能在主機上的原始碼中建構 Fuchsia。
支援資料傳輸和電力傳輸功能的 USB-C 轉 USB-A 傳輸線。USB-C 端適用於 VIM3。另一側則是主辦人。
以下為選用項目:
- 散熱器。這可讓在 VIM3 上以全速執行 2 個 CPU 核心,但超過 80°C (亦即超過核心數量限制的核心溫度)。
如需相容配件的範例,請參閱「Kadas」商店中的「VIM3 集合」。
建構 Fuchsia
-
- 設定版本時,請使用
fx set core.vim3
。
- 設定版本時,請使用
您將使用 Fuchsia 開發環境建構 VIM3 的 Fuchsia 映像檔,並執行樹狀結構內 CLI 工具,將 Fuchsia 映像檔刷新至 VIM3。
設定硬體
設定 VIM3 與主機通訊:
使用 USB-C 轉 USB-* 傳輸線將 VIM3 和主機互相連接。VIM3 上的白色 LED 燈應該會開啟。
這個連線會使用
fastboot
來啟動及刷新 VIM3。將序列電線接到 VIM3 的 GPIO:
GND 即可固定 17。
TX (從 VIM3 輸出) 至圖釘 18。
RX (放入 VIM3) 以固定 19。
請勿將序列電線的電源線接上任何 VIM3 GPIO。 VIM3 正透過 USB 傳輸線連接電源。
請參閱序列偵錯工具的範例圖片,瞭解序列線如何連接至 VIM3。
將序列纜線的 USB 端連接到主機。
驗證序列連線
確認您可以查看序列記錄:
開啟 Fuchsia 的序列控制台:
fx serial
按下 VIM3 上的重設按鈕。重設按鈕是在電路板上印出「R」R的按鈕。如需圖表,請參閱「VIM3/3L 硬體」。序列控制台中會顯示人類可讀的記錄。
如果您的 VIM3 似乎持續重新啟動,請參閱疑難排解:開機一文。
清除 eMMC
您需要先將 VIM3 韌體和軟體達到已知良好狀態,才能安裝 Fuchsia。第一步是清除 eMMC。
按下 VIM3 上的重設按鈕。
按下重設按鈕後立即重複按下空格鍵,讓 VIM3 開機。請務必將遊標聚焦在序列主控台上。系統啟動載入程式程序應該會暫停,您的序列主控台應該會顯示
kvim3#
提示。序列主控台現在會讓您存取 U-Boot 殼層。在 U-Boot 殼層中執行下列指令:
store init 3
序列控制台記錄應能確認 eMMC 已正確清除。
詳情請參閱清除 eMMC。
更新 VIM3 上的 Android 圖像
現在,您需要讓 VIM3 韌體和軟體達到已知的良好狀態:
點選下列網址,下載已知在後續的 Fuchsia 安裝中順利運作的 Android 映像檔:https://dl.khadas.com/firmware/vim3/android/VIM3_Pie_V211220.7z
解壓縮壓縮的封存檔案 (
VIM3_Pie_V211220.7z
)。擷取後,其中應有一個包含update.img
檔案的VIM3_Pie_V211220
目錄。請按照在 eMMC 中安裝 OS 的指示操作。執行
aml-burn-tool
時,-i
旗標的值應為update.img
檔案的路徑。您的指令應如下所示:aml-burn-tool -b VIM3 -i ~/Downloads/VIM3_Pie_V211220/update.img
若 VIM3 上的白色和紅色 LED 燈關閉,且藍色 LED 亮起,表示 VIM3 處於睡眠模式。請嘗試將 VIM3 重新放回「升級模式」,然後再次按下重設按鈕。
此時,VIM3 上的白色 LED 應亮起,在您按下 VIM3 上的重設按鈕後,您應該會看到序列主控台中的記錄。
更新系統啟動載入程式
本節說明如何將 Fuchsia 修改的 U-Boot 預先建構版本刷新至 VIM3。如果您想從來源建構經過修改的 U-Boot,請點選以下連結:https://third-party-mirror.googlesource.com/u-boot/+/refs/heads/vim3
按下重設按鈕,然後在序列主控台中重複按下空格鍵,即可再次存取 U-Boot shell。當序列主控台顯示
kvim3#
提示時,您就處於 U-Boot 殼層。在 U-Boot 殼層中執行下列指令:
fastboot
序列主控台中會顯示下列記錄:
g_dnl_register: g_dnl_driver.name = usb_dnl_fastboot USB RESET SPEED ENUM USB RESET SPEED ENUM
如果您看到第一行 (
g_dnl_register: g_dnl_driver.name = usb_dnl_fastboot
),但沒有這一行,請嘗試使用其他 USB-C 轉 USB-* 傳輸線,並確認該傳輸線可同時支援資料和傳輸功能。在主機中開啟新的終端機視窗,然後執行下列指令:
cd ~/fuchsia/prebuilt/third_party/fastboot
./fastboot flashing unlock
./fastboot flashing unlock_critical
./fastboot flash bootloader ~/fuchsia/prebuilt/third_party/firmware/vim3/u-boot.bin.unsigned
./fastboot reboot
將 Fuchsia 刷新至 eMMC (只需更新一次)
當您第一次將 Fuchsia 刷新至 VIM3 時,才需要使用此工作流程。如果您已在 VIM3 上執行 Fuchsia,請使用「更新 Fuchsia 映像檔」工作流程,因為該檔案速度更快。
如果您剛剛執行上一節的
./fastboot reboot
指令,則您的 VIM3 應已處於fastboot
模式。您可以檢查fx serial
記錄來確認情況。否則,請按下重設按鈕並重複按下fx serial
控制台中的 F 鍵,直到再次看到USB RESET
和SPEED ENUM
。在主機上的獨立終端機中執行下列指令:
fx flash
你的 VIM3 現在正在經營 Fuchsia!
更新 Fuchsia 圖片
如果您已在 VIM3 上執行 Fuchsia,並想要更新 Fuchsia 映像檔,請完成下列步驟。
在主機上透過終端機執行下列指令:
fx serve
請繼續執行這個指令。
在樹狀 Fuchsia 中變更部分項目,並建構變更。
開啟新的終端機視窗,然後在 VIM3 上執行 Fuchsia 映像檔的 OTA 更新:
fx ota
停用電風扇,減少 VIM3 噪音
如果 VIM3 風扇的響亮噪音造成您困擾,可以在下列任一工作流程中停用此功能:
- 將
--args vim3_mcu_fan_default_level=0
新增至fx set
叫用。 - 如果使用永久本機建構引數,請將
vim3_mcu_fan_default_level=0
新增至~/fuchsia/local/args.gn
。
確保 VIM3 嘗試執行工作
請在修訂訊息中加入以下這行,確保 VIM3 嘗試執行工作:
Cq-Include-Trybots: luci.turquoise.global.try:bringup.vim3-debug,core.vim3-debug,core.vim3-vg-debug
疑難排解
本節將說明常見問題的解決方法。
疑難排解:開機程序
問題:
您正在查看 VIM3 序列記錄。記錄顯示 VIM3 會繼續重新啟動。
根本原因:
不明。卡達的 Power Delivery 實作方式似乎存在根本錯誤。Fuchsia 解決問題 122113 中的錯誤。
解決方法 1:
拔除 USB 傳輸線,然後重新插上。視需要重複 2 到 3 次。
解決方法 2:
一律使用 USB-C 轉 USB-A 傳輸線。
疑難排解:硬體不符
問題:
刷新沙發時發生以下錯誤:Hardware mismatch! Trying to flash images
built for vim3 but have 0
解決方法:
附錄:修正磚塊的 VIM3
如果您已將 VIM3 積木,且需要「恢復原廠設定」,請按照下列步驟操作:
附錄:支援
- 如果是有關 VIM3 硬體或韌體的問題,請參閱 VIM3 官方文件和 Khadas VIM3 官方論壇。
- 如果是與 Fuchsia 相關的問題,請嘗試「Fuchsia 郵寄清單和聊天室」。
附錄:功能支援
Fuchsia 目前支援 VIM3 的以下功能:
- UART 序列偵錯工具
- 透過乙太網路和 USB 進行路面處理
- 儲存空間 (eMMC)
- HDMI 螢幕和 Framebuffer
- GPU (Mali) 和 Vulkan 圖形
- 乙太網路
- SDIO
- I2C
- GPIO
- 溫度感測器和 DVFS
- RTC
- 時鐘
- 風扇
- 北美洲
- 週邊裝置模式的 USB-C
- USB-A
- 音訊1
這些功能仍在開發階段,可能不支援:
- 影片解碼器
- SPI
系統不支援下列功能,但日後的貢獻可能會新增:
- SPI 閃光燈
- 主機模式的 USB-C
- 電源管理與 PMIC
- 網路喚醒
- UART BT
我們不支援以下功能,且可能無法新增:
- 影片編碼 (原因:非公開韌體)
- 信任的執行環境 / 安全啟動
附錄:更新啟動啟動畫面
如要將啟動啟動畫面更新為 Fuchsia 標誌,請在 VIM3 處於 fastboot
模式時,透過主機終端機執行下列指令:
~/fuchsia/prebuilt/third_party/fastboot/fastboot flash logo \
~/fuchsia/zircon/kernel/target/arm64/board/vim3/firmware/logo.img
-
VIM3 不含喇叭和麥克風等音譯器,除了轉換器外,也必須透過 GPIO 標頭新增並整合 DAC/ADC 等外部硬體,才能以這種方式播放及擷取音訊。 ↩