嵌入式的概念是指為了應(yīng)用高度定制軟件和硬件的計(jì)算機(jī)系統(tǒng),滿足一系列的特定應(yīng)用需求。由概念上看似乎很接近于PC平臺(tái)上開發(fā),粵嵌武漢嵌入式為大家解答嵌入式與PC平臺(tái)開發(fā)的區(qū)別。
從技術(shù)上講,PC系統(tǒng)的知識(shí)量,難度都要比一般的嵌入式高出N個(gè)數(shù)量級(jí)。但由于PC系統(tǒng)在計(jì)算機(jī)歷史上發(fā)展得比較早。因而,其智力投入、完善性、應(yīng)用的廣泛性重要性是別的系統(tǒng)平臺(tái)無法比擬的。然而,正因?yàn)榘l(fā)展了這么久,其平臺(tái)的封裝性穩(wěn)定性是非常高的。操作系統(tǒng)級(jí),支撐軟件級(jí),應(yīng)用軟件級(jí)。特別是應(yīng)用軟件級(jí),一些與平臺(tái)無關(guān)的軟件,基本上很少涉及操作系統(tǒng)的知識(shí),以及一些內(nèi)部的原理。如瀏覽器里的JavaScript開發(fā),基本上不涉及操作系統(tǒng)的知識(shí),只是受不同的瀏覽器的影響;又如Java,只涉及較少的系統(tǒng)平臺(tái)的知識(shí);就算是C/C++語言,開發(fā)應(yīng)用程序,也就是一套API的應(yīng)用。涉及的操作系統(tǒng)的東西也只是冰山一角。
由此可見,PC平臺(tái)的優(yōu)良封裝,極大的簡(jiǎn)化了問題的復(fù)雜度,使開發(fā)者和應(yīng)用者能把主要精力放在自己的業(yè)務(wù)上,提高開發(fā)效率。嵌入式領(lǐng)域就沒有這么幸運(yùn)了。其為應(yīng)用的高度定制,造成了以效率,應(yīng)用為優(yōu)先的特點(diǎn)。封裝層次太多必然對(duì)效率有所傷害。同時(shí)規(guī)模變大,測(cè)試變得復(fù)雜。開發(fā)周期變長(zhǎng)。所以嵌入式的層次結(jié)構(gòu)相對(duì)于PC系統(tǒng),邊界沒那么清晰,封裝考慮的問題沒有那么全面。完成同樣的一個(gè)工作,需要了解的內(nèi)容更多,才能做得更好
作為精細(xì)的設(shè)計(jì)者,不僅僅要考慮需求是否完成。還用從整個(gè)程序的空間雜度、時(shí)間雜度上去分析,并降低整個(gè)代碼的復(fù)雜度。從而進(jìn)一步降低軟件結(jié)構(gòu)、算法實(shí)現(xiàn)對(duì)處理器的要求,達(dá)到對(duì)成本的節(jié)約。一般來說,成本不光光是成本,還包括人力成本,運(yùn)營(yíng)成本,開發(fā)成本,維護(hù)成本等等。嵌入式因?yàn)橐婚_始就要了解相當(dāng)規(guī)模的東西,所以入門的門檻變得比較高??v觀這些東西,其實(shí)PC系統(tǒng)和嵌入式系統(tǒng)很大一部分都是重疊的。
嵌入式開發(fā)和PC平臺(tái)的開發(fā)還存在其他很多的區(qū)別,粵嵌武漢嵌入式就不在此一一列舉。反復(fù)地推斷,無休止地修正,就能在嵌入式領(lǐng)域取得勿容置疑的進(jìn)步,不要因嵌入式學(xué)習(xí)困難而止步不前。