Khadas VIM3 開發指南

Khadas VIM3 是以 ARM64 為基礎的單一桌上型電腦。 就在 VIM3 上使用 Fuchsia。本指南說明 Fuchsia 貢獻者如何安裝 透過 Fuchsia 使用 VIM3 執行其他常見開發工作。

如要進一步瞭解 VIM3 的功能,請參閱附錄:功能支援 支援 Fuchsia。

目標對象

本指南假設您已熟悉下列項目:

  • 鑽研電子產品和硬體。
  • 透過來源和其他 CLI 工作流程建構 Fuchsia。

在 Khadas VIM3 遊戲板上安裝 Fuchsia

如需相關資訊,請參閱疑難排解附錄:支援 無法順利完成安裝程序。

必要條件

您需要以下所有軟硬體:

  • Khadas VIM3 單板電腦。Google 員工應透過 與 Fuchsia Ops 團隊聯絡

  • 執行 Linux 且有 2 個 USB 連接埠的桌上型或筆記型電腦 廣告。這部電腦稱為「主機」

  • 主機的電源供應器至少為 24W。VIM3 可以 DVFS 已啟用時傳送的規則。

  • 主機上正常運作的 Fuchsia 開發環境。也就是說 應該能夠在主機上從原始碼建構 Fuchsia

  • USB 轉存留時間序列傳輸線

  • 支援傳輸資料和供電的 USB-C 轉 USB-A 傳輸線。USB-C 一端是 VIM3另一端則代表代管者。

以下為選用項目:

  • 散熱器。即可以完整速度在 VIM3 上執行 2 個 CPU 核心 且無法達到 80°C 來解決核心溫度超出哪些核心範圍 作業速度降低

請前往 Khadas 商店的 VIM3 系列查看相容範例 配件。

打造紫紅色

如果您目前沒有 樹狀結構內 環境設定 建議您立即啟動這項程序,因為這可能需要一段時間才能完成:

  1. 下載 Fuchsia 原始碼

  2. 設定及建構 Fuchsia

    • 設定版本時,請使用 fx set core.vim3
,瞭解如何調查及移除這項存取權。

您將使用 Fuchsia 開發環境為 VIM3 並執行樹狀結構內 CLI 工具,將 Fuchsia 映像檔刷新至 VIM3。

設定硬體

設定 VIM3,與主機通訊:

  1. 使用 USB-C 轉 USB-* 傳輸線將 VIM3 和主機互相連接。 VIM3 上的白色 LED 燈應亮起。

    系統會使用這個連線透過 fastboot 啟動及刷新 VIM3。

  2. 將序列電線接到 VIM3 的 GPIO:

    • 使用 GND 固定 17。

    • 按 TX (從 VIM3 輸出) 並固定 18。

    • RX (存入 VIM3) 即可固定 19。

    • 請勿將序列線的電源線連接至任何 VIM3 GPIO。 VIM3 正透過 USB 傳輸線為裝置供電。

    ,瞭解如何調查及移除這項存取權。

    如需序列線路方式的範例圖片,請參閱序列偵錯工具 應連線至 VIM3。

  3. 將序列傳輸線的 USB 端接上主機。

驗證序列連線

確認您可以查看序列記錄檔:

  1. 開啟 Fuchsia 的序列控制台:

    fx serial
    
  2. 按下 VIM3 上的重設按鈕。「重設」按鈕是 R 顯示在電路板的旁邊。請參閱 VIM3/3L 硬體的說明 圖表。序列控制台中應會顯示使用者可理解的記錄。

如果您的 VIM3 似乎不斷重新啟動,請參閱疑難排解:開機

清除 eMMC

您需要先取得 VIM3 韌體與軟體,才能安裝 Fuchsia 達到已知的良好狀態第一步是清除 eMMC。

  1. 按下 VIM3 上的重設按鈕。

  2. 按下重設按鈕後立即開始重複按下 空格鍵鍵,用於啟動 VIM3 啟動程序。確認您的遊標 例如序列控制台系統啟動載入程式程序應該會暫停, 序列主控台應會顯示 kvim3# 提示。序列控制台現已建立完成 可讓您存取 U-Boot 殼層

  3. 在 U-Boot 殼層中執行下列指令:

    store init 3
    

    您的序列控制台記錄應確認 eMMC 是否已正確清除。

詳情請參閱清除 eMMC

更新 VIM3 上的 Android 映像檔

現在您需要讓 VIM3 韌體和軟體進入已知的良好狀態:

  1. 按一下下列網址即可下載已知可運作的 Android 映像檔 之後的 Fuchsia 裝置安裝更是如此: https://dl.khadas.com/firmware/vim3/android/VIM3_Pie_V211220.7z

  2. 將壓縮過的封存檔 (VIM3_Pie_V211220.7z) 解壓縮。在 擷取的 VIM3_Pie_V211220 目錄應包含 update.img 檔案。

  3. 按照「將 OS 安裝到 eMMC」一文中的指示操作。跑步時 aml-burn-tool-i 標記的值應該是 update.img 檔案。您的指令應如下所示:

    aml-burn-tool -b VIM3 -i ~/Downloads/VIM3_Pie_V211220/update.img
    
  4. 如果 VIM3 上的白色 LED 燈熄滅,且藍色 LED 燈亮起, 表示您的 VIM3 處於休眠模式。請嘗試將 VIM3 重新放回 升級模式,然後再次按下重設按鈕。

此時,VIM3 上的白色 LED 燈應亮起,並且您應該會看到記錄 按下 VIM3 上的重設按鈕後返回序列控制台。

更新系統啟動載入程式

本節說明如何刷新 Fuchsia 修改過的預建版本 啟動 VIM3 的 U-Boot。如果想建立 修改自來源的 U-Boot: https://third-party-mirror.googlesource.com/u-boot/+/refs/heads/vim3

  1. 按下重設按鈕並再次存取 U-Boot 殼層, 在序列主控台中重複按下空格鍵鍵。時間 序列控制台顯示 kvim3# 提示,目前您處於 U-Boot 殼層。

  2. 在您的 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-* 傳輸線, 它支援資料和送電

  3. 在主機中開啟新的終端機視窗,然後執行下列指令:

    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 映像檔 因為更新速度較快

  1. 如果您剛才從上一節執行 ./fastboot reboot 指令,那麼 您的 VIM3 應該已進入 fastboot 模式。你可以查看 fx serial 加以確認。否則,請按下重設按鈕,然後重複按下 fx serial 控制台中的 F 鍵,直到看見 USB RESET 為止 和 SPEED ENUM

  2. 請在主機的個別終端機中執行下列指令:

    fx flash
    

您的 VIM3 目前正在執行 Fuchsia!

更新 Fuchsia 圖片

當您在 VIM3 上執行 Fuchsia 時,請完成以下步驟 更新 Fuchsia 圖片。

  1. 在主機的終端機上執行下列指令:

    fx serve
    

    請繼續執行這個指令。

  2. 對 Fuchsia 樹狀結構內結構結帳頁面進行一些變更,然後建構變更。

  3. 開啟新的終端機視窗,然後透過 您的 VIM3:

    fx ota
    

關閉風扇,降低 VIM3 噪音

如果 VIM3 風扇的過大噪音造成您困擾,您可以隨意停用 VIM3 風扇 下列工作流程的流程:

  • --args vim3_mcu_fan_default_level=0 新增至 fx set 叫用。
  • 如果使用,請在 ~/fuchsia/local/args.gn 中新增 vim3_mcu_fan_default_level=0 「永久性本機建構引數」
,瞭解如何調查及移除這項存取權。

確保 VIM3 tryjobs 已執行

在修訂訊息中加入以下這行程式碼,確保 VIM3 tryjobs 能執行:

Cq-Include-Trybots: luci.turquoise.global.try:bringup.vim3-debug,core.vim3-debug,core.vim3-vg-debug

疑難排解

本節說明常見問題的解決方法。

疑難排解:Bootloops

問題:

您查看的是 VIM3 序列記錄檔。記錄檔建議 VIM3 又一直重新啟動。

根本原因:

未知。卡達的供電似乎存在潛在錯誤 。Fuchsia 解決問題 122113 中的錯誤。

解決方法 1:

拔除 USB 傳輸線,然後再重新插上。視需要重複 2 到 3 次。

解決方法 2:

請一律使用 USB-C 轉 USB-A 傳輸線。

疑難排解:硬體不符

問題:

刷新 Fuchsia 時,發生以下錯誤:Hardware mismatch! Trying to flash images built for vim3 but have 0

解決方法:

返回「更新 Android 映像檔」步驟。

附錄:修正積木的 VIM3

如果您已將 VIM3 恢復原廠設定並需要「恢復原廠設定」,請按照下列步驟操作:它:

  1. 清除 eMMC
  2. 更新 Android 映像檔
  3. 更新系統啟動載入程式
  4. 將 Fuchsia 刷新到 eMMC (僅限一次)

附錄:支援

附錄:功能支援

Fuchsia 目前支援下列 VIM3 功能:

  • UART 序列偵錯工具
  • 透過乙太網路和 USB 進行繪製
  • 儲存空間 (eMMC)
  • HDMI 顯示和 Framebuffer
  • GPU (Mali) 和 Vulkan 圖形
  • 乙太網路
  • SDIO
  • I2C
  • GPIO
  • 溫度感應器和 DVFS
  • RTC
  • 時鐘
  • 風扇
  • NNA
  • 處於週邊模式的 USB-C
  • USB-A
  • 音訊1

這些功能仍在開發階段,可能不受支援:

  • 影片解碼器
  • SPI

目前不支援以下功能,但未來可能會新增 貢獻:

  • SPI 閃光燈
  • 主機模式中的 USB-C
  • 電源管理和 PMIC
  • LAN 喚醒
  • 猶他州銀行 (BT)

系統不支援以下功能,因此無法新增:

  • 影片編碼 (原因:非公開韌體)
  • 受信任的執行環境 / 安全啟動

附錄:更新啟動啟動畫面

如要將啟動啟動畫面更新為 Fuchsia 標誌,請執行下列步驟 在 VIM3 處於 fastboot 模式時從主機終端機發出指令:

~/fuchsia/prebuilt/third_party/fastboot/fastboot flash logo \
    ~/fuchsia/zircon/kernel/target/arm64/board/vim3/firmware/logo.img

  1. VIM3 不包含喇叭、麥克風等變音器 除了轉換器外,還有 DAC/ADC 等外部硬體 必須透過 GPIO 標頭新增與整合,才能 以這種方式播放及擷取音訊