如何在資源受限系統中克服 Linux 開發障礙
資料提供者:DigiKey 北美編輯群
2026-03-12
開源技術可消除專有障礙並促進協作,能為電子系統開發人員提供一條降低成本、加快上市時間和延長產品生命週期的途徑。如今,開放原始碼的機會涵蓋整個系統堆疊,從作業系統到單板電腦 (SBC) 硬體及半導體 IP。
然而,要在工業物聯網 (IIoT) 與機器人系統等資源受限的裝置上運行 Linux,仍有相當高的運算需求、安全風險以及確定性延遲的挑戰。
本文將概略回顧設計人員在資源受限系統中部署 Linux 時會面臨的挑戰。接著會介紹 BeagleBoard.org 的 BeagleV-Fire SBC 搭配 Linux,並說明其如何發揮最大的未來設計靈活性。也會示範如何使用 Microchip Technology 的開源板支援套件 (BSP) 來建立初始 Linux 組態。
在嵌入式系統中進行開放原始碼開發的難題
在嵌入式開發中採用開源技術已經非常普遍。無論是要硬體設計或軟體整合,都有眾多製造商與個別工程師提供的現成資產可達到加速。特別是對於需要連網、高階應用框架及人工智慧 (AI) 整合的系統來說,Linux 的靈活性使其成為領先的軟體解決方案。
然而,在資源較受限的裝置上部署 Linux 會有額外的考量:
- 運算需求:對傳統的微控制器單元 (MCU) 來說,即使是最輕量的 Linux 發行版記憶體和儲存需求都難以滿足。若開發人員添加背景服務以支援應用程式、子系統和使用者空間框架 (USF),這些子系統會消耗更多資源,導致龐大的軟體堆疊無法使用。
- 延遲:機器人與工業自動化等高精度應用都要求可預測的時序,以達到系統協調與操作安全。雖然 Linux 核心的 PREEMPT_RT 功能可提升確定性,但專用的即時作業系統 (RTOS) 能為資源受限的硬體提供更低的延遲和負擔。
- 安全性:部署在公共環境中的嵌入式系統會面臨非授權存取的風險,因此標準安全措施非常重要,例如安全啟動、防篡改以及硬體信任根 (RoT) 等。此外,像是歐盟網路韌性法案 (CRA) 等法規,已要求具備數位元素的產品必須從設計階段起即確保安全。
- 電源:邊緣裝置通常在電力資源受限的偏遠環境中運行。更高的能源效率可以延長電池續航力,或可利用環境能源進行操作。同樣地,更高的電源效率可以簡化熱管理,並提升每瓦效能,支援進階的邊緣處理。
- 生命週期管理:CRA 要求數位裝置至少具備五年的支援,但許多工業部署需要 10 至 15 年的產品可用性。因此,為了確保 Linux 核心的持續支援,開發人員必須規劃升級能力與硬體可用性。
為了克服這些挑戰,開發人員可以利用來自開源和嵌入式 Linux 生態系統的額外資源,並運用 Linux 精簡的軟硬體組合來快速發展邊緣應用。
使用開放式 SBC 與 RISC-V 的 Linux 實作
雖然通用的 Linux 發行版能讓應用程式迅速準備就緒,但通常含有手邊專案不需要的套件和服務。相較之下,OpenEmbedded 支援的 Yocto Project 則可讓開發人員建立專為特定使用案例量身打造的自訂 Linux 映像。如此就可擺脫不必要的功能,讓輕量型發行版在資源受限的硬體上運行,同時還可保留進階能力,例如 AI 驅動電腦視覺,或透過標準工具進行預測性維護。
此外,Yocto Project 還為開發人員提供:
- 可重現的組建以利長期維護
- 自訂核心組態,以提升效能、安全性與反應性
- 特定機板層整合,可確保軟硬體相容性並縮短開發時間
以空中下載 (OTA) 更新機制簡化整合作業,如 SWUpdate、RAUC 和 Mender;也有助於開發人員在長期產品生命週期中持續提升裝置的效能與安全性。因此,Yocto Project 如今已成為嵌入式 Linux 系統的標竿。
同樣地,開源 SBC 長期以來一直用於加速 Linux 應用程式的開發,可提供隨時可用的參考平台,在自成一體的外型中結合處理器、記憶體、儲存空間和 I/O 資源。透過開放式 SBC,開發人員就可快速進行系統的原型設計、驗證其軟體堆疊,然後以最小的重工量轉移到客製化硬體上。
RISC-V 開放標準指令集架構 (ISA) 則更進一步發展,能讓系統設計人員打造客製化的處理平台,且不需支付昂貴的授權費用。透過 RISC-V,設計人員就可以選擇要納入指令集的哪些部分,甚至可以將其擴充,以滿足特定的使用情況。由於原始設計是以 Berkeley Software Distribution (BSD) 授權條款打造,衍生作品可以開放且自由運用,也可以封閉並專有。
對於開發人員和架構師來說,Yocto Project、開放式 SBC 以及 RISC-V 都可降低對單一廠商路線圖的依賴,因此能提升長期設計的靈活性。此外,Linux 對 RISC-V 的上游支持日益增強,以及 RISC-V 在 Yocto Project 中取得白金會員身份,都可凸顯嵌入式 Linux 社群的興趣。
適用於緊湊型 Linux 整合的高效能 RISC-V SBC
BeagleBoard.org 的開源 BeagleV-Fire SBC (圖 1) 可提供緊湊且具有豐富 I/O 的平台,能因應這些挑戰。具有 Microchip 的 PolarFire FPGA 系統單晶片 (SoC),可提供節能運作、硬體安全功能,以及連貫的 RISC-V CPU 叢集,可支援執行即時工作負載的 Linux 應用程式。開發人員可使用 SBC 對機器人控制器、工業閘道器、邊緣 AI 加速器以及基於嵌入式 Linux 的客製化 I/O 平台進行原型設計。
圖 1:BeagleBoard.org 的 BeagleV-Fire 提供一個緊湊的 SBC 平台,可將開源技術整合到嵌入式裝置中。(圖片來源:BeagleBoard.org)
此緊湊式平台尺寸為 86.38 mm × 54.61 mm × 18.8 mm,並以節能的 MPFS025T-FCVG484E PolarFire SoC 為基礎打造。具有連貫的多核心架構,包含四個 RV64GC 應用核心,可運行 Linux,還有一個 RV64IMAC 監測核心,可管理低階功能。
為了發揮最大效能並確保跨核心的資料準確性,PolarFire SoC 提供共享的 L2 快取、連貫的記憶體子系統,以及整合式 DDR 記憶體控制器,可支援 2 Gbyte 的板載 LPDDR4 記憶體。BeagleV-Fire 的 16 Gbyte eMMC 儲存空間和 128 Mbit SPI 快閃記憶體可進一步支援複雜的應用程式。
除了 RISC-V 處理器子系統之外,PolarFire SoC 還整合了一個 FPGA 結構 (圖 2),能讓開發人員針對低延遲的即時應用建立確定性的處理路徑,並針對 AI 推論管線實作客製化硬體加速。作為完整系統的一部分,此結構包含了 23k 邏輯元件及其專屬配套資源,因此能獨立於主要處理核心運作。
圖 2:Microchip 的 PolarFire SoC 系列結合多個 RISC-V 處理核心與多功能 FPGA 結構,可用於確定性工作負載。(圖片來源:Microchip Technology)
透過多重安全啟動選項,PolarFire SoC 的整合式硬體安全功能能讓開發人員實作深層安全模型,因此是符合現代網路安全要求的實用平台。功能包括:
- 透過物理不可複製函數 (PUF) 達到不可變的硬體信任根
- 具有一次性可編程 (OTP) 功能的安全金鑰儲存,或採用唯一裝置密鑰 (UDS) 及硬體強制型金鑰存取控制的安全非揮發性儲存
- 防篡改模組
除此之外,BeagleV-Fire 更提供多個整合式實體連接埠,可用於建置應用程式就緒的系統,以便在其中驗證並測試自訂的 Linux 發行版 (圖 3)。其中含有一個 RJ45 Gigabit 乙太網路埠、一個用於電源和連接的 USB Type-C 埠、一個 M.2 Key E 插槽、兩個 46 引腳 BeagleBone 相容的 Cape 接頭可擴充生態系統,以及一個用於直接整合的相機序列介面 (CSI)。有提供 JTAG TAG-CONNECT 覆蓋區可進行除錯;BeagleV-Fire 也有支援 SYZYGY 相容的擴充能力,可用於 FPGA 專用周邊。
圖 3:儘管覆蓋區小巧,BeagleBoard.org 的 BeagleV-Fire 還是提供多個實體連接埠,方便立即進行應用介接。(圖片來源:BeagleBoard.org)
如何在 BeagleV-Fire SBC 上建立初始 Linux 組態
建立 BeagleV-Fire 用的輕量級 Linux 發行版時,開發人員必須先取得適合的 Yocto Project BSP 層。這可提供 U-Boot 組態、預設的 Linux 核心組態、支援該板的裝置樹,以及周邊支援定義。有個 GitHub 儲存庫可支援 PolarFire SoC 的所有評估套件 BSP,包括 BeagleV-Fire。
安裝所有必要的 Yocto Project 相依性項目,以下這些層可提供組建的基礎架構,因此需要進行複製:
- bitbake
- meta-openembedded-core
- meta-yocto (用於 Poky 參考發行版)
- meta-mchp-common
- meta-mchp-polarfire-soc/meta-mchp-polarfire-soc-bsp
- meta-mchp-polarfire-soc/meta-mchp-polarfire-soc-community
- 依專案需求添加其他層
完成此步驟後,可以使用 MACHINE = "beaglev-fire" 的目標及 kas 組態檔來建立最小的映像。清單 1 顯示範例組態:
複製
header:
version: 19
repos:
openembedded-core:
url: git://git.openembedded.org/openembedded-core.git
# yocto-5.0.15
commit: 6988157ad983978ffd6b12bcefedd4deaffdbbd1
layers:
meta:
bitbake:
url: git://git.openembedded.org/bitbake.git
# yocto-5.0.15
commit: 8dcf084522b9c66a6639b5f117f554fde9b6b45a
layers:
bitbake: disabled
meta-yocto:
url: git://git.yoctoproject.org/git/meta-yocto.git
# yocto-5.0.15
commit: 9bb6e6e8b016a0c9dfe290369a6ed91ef4020535
layers:
meta-poky:
meta-yocto-bsp:
meta-mchp:
url: https://github.com/linux4microchip/meta-mchp.git
branch: scarthgap
path: layers/third-party/meta-mchp
layers:
meta-mchp-common:
meta-mchp-polarfire-soc/meta-mchp-polarfire-soc-bsp:
meta-mchp-polarfire-soc/meta-mchp-polarfire-soc-community:
machine: beaglev-fire
local_conf_header:
Users: |
EXTRA_IMAGE_FEATURES = "allow-empty-password empty-root-password \
allow-root-login"
清單 1:此為範例組態檔,可用來建立所有必要的組建物件,以啟動 BeagleV-Fire 至簡易殼層。(清單來源:Microchip Technology)
執行 "kas build core-image-minimal" 將會建立所有必要的組建物件,以啟動 BeagleV-Fire 至簡易殼層,包括 U-Boot 二進位檔及一個 FIT 映像,其中含有 Linux 核心與模組、裝置樹和根檔案系統。
在使用 Yocto Project 建立 BeagleV-Fire 用的最小 Linux 映像後,即可依照標準程序建立自訂映像,並依據專案的具體需求調整組建。舉例而言,在機器人技術和工業系統中,Linux 通常會搭配較傳統的 RTOS 使用 (如 FreeRTOS 或 Zephyr),以達到進階處理能力與時間急迫的操作。BeagleV-Fire 的 PolarFire SoC 能為此功能提供良好支援,以讓 SoC 進行配置,就可同時運行多個作業系統或裸機應用程式。
有鑑於許多嵌入式裝置都需要 10 年或更久的使用壽命,將開放式 RISC-V ISA、Linux 以及基於 Yocto 的可重現能力結合,就可讓 PolarFire SoC 架構平台透過定期的本地或 OTA 更新來因應新出現的安全威脅和新興應用需求。如此一來,BeagleV-Fire SBC 可成為完美的起點,有利於開源採用並提升智慧邊緣系統的靈活性與長期壽命。
結論
運算限制、確定性延遲要求、安全風險,以及長期生命週期需求,都是在資源受限的嵌入式系統中運行 Linux 時可能會遭遇的實際挑戰。BeagleBoard.org 的 BeagleV-Fire SBC 可提供結合 RISC-V Linux 能力及基於 FPGA 的確定性邏輯與硬體式安全功能的混合式架構,因此能克服這些挑戰。若搭配 Yocto Project 及 Microchip 的開源 BSP 層使用,開發人員就可利用此平台建立量身打造且可追蹤的 Linux 發行版,並針對延長壽命的機器人技術、IIoT 及邊緣運算應用進行最佳化。
聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。




