在我剛開始成為嵌入式開發人員時(當時最高的處理器速度也就500kHz),要做的工作同時包括硬體設計和應用軟體開發(而且是用組合語言)。後來,硬體和軟體開發慢慢地分開,硬體工程師主要解決棘手的高速訊號問題,軟體開發人員則解決諸如記憶體約束(Memory Constraint)和即時性能等事情。

但隨著基於功能強大又便宜,且記憶體資源豐富的處理器開發的現成硬體和軟體平台的逐漸普及,嵌入式開發人員的角色再次發生了改變。

嵌入式應用中總是需要客製化(custom)的硬體和軟體,特別是諸如成本、功耗、性能和外形有嚴格要求的那些應用。但種類廣泛的各種平台正滲透到越來越多的應用領域,在上市時間最為迫切的情況下,借助平台的方法有相當大的吸引力。當核心處理硬體、作業系統驅動程式和使用者介面都變得伸手可及時,設計師所要做的就只是設計應用程式碼。

基本上是這樣。

透過收集各種現成的元件來創建系統有一個問題。就大部分而言,這些元件是彼此獨立開發的,因此很少能保證簡單的隨插即用;相反,幾乎都要花時間在不同元件的整合上面,解決修改一個或多個元件引起的衝突。

這類系統整合要求的技巧與系統設計相比有少許的不同。當你從頭開始設計一個系統時,你所做的實現決策是加快和簡化組裝與對系統進行除錯(debugging)的任務。但當你使用現成的元件時,你首先需要瞭解這些元件是如何工作的,然後才能明白它們在一起為什麼不能工作。理解別人的設計其實是一種很大的挑戰。

幸運的是,一旦你理解了所用的平台,那麼使用這些平台創建下一個系統設計將變得非常容易,這正是開發團隊轉向平台的原因。從頭開始做的全新設計每次都要花相同的精力,而基於平台的設計每次會變得更加容易更加快速。

最近我剛好遇到了改變嵌入式設計師所擔當角色的例子。15年前成立的Witekio公司(原Adeneo Embedded)聚集了一群高階嵌入式開發人員,最近他們的任務發生了變化。他們開始做客製化嵌入式系統開發,為他們的OEM客戶設計連網的系統硬體和軟體,並說明晶片供應商增加對他們元件的作業系統與其他軟體支援。公司的這種方法正是在從設計向系統整合轉型。該公司執行長Yannick Chammings在接受採訪時向我解釋了其中的原因。

...繼續閱讀請連結EDN Taiwan網站