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