嵌入式培訓零基礎能學嗎
時間:2019-11-19 00:00:00
來源:信盈達
作者:信盈達
一、嵌入式培訓零基礎能學嗎嵌入式系統的概念
著重理解“嵌入”的概念,主要從三個方面上來理解。
1.從硬件上,將基于CPU的處圍器件,整合到CPU芯片內部,比如早期基于X86體系結構下的計算機,CPU只是有運算器和累加器的功能,一切芯片要通過外部橋路來擴展實現,像串口之類的都是靠外部的16C550/2的串口控制器芯片實現,而目前的這種串口控制器芯片早已集成到CPU內部,還有PC機有顯卡,而多數嵌入式處理器都帶有LCD控制器,但其某種意義上就相當于顯卡。
2.從軟件上看,就是在定制操作系統內核里將應用一并選入,編譯后將內核下載到ROM中。而在定制操作系統內核時所選擇的應用程序組 件就是完成了軟件的“嵌入”,比如WinCE在內核定制時,會有相應選擇,其中就是wordpad,PDF,MediaPlay等。如果我們選擇 了,在CE啟動后,就可以在界面中找到這些東西,如果是以前PC機上裝的windows操作系統,多半的東西都需要我們重新再裝。
3.把軟件內核或應用文件系統等東西燒到
嵌入式系統硬件平臺中的ROM中就實現了一個真正的“嵌入”。以上的定義是我在6、7年前給嵌入式系統下自話側重于理解型的定義,書上的定義也有很多,但在這個領域范圍內,誰都不敢說自己的定義是十分確切的,包括那些專家學者們,歷為畢竟嵌入式系統是計算機范疇下的一門綜合性學科。
二、嵌入式培訓零基礎能學嗎嵌入式系統的分層與專業的分類
嵌入式系統分為4層,硬件層、驅動層、操作系統層和應用層。
1.硬件層
是整個嵌入式系統的根本,如果現在單片機及接口這塊很熟悉,并且能用C和匯編語言來編程的話,從嵌入式系統的硬件層走起來相對容易,硬件層也是驅動層的基礎,一個優秀的驅動工程師是要能夠看懂硬件的電路圖和自行完成CPLD的邏輯設計的,同時還要對操作系統內核及其調度性相當的熟悉的。但硬件平臺是基礎,增值還要靠軟件。硬件層比較適合于,電子、通信、自動化、機電一體、信息工程類專業的人來搞,需要掌握的專業基礎知識有,單片機原理及接口技術、微機原理及接口技術、C語言。
2.驅動層
這部分比較難,驅動工程師不僅要能看懂電路圖還要能對操作系統內核十分的精通,以便其所寫的驅動程序在系統調用時,不會獨占操作系統時間片,而導 至其它任務不能行動。不懂操作系統內核架構和實時調度性,沒有良好的驅動編寫風格,按大多數書上所說添加的驅動的方式,很多人都能做到,但可能連個初級的 驅動工程師的水平都達不到,這樣所寫的驅動在應用調用時就如同windows下我們打開一個程序運行后,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運行后來打開的程序。想做個好的驅動人員沒有三四年功底,操作系統內核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統四層中可以是最高的。
驅動層比較適合于電子、通信、自動化、機電一體、信息工程類專業尤其是計算機偏體系結構類專業的人來搞,除硬件層所具備的基礎學科外,還要對數據結構與算法、操作系統原理、編譯原理都要十分精通了解。
3.操作系統層
對于操作系統層目前可能只能說是簡單的移植,而很少有人來自已寫操作系統,或者寫出缺胳膊少腿的操作統來,這部分工作大都由驅動工程師來完成。操作系統是負責系統任務的調試、磁盤和文件的管理,而嵌入式系統的實時性十分重要。據說,XP操作系統是微軟投入300人用兩年時間才搞定的,總時工時是600人/年,中科院軟件所自己的女媧Hopen操作系統估計也得幾百人,很多年才能搞定。因此這部分工作相對來講沒有太大意義。
4.嵌入式培訓零基礎能學嗎應用層
相對來講較為容易的,如果會在windows下如何進行編程接口函數調用,到操作系統下只是編譯和開發環 境有相應的變化而已。如果涉及Jave方面的編程也是如此的。嵌入式系統中涉及算法的由專業算法的人來處理,不必歸結到嵌入式系統范疇內。但如果涉及嵌 入式系統下面嵌入式數據庫、基于嵌入式系統的網絡編程和基于某此應用層面的協議應用開發(比如基于SIP、H.323、Astrisk)方面又較為復雜, 并且有難度了。