使用一個功能強大的微處理器和大量的內存來設計一個嵌入式系統是相對容易的。然而,在資源受限的深度嵌入式設備世界中,這通常并不現實。
在嵌入式領域,即使是最小的物料清單(BOM)也要仔細審查成本。也就是說,有時很容易忽略臃腫的固件對BOM成本的影響。如果你的固件消耗了過多的內存和/或處理周期,你可能會無意中迫使你的硬件設計采用更昂貴的處理器。
這種增加的硬件成本相當于隱藏的每臺設備版稅。隨著產量的增加,這種隱藏的硬件使用費會變得很大。
在更貴的硬件中,一個自由軟件要花你多少錢?
鑒于微處理器和應用需求的多樣性,這有點難以計算。然而,看看一些流行的半導體供應商宣傳的微處理器價格,從256KB閃存(64KB RAM)到384KB閃存(96KB RAM)的適度跳躍,每個微處理器的成本可能高達1美元。同樣,將處理能力從84MHz提高到168MHz可以再增加1美元。因此,僅僅因為微處理器的選擇,你的BOM成本就很容易增加2美元。當然,這種成本真的會增加,尤其是如果你的設備有一個大的生產運行。
如何避免固件膨脹導致的隱藏的微處理器版稅?首先,確保固件內存消耗和性能有明確的設計目標。同樣重要的是,確保整個開發團隊朝著這些設計目標努力。否則,很可能你的固件會膨脹,無意中迫使你的設計成為一個更昂貴的微處理器。
下一個最重要的考慮是確保你有最好的嵌入式系統編譯器技術,這通常意味著商業編譯器。GCC編譯器生成了不錯的非優化代碼,但是沒有人相信最高級別的GCC優化(-O3)。不管怎樣,最好的商業編譯器生成的代碼圖像比GCC小20%到30%,通常可以立即收回成本。
RTOS和中間件怎么樣?你還應該尋找為小尺寸和低開銷執行而設計的嵌入式RTOS和中間件解決方案,因為這些組件通常與你的應用程序代碼駐留在同一個固件映像中。還有浪費的RTOS導致嵌入式系統設計使用更昂貴的微處理器的案例。盡管使用的RTOS是“免費”的,但考慮到它引入的隱藏硬件版稅,它實際上是帶有版稅的。
避免隱藏的版稅在很大程度上相當于提高認識和規劃,其中包括在選擇最佳編譯器、最佳嵌入式RTOS和最佳嵌入式中間件時進行盡職調查。看看每個組件的總成本/收益,而不僅僅是前期成本——記住,從長遠來看,“免費”軟件實際上可能會導致昂貴的硬件。
通過適當的規劃和嵌入式軟件工具,你的固件可以安裝到盡可能最小的微處理器中,從而避免隱藏的硬件使用費。