時代在改變,社會在進步,隨著各種功能強大且存儲器資源豐富的處理器開發(fā)的硬件和軟件平臺的出現(xiàn)于漸漸普及,嵌入式開發(fā)產(chǎn)業(yè)發(fā)生了變化。
在我剛開始成為嵌入式開發(fā)人員時(當時最高的處理器速度也就500kHz),要做的工作同時包括硬件設(shè)計和應(yīng)用軟件開發(fā)(而且是用組合語言)。后來,硬體和軟體開發(fā)慢慢地分開,硬體工程師主要解決棘手的高速訊號問題,軟體開發(fā)人員則解決諸如記憶體約束(Memory Constraint)和即時性能等事情。
但隨著基于功能強大又便宜,且記憶體資源豐富的處理器開發(fā)的現(xiàn)成硬體和軟體平臺的逐漸普及,嵌入式開發(fā)人員的角色再次發(fā)生了改變。
嵌入式應(yīng)用中總是需要客制化(custom)的硬件和軟件,特別是諸如成本、功耗、性能和外形有嚴格要求的那些應(yīng)用。但種類廣泛的各種平臺正滲透到越來越多的應(yīng)用領(lǐng)域,在上市時間最為迫切的情況下,借助平臺的方法有相當大的吸引力。當核心處理硬體、作業(yè)系統(tǒng)驅(qū)動程式和使用者介面都變得伸手可及時,設(shè)計師所要做的就只是設(shè)計應(yīng)用程式碼。
基本上是這樣。
透過收集各種現(xiàn)成的元件來創(chuàng)建系統(tǒng)有一個問題。就大部分而言,這些元件是彼此獨立開發(fā)的,因此很少能保證簡單的隨插即用;相反,幾乎都要花時間在不同元件的整合上面,解決修改一個或多個元件引起的沖突。
這類系統(tǒng)整合要求的技巧與系統(tǒng)設(shè)計相比有少許的不同。當你從頭開始設(shè)計一個系統(tǒng)時,你所做的實現(xiàn)決策是加快和簡化組裝與對系統(tǒng)進行除錯(debugging)的任務(wù)。但當你使用現(xiàn)成的元件時,你首先需要瞭解這些元件是如何工作的,然后才能明白它們在一起為什么不能工作。理解別人的設(shè)計其實是一種很大的挑戰(zhàn)。
幸運的是,一旦你理解了所用的平臺,那么使用這些平臺創(chuàng)建下一個系統(tǒng)設(shè)計將變得非常容易,這正是開發(fā)團隊轉(zhuǎn)向平臺的原因。從頭開始做的全新設(shè)計每次都要花相同的精力,而基于平臺的設(shè)計每次會變得更加容易更加快速。