看到很多人,特別是初學(xué)者對嵌入式感興趣,,想學(xué)嵌入式,,但又十分困惑,,痛苦, 因此,我覺得有必要抽空寫些東西來"普渡眾生",,當(dāng)然我不是佛,,用"普渡眾生"這個詞不大合適,但一時也找不到合適的詞了,,先將就一下吧. 還有就是別叫我大神, 我不是大神,,一介草民而已,,只不過暫時在這方面懂得比有些人多一點(diǎn)而已,其它方面,,他們比我懂,,因此,大家是平等的,。既然是一介草民,,因此,我也不打算遵循那么多條條框 框的限制了,。我平生最討厭教科書以及其它一些所謂"老師"文鄒鄒的說教,,因此,我打算用草民都能聽懂的話來寫這個嵌入式系列的東西,,如果用這種方式你能把 嵌入式搞明白的話,,從一個側(cè)面也說明嵌入式其實并不是相象中的那么難,當(dāng)然也不簡單,。
什么是嵌入式技術(shù)? 簡單通俗直白的說:就是實現(xiàn)嵌入式系統(tǒng)的技術(shù),。
哪什么是嵌入式系統(tǒng)?
網(wǎng)上或書上泛濫成災(zāi)的定義是:嵌入式系統(tǒng)是針對某個應(yīng)用,軟硬件可裁減的,,對體積,,功耗,成本等等有嚴(yán)格要求的一個計算機(jī)系統(tǒng),??雌鸷軓?fù)雜很抽象,其實就兩點(diǎn):
第一,,嵌入式系統(tǒng)是一個計算機(jī)系統(tǒng)
第二,,嵌入式系統(tǒng)是針對某個應(yīng)用的,也就是通常所說的“專用的”,。
也就是說,,嵌入式系統(tǒng)說白了,就是針對某個應(yīng)用的計算機(jī)系統(tǒng)!
其它什么的:軟硬件可裁減的,,對體積,,功耗,成本等等有嚴(yán)格要求的這堆修飾詞,,是做好一個嵌入式系統(tǒng)所需要考慮的因素,注意是做好,,做好跟做出來是兩碼事,當(dāng)然,真要做好一個嵌入式系統(tǒng),,考慮這些還遠(yuǎn)遠(yuǎn)不夠,,還有其它很多的需要考慮,這個,,我計劃寫完這個系列后,,再寫個怎么做好嵌入式系統(tǒng)的"章回體",,我寫了個嵌入式產(chǎn)品研發(fā)過程管理系統(tǒng),這個系統(tǒng)是基于CMMI3規(guī)范的,,按照哪個系統(tǒng)講如何做好嵌入式產(chǎn)品開發(fā)應(yīng)該就足夠了,。
大家都知道PC,或者筆記本電腦,,PC或筆記本電腦是一個計算機(jī)系統(tǒng),,只不過是一個通用的計算機(jī)系統(tǒng)。通用的意思,,是指沒有特定的用途,,什么都可以干,比如你可以拿筆記本來上網(wǎng),,來聽歌,,來看電影,來看照片,,甚至還可以開發(fā)程序,,做服務(wù)器等等....,反正你想干什么就干什么,沒有強(qiáng)制的特定得用途,。因此,,是通用的,但嵌入式系統(tǒng)是專用的,。
怎么來理解這個專用呢?專用就是針對某個特定的用途,。
舉例:
剛才不是說在PC上可以看照片嗎?把看照片的應(yīng)用扣出來,做成一個計算機(jī),,就是針對某個應(yīng)用的計算機(jī)了,,作出來后,,這個計算機(jī)叫什么名字?叫數(shù)碼像框,,電腦城一堆一堆的。按照剛才說的定義,,不難看出,,數(shù)碼像框是嵌入式系統(tǒng)!
把聽歌的應(yīng)用扣出來,做成一個計算機(jī),,這個計算機(jī)叫什么?叫mp3播放器,。mp3播放器是針對聽音樂的計算機(jī),因此,,mp3播放器也是嵌入式系統(tǒng)!
把看電影的應(yīng)用扣出來,,做成一個計算機(jī),這個計算機(jī)叫什么?叫mp4播放器,。mp4播放器是針對看電影的計算機(jī),,因此,,mp4播放器也是嵌入式系統(tǒng)!
......
從這里,我們可以看得出來PC和嵌入式的一個大致區(qū)別了,對嵌入式系統(tǒng)應(yīng)該也有個大致的印象了.
但是不是說,,嵌入式系統(tǒng)就只能基于PC來應(yīng)用呢?
不是,,如果只是這樣的話,嵌入式就沒有存在的必要了,,除了來自PC的應(yīng)用外,,嵌入式系統(tǒng)更N的應(yīng)用,應(yīng)該就是除PC外的其它各行各業(yè)了! 我們吼了好多年的信息化社會,,信息化社會,,什么是信息化社會? 我認(rèn)為信息化社會不是指能上個網(wǎng)就是信息化社會,而是所有東西都數(shù)字化,、信息化,,那才叫信息化社會,這個,,應(yīng)該就是嵌入式的用武之地了!
還是先從每個人都見過的東西入手來說,,這樣你好理解!
POS機(jī)大家應(yīng)該都見過把,就是去超市,,去家x福和沃x瑪買東西時結(jié)賬收銀的那個東西,。哪個東西就是POS機(jī),典型的嵌入式系統(tǒng): 首先,,POS機(jī)確實是一個計算機(jī),,有主板有CPU有操作系統(tǒng)有軟件,具備計算機(jī)的核心特征,,因此是一個計算機(jī),。其次,它是針對一個專門應(yīng)用的計算機(jī),,這個專門應(yīng)用就是結(jié)賬收銀! 按照我們之前對嵌入式系統(tǒng)的定義,,不難理解,POS機(jī)就是一個嵌入式系統(tǒng)!
我們把這個POS機(jī)(先說原始的大頭的POS機(jī))跟PC比較一下,。大家對PC都很熟,,因此,以PC為參照和基準(zhǔn)進(jìn)行比較!
我們從硬件和軟件兩方面來比較:
先說硬件:PC上的硬件有哪些呢?有CPU,內(nèi)存,,顯卡,,聲卡,硬盤,網(wǎng)卡,,鍵盤,,鼠標(biāo)等東西,如果我們要參照PC來做一個POS機(jī)的話,該怎么做呢?
看看POS機(jī)上都需要哪些東西:CPU,內(nèi)存是必須的,網(wǎng)卡,、顯卡和鍵盤應(yīng)該是要的,,聲卡和鼠標(biāo)應(yīng)該就沒太大的必要了。因此,,如果要基于PC來做POS機(jī)的話,,就要去掉聲卡和鼠標(biāo),同時,,增加一個顯示屏(pos機(jī)有兩個屏的),一個打印機(jī).去掉一些硬件,,加一些硬件,這就是硬件可裁減。硬件要工作,,是需要軟件支持的,,至少需要驅(qū)動支持,因此,,去掉一些硬件添加一些硬件,,軟件也必須跟著要去掉一些,添加一些,,這就是軟件可裁減, 加一起,,就是嵌入式系統(tǒng)定義里面的那句話了:嵌入式系統(tǒng)是針對某個應(yīng)用,軟硬件可裁減的,,xxxxxx的計算機(jī)系統(tǒng),。可裁減的意思理解了吧?
上面的:xxxxx 是定義中的:體積,,功耗和成本,。體積和功耗,其實在POS機(jī)中感覺還不是太明顯,,因為這種大頭的POS機(jī)對體積不敏感,,放它的空間有滴是(當(dāng)然也不能極品的整得太大),對功耗也不是太敏感,,交流電供電,,每天都要關(guān)機(jī)發(fā)熱也不大.這兩點(diǎn)在手機(jī)之類的手持設(shè)備的嵌入式產(chǎn)品中是很敏感的。你的手機(jī)做成磚頭那么大,,估計你就不想買了(除非女同胞防身用),,如果功耗很大,充滿電只能用1個小時,,無論如何你肯定是不會買的,因此,,嵌入式系統(tǒng)的定義中,,說:對體積和功耗有嚴(yán)格要求,就是這個意思,,大致理解了吧?
再說成本,,這個非常敏感,。簡單舉個例你就一下明白了: 假如你是蘋果公司的老板,一年賣了1000萬部IPHONE,,如果iphone的某個元器件能夠省10塊錢,,賣1000萬部就節(jié)省1個億,節(jié)省出來的錢就相當(dāng)于是賺的錢,,如果實在不想賺錢的話,,拿去給員工發(fā)獎金也好阿! 因此,嵌入式設(shè)備對成本是非常敏感的!
基于對成本敏感的這一點(diǎn),,你要明白: 我們做嵌入式產(chǎn)品,,不是哪個CPU 牛X 就用哪個CPU,而是要綜合多方面的因素來選擇,,arm9能搞定的,,就不用arm11,就不用a8,就不用a9。不選貴的,,只選對的,,然也!