嵌入式開發(fā)需要的不僅僅是處理器
摘要:嵌入式系統(tǒng)工程師們在花大量時間試圖找到最適合應(yīng)用的完美器件。然而令他們失望的是,現(xiàn)有器件總是缺少其他器件所具備的一項(xiàng)或多項(xiàng)重要功能,因而在設(shè)計時總是要權(quán)衡利弊而無法實(shí)現(xiàn)完美。絕大多數(shù)情況下,完美器件只是一個夢想。
本文引用地址:http://cafeforensic.com/article/112976.htm 關(guān)鍵詞:嵌入式開發(fā);處理器;MCU;編譯器
對于處理器和單片機(jī),選擇標(biāo)準(zhǔn)變得更加抽象和復(fù)雜。由于單片機(jī)可編程,正常的電氣參數(shù)選擇標(biāo)準(zhǔn)必須要考慮器件執(zhí)行某項(xiàng)具體任務(wù)時的速度和效率。從表面上看,單片機(jī)性能取決于處理器內(nèi)核,但事實(shí)上并非完全如此。處理器性能的確與處理器內(nèi)核息息相關(guān),但同時它還取決于其他因素,包括集成度、支持處理器內(nèi)核的外設(shè)、采用的開發(fā)工具、要執(zhí)行的任務(wù)、工程師發(fā)揮特定單片機(jī)性能的技巧以及系統(tǒng)成本,等等。圖 1 中的幾個示例顯示了在不改變處理器內(nèi)核的前提下,采用編譯器技術(shù)所帶來的不同效果。
因此對于單片機(jī)而言,工程師心目中理想的器件不僅需要具有正確的電氣特性和集成外設(shè),還要有一個處理器能在規(guī)定時間內(nèi)執(zhí)行應(yīng)用程序中最復(fù)雜的計算。工程師熟悉的單一最佳開發(fā)工具平臺必須能支持這個器件,這樣工程師既能夠更快地熟悉器件,又能夠更快地學(xué)習(xí)如何充分利用開發(fā)工具。最后,這個器件應(yīng)該符合工程師負(fù)責(zé)的所有應(yīng)用的成本目標(biāo)。遺憾的是,這種理想的器件是不切實(shí)際的。
持續(xù)變化的需求
一個典型項(xiàng)目會因多種因素變得復(fù)雜化,比如開發(fā)進(jìn)度表、可用資源以及開發(fā)前項(xiàng)目的確定程度等。所有工程師都熟知“需求漂移”這個術(shù)語,也非常明白營銷部門其實(shí)并不清楚需求變化對剩余的設(shè)計工作會產(chǎn)生什么影響。
需要進(jìn)行大量的工作來避免在項(xiàng)目開始后出現(xiàn)過多變化。問題通常都會歸咎于缺乏預(yù)見和規(guī)劃,因此會花更多時間制定更完善、更詳細(xì)的規(guī)范,來描述硬件和軟件需求。這就產(chǎn)生了全面的項(xiàng)目計劃,需要在項(xiàng)目進(jìn)展過程中進(jìn)行跟蹤。
計劃和追蹤對于項(xiàng)目的按時完成極為重要,但是在這個不斷變化的世界里,不太可能預(yù)測到所有實(shí)際可能出現(xiàn)的變化:競爭對手以更低的價格推出功能優(yōu)異的競爭產(chǎn)品;上年度產(chǎn)品遇到生產(chǎn)問題需要立即處理,從當(dāng)前項(xiàng)目中撤走工程資源;經(jīng)濟(jì)危機(jī)席卷全球,優(yōu)先級已經(jīng)從“若有更好”的功能轉(zhuǎn)變?yōu)槌杀緝?yōu)先。諸如此類的例子數(shù)不勝數(shù),惟一不變的事實(shí)是需求在不斷變化。
適應(yīng)變化
與其減少變化,不如來適應(yīng)不斷發(fā)生的變化。這樣就形成了開發(fā)平臺向能支持更加靈活的可編程器件轉(zhuǎn)變的趨勢。硬件變化必須更新印刷電路板(PCB)或更換元器件,與之相反,軟件變化一般能夠更快、更容易地實(shí)現(xiàn)。而且,軟件在產(chǎn)品發(fā)布后還能進(jìn)行功能升級或修正,并能通過事后對應(yīng)用程序進(jìn)行定制實(shí)現(xiàn)產(chǎn)品的多樣化。
但是,要獲得靈活性就必然要付出代價。可編程解決方案通常比等效的功能固定硬件解決方案更加昂貴。為了更快地上市、解決生產(chǎn)過程中發(fā)現(xiàn)的問題以及系統(tǒng)現(xiàn)場升級,通常值得付出額外的物料清單(BOM)成本。然而,與日俱增的開發(fā)環(huán)境復(fù)雜性常常被忽視了,或者至少是被低估了。例如,TechInsights* 最近一項(xiàng)研究表明,當(dāng)前開發(fā)趨勢不僅要在單個設(shè)計中采用多個處理器,而且要在同一設(shè)計中采用多個不同的處理器。
這加重了嵌入式系統(tǒng)工程師的負(fù)擔(dān),他們必須熟悉可編程器件的開發(fā)流程,還要精通多種單片機(jī)和處理器及其相關(guān)開發(fā)環(huán)境。
c++相關(guān)文章:c++教程
評論