原廠 BSP 解決的是「開發板能跑」,不是「設備能出貨」
很多 Android 硬體專案一開始會拿到 SoC 原廠或模組廠提供的 BSP。這包東西通常包含 bootloader、kernel、device tree、driver、HAL、Android framework 修改,以及一套能在 reference board 上跑起來的 system image。
這很重要,因為沒有它,專案連起點都沒有。但也要分清楚:原廠 BSP 的目標通常是讓平台功能被驗證,讓客戶可以開始開發;它不等於已經替你的產品板、部署環境、維運方式和量產風險都處理好了。
CoreEdge 的定位:補上原廠與客戶之間的技術橋樑
我們不把自己定位成「取代原廠」的角色。相反地,CoreEdge Lab 更像是原廠、模組廠、ODM/OEM 與終端客戶之間的技術補強夥伴。
原廠通常要服務很多客戶,支援範圍必須聚焦在 SoC 平台、reference design、主要 driver、BSP release 和大方向問題。可是客戶真正卡住的地方,往往發生在產品落地階段:產品板改了、周邊換了、網路環境不同、OTA 流程不完整、VPN 連不回來、量產測試沒有工具。
這些問題不一定適合全部丟回原廠,也不一定是客戶 App 團隊能自己解掉的。CoreEdge Lab 補的就是這段中間地帶:把原廠 BSP 往客戶真實產品、真實部署環境、真實維運需求推進。
對原廠或模組廠來說,這可以減少客戶在落地階段反覆升級的支援壓力。對客戶來說,特別是量不大但技術需求很深的團隊,則能取得原廠不一定有資源深入服務的系統整合能力。
工業設備和一般 Android 產品最大的差異:現場沒有人
手機、平板、消費型設備大多假設旁邊有人。App 當掉了,有人可以重開;權限跳窗了,有人可以按;網路斷了,有人可以重連;更新失敗了,有人可以拿回來處理。
但工業 IoT gateway、Edge AI box、HMI、車載或強固型 Android 設備常常不是這樣。它可能被放在機櫃裡、工廠牆上、車上、偏遠站點,甚至幾百公里外。出事的時候,現場不一定有人,也不一定能立刻派人。
所以工業無人值守設備需要的不是「Android 能跑」,而是「Android 出問題時,設備還有機會自己恢復,或至少讓維運團隊遠端看得到、連得回來」。
為什麼原廠 BSP 通常需要大改?
第一個原因是產品板和 reference board 不一樣。電源、GPIO、I2C、SPI、USB、audio codec、sensor、modem、Ethernet、display、touch panel,只要硬體設計不同,device tree、driver config、HAL 行為和測試流程就可能需要調整。
第二個原因是現場網路不穩。工業設備可能同時有 Ethernet、LTE、Wi-Fi,甚至還要做 tethering、NAT、VPN 和多路由切換。原廠 BSP 可能提供基本網路能力,但不一定處理「LTE 斷線後 VPN 如何恢復」、「Ethernet 插拔後路由如何重建」、「重開機後遠端入口如何自動回來」。
第三個原因是 Android 權限模型原本不是為無人值守設計。很多動作在標準 Android 裡需要使用者確認,但工業設備沒有操作員站在旁邊。這時就需要在系統層處理權限、system app、SELinux policy、service 啟動流程和 API 邊界。
真正要補的系統能力
工業 Android 設備要能量產,通常至少需要補上幾類能力。
1. 板級整合與基線穩定
包含 boot path、kernel log、driver probe、device tree、周邊初始化、電源管理與基本壓力測試。目標不是只讓 demo 跑,而是建立一個可重複驗證的系統基線。
2. 網路與遠端入口
設備出貨後,遠端入口就是維運生命線。VPN、自動重連、路由恢復、NAT rebuild、多介面 failover,都需要被設計成系統能力,而不是靠現場工程師手動處理。
3. OTA 與回復機制
工業設備不能只會更新,還要能面對更新失敗。A/B slot、rollback、NV 資料備份、分批推送、更新前後健康檢查,這些都會決定 OTA 是維護工具還是現場事故來源。
4. 診斷與可觀測性
設備在現場出問題時,最怕的是「不知道發生什麼」。log 收集、診斷指令、狀態快照、周邊測試、產線報告,可以把問題從猜測變成可定位、可交接、可追蹤。
好的 BSP 客製化,不是亂改,而是把風險工程化
BSP 客製化不是把原廠 code 改到面目全非,而是把產品真正需要的系統行為補齊,並把風險收斂到可驗證的範圍裡。哪些地方跟硬體設計有關,哪些地方跟 Android framework 有關,哪些地方是 App team 不該承擔的系統責任,都要切清楚。
對工業設備來說,最好的狀態不是「永遠不出錯」。現場一定會有斷線、斷電、周邊異常、更新失敗和不可重現的問題。真正重要的是:設備出錯後能不能恢復?維運團隊能不能看到?能不能遠端處理?下一版能不能安全更新?
這也是為什麼我們會把合作視為夥伴關係,而不是一次性的外包。原廠提供平台能力,客戶提供產品場景,CoreEdge 則負責把兩者中間那些模糊、痛苦、容易被忽略的工程細節補起來。
結論:原廠 BSP 是起點,不是終點
如果你的產品只是展示 demo,原廠 BSP 可能已經夠用。但如果你要做的是工業 IoT gateway、Edge AI box、HMI、車載或其他無人值守 Android 設備,原廠 BSP 幾乎一定只是起點。
真正能出貨的 Android 平台,需要把 BSP、driver、HAL、framework service、網路、VPN、OTA、診斷與恢復機制整合在一起。這也是 CoreEdge Lab 專注的地方:作為原廠與客戶之間的技術橋樑,把 App 底下那層 Android 系統,補到能在現場長時間運作。