
準備 ITE 嵌入式系統軟體開發專業人員鑑定,IEX「嵌入式系統的開發平台與工具(Embedded Linux)」涵蓋開發工具、系統程式設計、核心啟動與系統整合。本篇聚焦交叉編譯、組態/編譯/鏈結,以及啟動階段的故障定位;讀完應能根據目標架構與錯誤紀錄,選擇合理的優先檢查方向。
本篇主要對應 IEX 的開發環境:除錯、測試與模擬工具,系統程式設計中的啟動、組態、編譯、鏈結,以及系統整合;並連接核心初始化與啟動、檔案系統主題。這些觀念亦呼應 IEA 的開發環境與設計整合,但本文以 IEX 的建置及啟動判斷為主。
開發主機是編輯與建置程式的電腦,目標板是實際執行產品軟體的裝置。若主機與目標使用不同處理器架構,常需要交叉編譯工具鏈,在主機產生目標能執行的程式。例如主機是 x86,目標是 ARM,就不能把主機原生產物直接視為目標可用。工具鏈還必須配合目標的執行環境。
把建置拆開看:組態決定需要哪些功能,編譯把原始碼轉成目的檔,鏈結再組合目的檔與需要的程式庫,產生可執行產物。遇到未定義符號,通常要查鏈結所需定義與程式庫;遇到目標無法執行,則還要查架構、載入器與相依程式庫。不能把所有錯誤都當成語法寫錯。
產物正確後,可沿啟動順序定位問題。一般 Embedded Linux 系統先由啟動載入程式做必要準備並載入核心,核心初始化資源,準備根檔案系統並啟動使用者空間的 init,之後才有服務與產品應用。不同平台可能多出韌體或暫存根檔案系統等階段,所以這是一條定位主線,不是所有板子的完整固定流程。
假設紀錄已出現核心訊息,後來指出無法掛載根檔案系統,就先查根分割區參數、儲存驅動與檔案系統支援。如果根檔案系統可用,但 init 無法執行,再查檔案是否存在、架構及相依程式庫。若應用已經啟動卻沒有溫度,才回到裝置辨識、驅動及應用讀值路徑逐層驗證。

實際除錯時,把「最後成功的步驟」與「第一個失敗的訊息」記下來,再一次改一個條件、重現並比對結果。模擬器適合先查部分程式與流程,真實板子仍要驗證時序、供電及周邊整合。不要因為模擬正常,就直接推定硬體整合也已通過。
以下2題為自編教學題、非官方原題;題幹、選項與答案沿用本堂影片,不代表官方出題或計分方式。
第1題|單選
開發主機使用 x86,目標板使用 ARM,要在主機建置給目標執行的程式,哪個方向正確? A. 採用主機原生工具鏈建置。 B. 只替產物重新命名副檔名。 C. 採用匹配目標的工具鏈建置。
答案是 C。重點在目標的架構與執行環境,工具鏈必須與它們相符。用主機原生工具鏈,可能得到主機可執行、目標卻不能執行的產物;改副檔名也不會改變指令架構。這就是把「建置成功」與「目標可用」分開驗證。
第2題|複選
紀錄顯示核心已啟動,但無法掛載根檔案系統,哪些是合理的優先檢查方向? A. 核對根分割區參數。 B. 檢查儲存驅動是否可用。 C. 檢查 init 的相依程式庫。 D. 檢查感測器的讀值路徑。
答案是 A 和 B。根分割區參數指出要掛載哪裡,儲存驅動則影響能不能存取裝置;檔案系統類型支援也值得檢查。C 的 init 相依程式庫,要在根檔案系統掛載成功、但 init 無法執行時再查;D 的感測器讀值路徑,則在應用啟動卻沒有溫度時再查。兩者都屬於掛載成功之後的階段,不是目前的優先方向。本題要求全選對才算練習完成,這是本課自訂檢核方式,不代表官方複選計分規則。

練習任務:畫出監測器的軟硬體圖,挑選一個故障,寫下最後成功步驟、第一個錯誤與檢查順序。
本篇依官方技能規範選材,僅涵蓋上述入門觀念,並非兩科完整考綱教學,也不保證考過。依課程規劃的範圍覆蓋表,尚須另外準備:
備考行動:選1個啟動失敗情境,寫出證據、優先假設、檢查順序與驗證結果,再對照官方完整範圍補足未熟主題。
資料查核紀錄:2026-10-22。技能規範採官網連結版本,PDF 未標年度/版號;修訂狀態仍須依官方確認。本文不推估主題占分;Linux 技術文件僅補充觀念。
IEA技能規範(ITE官方範圍)
IEX技能規範(ITE官方範圍)
Linux裝置模型(開發專案第一方技術文件)
Kbuild(開發專案第一方技術文件)
啟動時找不到init的說明(開發專案第一方技術文件)