2024-08-16|閱讀時間 ‧ 約 5 分鐘

嵌入式系統開發1 - 資源限制

Making Embedded Systems

Making Embedded Systems

資源限制

嵌入式系統的設計是為了完成特定任務,因此會刪減不必要的資源來達成目標。這些資源包含以下幾項:

  • 記憶體(RAM)
  • 程式碼空間(ROM 或 Flash)
  • 處理器週期或速度
  • 電力消耗(也就是電池壽命)
  • 處理器周邊設備


這些資源在某種程度上可以互換。舉例來說,你可以以佔用更多程式碼空間為代價來提升執行效率,讓程式運行得更快。或者,你也可以降低處理器速度來節省電力。如果系統缺乏某些硬體介面,也可能透過 I/O 線路和處理器週期以軟體模擬方式來實現。然而,即便可以進行這些取捨,這些資源仍然非常有限,如何在有限的資源下達成目標是嵌入式系統面臨的重要挑戰之一。


硬體挑戰

除了資源限制,嵌入式系統開發還面臨來自硬體的挑戰。例如,交叉除錯(cross-debugging)可能讓人感到挫折,尤其在硬體剛啟動的階段,系統問題的來源可能難以判斷,因為問題可能出現在硬體也可能出現在軟體。與一般的電腦不同,你所撰寫的軟體甚至有可能對硬體造成實質損壞。此外,必須具備對硬體的深刻了解,知道硬體能做到什麼。但這些知識可能在下一個專案中無法完全沿用,因此你需要快速學習新的硬體技術。


以下是幾個具體的嵌入式系統開發案例,說明與硬體挑戰相關的問題:

案例 1:無線感應裝置的硬體啟動問題

在一個無線感應裝置的開發過程中,工程師遇到系統無法正確啟動的問題。剛開始時,他們認為是軟體初始化的問題,但實際上是硬體晶片中的電源管理電路存在缺陷,導致系統在上電後電壓不穩定。由於嵌入式系統軟硬體緊密結合,初期調試花費大量時間來排查硬體與軟體之間的交互問題,這就是交叉除錯過程中的典型挫折。

案例 2:醫療設備中的韌體升級錯誤

在一個醫療設備的開發中,韌體升級後設備無法正常工作。原因是軟體錯誤導致設備內部的處理器以不適當的方式控制電流,最終燒毀了一些硬體元件。這個案例說明,嵌入式系統中的軟體錯誤可能對硬體造成實質性的損壞,並強調開發過程中進行周全測試和軟硬體協作的重要性。

案例 3:智慧家居設備的I/O 模擬

在開發智慧家居控制器時,因為成本限制,選用的處理器缺少某些硬體介面(如專用I²C接口)。工程師不得不在有限的處理器資源下,利用軟體方式模擬I²C協定來與周邊感測器進行通信。這雖然成功達成目標,但也增加了開發和除錯的難度,尤其是在模擬的通信速率不穩定時,需要深入了解硬體時序,並進行細緻的調校。

案例 4:消費性電子產品的硬體升級困難

在消費性電子產品的開發中,工程師在現有系統中遇到硬體升級的瓶頸。原有的處理器已經運行接近其資源極限,當增加新功能時,發現處理器無法負荷新需求。在嘗試對軟體進行優化後,最終還是不得不更換處理器。但由於對新硬體的了解有限,整個開發團隊不得不重新學習新的硬體架構,這拖延了整個專案進度。


這些案例展示了嵌入式系統開發中,軟硬體之間複雜的互動,以及快速適應新硬體技術的重要性。


製造階段與量產

當開發與測試完成後,系統將進入量產階段。這是純軟體工程師通常不會涉及的領域。然而,嵌入式軟硬體工程師需要確保系統可以以合理的成本進行製造。支持量產是一個嵌入式工程師的任務,確保製造出的系統能夠忠實再現所設計的功能。


使用階段與產品生命週期

產品製造完成後將進入實際使用階段。對於消費性產品,這意味著它們將進入數百萬個家庭,任何的程式錯誤將被大眾體驗。對於醫療、航空或其他關鍵產品,程式錯誤可能是災難性的(這也是為什麼這些領域有大量文件工作)。對於科學或監測設備,系統可能部署於無法回收或難以回收的環境中(如火山口中的設備),因此它必須非常可靠。這些設備在離開開發者之後的生命週期,是設計軟體時必須考量的重點。


變化與預測未來

即便你已經解決了所有這些問題,仍然存在一個共通的最大挑戰,那就是變化。不僅產品目標會變化,專案的需求也會隨著時間推移而改變。在專案初期,你可能只想隨便拼湊一些功能來進行試驗,但隨著專案的深入,對產品目標和硬體的理解逐漸加深,你將開始構建更多基礎設施,使軟體更具除錯性、穩定性和靈活性。然而,在資源受限的環境下,你必須判斷究竟能投入多少基礎設施開發時間、記憶體、程式碼空間和處理器週期。最終開發出來的系統往往與最初的設計大相徑庭,而開發工作也幾乎永無止境。


嵌入式系統為特定應用量身定做,這有一個不幸的副作用,就是當應用需求變化時,系統可能無法跟隨變化。因此,嵌入式系統工程不僅是應對嚴格的限制與系統的生命週期,更重要的是預測未來的變化,並設計出能夠適應這些變化的軟體。你需要試著預測專案的未來發展方向,並設計出足夠靈活的軟體來應對這些變化。這無疑是一個極具挑戰性的工作。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.