嵌入式系統是一種專用的計算機系統,作為裝置或設備的一部分。國內普遍認同的嵌入式系統定義為:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。舉些例子,手機、電子時鐘、智能報警裝置、自動監控器、出租車計費器等等都屬于嵌入式系統。
大家都知道嵌入式開發這個領域人才非常稀缺,但是,學習周期比較長,需要的知識面也比較廣,所以不要心急。先看看下面的幾個問題,了解一下你現在的知識水平:
(1)你用VC++或BC++編寫過應用程序嗎?
如果編寫過應用程序,那就做好了,如果你沒有做過上層應用程序,那么又如何能夠去理解更深的更高深的底層程序呢,那就趕快補上這一課吧!
(2)你曾經編寫過單片機或者DSP的程序嗎?
我們把類似51單片機或者DSP上面跑的沒有操作系統的程序叫做“代碼裸奔”,我們也都曾經編寫過裸奔的代碼。因為有的時候比如我們編寫一個簡單的程序,就只需要點幾個LED檢測幾個按鈕的狀態,那么“代碼裸奔”弄一個while(1)的死循環就足夠了,殺雞何必用牛刀。
編寫這種裸奔的代碼,也是學習嵌入式的必由之路,因為,你將會用C語言去對寄存器寫控制字,這就是以后寫驅動程序的基礎呀。另外需要說明的是,從概念上說,“代碼裸奔”也已經屬于嵌入式開發的范疇。
(3)到了一個階段,你就可以開始找一個方向(uCos、Linux、VxWorks、WindowsCE、Palm等等等等),學習有操作系統的嵌入式開發了。
嵌入式操作系統的種類也是無法計數的,有一些我連名字也叫不上來,太多太多了。但是值得慶幸的是,這些操作系統大同小異,相通的。