這樣來講嵌入式,真夠透徹!
還有就是別叫我大神, 我不是大神,一介草民而已,只不過暫時在這方面懂得比有些人多一點而已,其它方面,他們比我懂,因此,大家是平等的。
既然是一介草民,因此,我也不打算遵循那麽多條條框 框的限制了。我平生最討厭教科書以及其它一些所謂“老師”文鄒鄒的說教,因此,我打算用草民都能聽懂的話來寫這個嵌入式系列的東西,如果用這種方式你能把嵌入式搞明白的話,從一個側面也說明嵌入式其實並不是相象中的那麽難,當然也不簡單。
有需要資料的可以加我:騰訊QQ3249838614
什麽是嵌入式技術? 簡單通俗直白的說:就是實現嵌入式系統的技術。
那什麽是嵌入式系統?
網上或書上泛濫成災的定義是:嵌入式系統是一種“完全嵌入受控器件內部,為特定應用而設計的專用計算機系統”,根據英國電氣工程師協會的定義,嵌入式系統為控制、監視或輔助設備、機器或用於工廠運作的設備。
看起很復雜很抽象,其實就兩點:
第一,嵌入式系統是一個計算機系統;
第二,嵌入式系統是針對某個應用的,也就是通常所說的“專用的”。
也就是說,嵌入式系統說白了,就是針對某個應用的計算機系統!
其它什麽的:軟硬件可裁減的,對體積、功耗、成本等等有嚴格要求的這堆修飾詞,是做好一個嵌入式系統所需要考慮的因素,註意是做好,做好跟做出來是兩碼事,當然,真要做好一個嵌入式系統,考慮這些還遠遠不夠,還有其它很多的需要考慮。
PC或筆記本電腦是一個計算機系統,只不過是一個通用的計算機系統。通用的意思,是指沒有特定的用途,什麽都可以幹,比如你可以拿筆記本來上網,來聽歌,來看電影,來看照片,甚至還可以開發程序,做服務器等等,反正你想幹什麽就幹什麽,沒有強制的特定得用途。因此,是通用的,但嵌入式系統是專用的。
怎麽來理解這個專用呢?專用就是針對某個特定的用途。
舉例:
剛才不是說在PC上可以看照片嗎?把看照片的應用扣出來,做成一個計算機,就是針對某個應用的計算機了,作出來後,這個計算機叫什麽名字?叫數碼像框,電腦城一堆一堆的。按照剛才說的定義,不難看出,數碼像框是嵌入式系統!
把聽歌的應用扣出來,做成一個計算機,這個計算機叫什麽?叫mp3播放器。mp3播放器是針對聽音樂的計算機,因此,mp3播放器也是嵌入式系統!
把看電影的應用扣出來,做成一個計算機,這個計算機叫什麽?叫mp4播放器。mp4播放器是針對看電影的計算機,因此,mp4播放器也是嵌入式系統!
從這裏,我們可以看得出來PC和嵌入式的一個大致區別了,對嵌入式系統應該也有個大致的印象了。
但是不是說,嵌入式系統就只能基於PC來應用呢?
不是,如果只是這樣的話,嵌入式就沒有存在的必要了,除了來自PC的應用外,嵌入式系統更N的應用,應該就是除PC外的其它各行各業了! 我們吼了好多年的信息化社會,信息化社會,什麽是信息化社會? 我認為信息化社會不是指能上個網就是信息化社會,而是所有東西都數字化、信息化,那才叫信息化社會,這個,應該就是嵌入式的用武之地了!
還是先從每個人都見過的東西入手來說,這樣你好理解!
POS機大家應該都見過把,就是去超市,去家x福和沃x瑪買東西時結賬收銀的那個東西。哪個東西就是POS機,典型的嵌入式系統: 首先,POS機確實是一個計算機,有主板有CPU有操作系統有軟件,具備計算機的核心特征,因此是一個計算機。其次,它是針對一個專門應用的計算機,這個專門應用就是結賬收銀! 按照我們之前對嵌入式系統的定義,不難理解,POS機就是一個嵌入式系統!
我們把這個POS機(先說原始的大頭的POS機)跟PC比較一下。大家對PC都很熟,因此,以PC為參照和基準進行比較!
我們從硬件和軟件兩方面來比較:
先說硬件:PC上的硬件有哪些呢?有CPU,內存,顯卡,聲卡,硬盤,網卡,鍵盤,鼠標等東西,如果我們要參照PC來做一個POS機的話,該怎麽做呢?
看看POS機上都需要哪些東西:CPU,內存是必須的,網卡、顯卡和鍵盤應該是要的,聲卡和鼠標應該就沒太大的必要了。因此,如果要基於PC來做POS機的話,就要去掉聲卡和鼠標,同時,增加一個顯示屏(pos機有兩個屏的),一個打印機。
去掉一些硬件,加一些硬件,這就是硬件可裁減。
硬件要工作,是需要軟件支持的,至少需要驅動支持,因此,去掉一些硬件添加一些硬件,軟件也必須跟著要去掉一些,添加一些,這就是軟件可裁減, 加一起,就是嵌入式系統定義裏面的那句話了:嵌入式系統是針對某個應用,軟硬件可裁減的,xxxxxx的計算機系統。可裁減的意思理解了吧?
再說成本,這個非常敏感。簡單舉個例你就一下明白了: 假如你是蘋果公司的老板,一年賣了1000萬部IPHONE,如果iphone的某個元器件能夠省10塊錢,賣1000萬部就節省1個億,節省出來的錢就相當於是賺的錢,如果實在不想賺錢的話,拿去給員工發獎金也好阿!
因此,嵌入式設備對成本是非常敏感的!
基於對成本敏感的這一點,你要明白: 我們做嵌入式產品,不是哪個CPU 牛X 就用哪個CPU,而是要綜合多方面的因素來選擇,arm9能搞定的,就不用arm11,就不用a8,就不用a9。不選貴的,只選對的,然也!
最後,再說一下怎麽來學習嵌入式?
在學習嵌入式之前,肯定要有C語言基礎。匯編基礎有沒有無所謂(就那麽幾條匯編指令,用到了一看就會)。
C語言要學到什麽程度呢?越熟當然越好,不熟的話也要具備基本技能。比如寫一個數組排序、輸入數字求和什麽的。學C語言唯一的方法是多寫程序多練習,編譯出錯沒關系,自己去解決;執行出錯沒關系,自己去分析。
以前我是用VC來練習C語言的,經常去嘗試著寫一些C語言競賽的題目。它們是純C、純數學、純邏輯的題目,不涉及界面這些東西,很適合煆煉你的編程能力。
嵌入式就業交流群 551627734一起交流 學習 歡迎全國各地的大學生和各位行業大佬一起交流!
http://www.makeru.com.cn/live/1758_318.html?s=69821
走進ARM-ARM開發環境搭建
http://www.makeru.com.cn/live/1758_318.html?s=69821
ARM之蜂鳴器播放音樂
http://www.makeru.com.cn/live/1758_328.html?s=69821
ARM之中斷GIC分析
http://www.makeru.com.cn/live/1758_718.html?s=69821
ARM體系結構A53新特性
http://www.makeru.com.cn/live/1758_814.html?s=69821
ARM-RTC時鐘的運用
http://www.makeru.com.cn/live/3337_1088.html?s=69821
第一場:Arm引領智能物聯新時代
http://www.makeru.com.cn/live/3337_1087.html?s=69821
最新ARM微控制器在物聯網系統中的應用案例
這樣來講嵌入式,真夠透徹!