大佬帶你看嵌入式系統(tǒng),嵌入式系統(tǒng)該學習什么?
嵌入式系統(tǒng)是當今的熱門系統(tǒng)之一,在諸多領域,嵌入式系統(tǒng)都有所應用。為增進大家對嵌入式系統(tǒng)的認識,小編將為大家介紹嵌入式系統(tǒng)是一個什么樣的專業(yè),以及學習嵌入式系統(tǒng)該學習哪些內(nèi)容。如果你對嵌入式系統(tǒng)具有興趣,不妨繼續(xù)往下閱讀哦。
一、嵌入式系統(tǒng)是什么專業(yè)
嵌入式專業(yè)是一個新興的熱門專業(yè),與以往軟件開發(fā)的概念不同的是嵌入式開發(fā)是軟硬結合的過程。嵌入式專業(yè)旨在培養(yǎng)具備嵌入式系統(tǒng)微處理器及外圍設備的硬件設計能力、以及嵌入式操作系統(tǒng)及應用軟件的開發(fā)能力的專業(yè)技術人才。嵌入式專業(yè)畢業(yè)的的學生,畢業(yè)后可以在研究所、各大電器公司、科技公司等單位就業(yè)。應聘的職位主要有電路設計、PCB制版、嵌入式程序開發(fā)等。
嵌入式系統(tǒng)工程專業(yè)是計算機科學與應用學科下的一個??茖I(yè),設有嵌入式系統(tǒng)設計與開發(fā)室、計算機組裝與維護、Linux操作系統(tǒng)、計算機網(wǎng)絡基礎、單片機及應用、Linux C編程、OA外圍設備原理與維修、嵌入式系統(tǒng)原理、EDA、嵌入式系統(tǒng)應用、常用工具軟件、Internet操作技術、可編程控制器、微機組成原理、電工儀表與測量、局域網(wǎng)的組建與安裝、傳感器及應用、網(wǎng)絡設備配置與管理等課程。主要面向嵌入式電子產(chǎn)品的設計開發(fā)、生產(chǎn)制作、安裝調試、運行維護、故障分析等崗位。
二、嵌入式系統(tǒng)學什么
嵌入式系統(tǒng)的核心主要什么內(nèi)容?在我們初學嵌入式開發(fā)的時候,總會出現(xiàn)一個問題。那就是C語言和嵌入式C編程有什么區(qū)別?而嵌入式工程師一般都會告訴你,其區(qū)別在于嵌入式的C語言是跑在嵌入式的開發(fā)板上的,CPU和電腦不一樣,所以編譯器也是不一樣的,生成的可執(zhí)行程序也是不一樣的。不同于一般形式的軟件編程,基于特定的硬件平臺嵌入式系統(tǒng)編程的,勢必要求其編程語言具備較強的硬件直接操作能力。嵌入式系統(tǒng)的核心主要什么內(nèi)容?
1、嵌入式系統(tǒng)為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲器芯片或單片機本身中,而不是存貯于磁盤等載體中。
2、嵌入式系統(tǒng)的硬件和軟件都必須地設計,量體裁衣、去除冗余,力爭在同樣的硅片面積上實現(xiàn)更高的性能,這樣才能在具體應用中對處理器的選擇更具有競爭力。
3、嵌入式系統(tǒng)是將先進的計算機技術、半導體技術和電子技術與各個行業(yè)的具體應用相結合后的產(chǎn)物。這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。
4、嵌入式系統(tǒng)本身不具備自舉開發(fā)能力,即使設計完成以后用戶通常也是不能對其中的程序功能進行修改的,必須有一套開發(fā)工具和環(huán)境才能進行開發(fā)。
5、嵌入式系統(tǒng)通常是面向特定應用的嵌入式CPU,與通用型的不同就是嵌入式CPU大多工作在為特定用戶群設計的系統(tǒng)中,它通常都具有低功耗、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的任務集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)設計趨于小型化,移動能力大大增強,跟網(wǎng)絡的耦合也越來越緊密。
6、嵌入式系統(tǒng)和具體應用有機地結合在一起,它的升級換代也是和具體產(chǎn)品同步進行,因此嵌入式系統(tǒng)產(chǎn)品一旦進入市場,具有較長的生命周期。
三、學習嵌入式有哪幾個方向
無論什么基礎學習嵌入式,只要學習嵌入式的人都知道,嵌入式系統(tǒng)分為4層,硬件層、驅動層、操作系統(tǒng)層和應用層。想要學好嵌入式,就必須明確這幾個方向,縷清學習思路,才能更好的學習嵌入式。
1、硬件層,是整個嵌入式系統(tǒng)的根本,如果現(xiàn)在單片機及接口這塊很熟悉,并且能用C和匯編語言來編程的話,從嵌入式系統(tǒng)的硬件層走起來相對容易,硬件層也是驅動層的基礎,一個優(yōu)秀的驅動工程師是要能夠看懂硬件的電路圖和自行完成CPLD的邏輯設計的,同時還要對操作系統(tǒng)內(nèi)核及其調度性相當?shù)氖煜さ?。但硬件平臺是基礎,增值還要靠軟件。
硬件層比較適合于,電子、通信、自動化、機電一體、信息工程類專業(yè)的人來搞,需要掌握的專業(yè)基礎知識有,單片機原理及接口技術、微機原理及接口技術、C語言。
2、驅動層,這部分比較難,驅動工程師不僅要能看懂電路圖還要能對操作系統(tǒng)內(nèi)核十分的精通,以便其所寫的驅動程序在系統(tǒng)調用時,不會獨占操作系統(tǒng)時間片,而導至其它任務不能動行,不懂操作系統(tǒng)內(nèi)核架構和實時調度性,沒有良好的驅動編寫風格,按大多數(shù)書上所說添加的驅動的方式,很多人都能做到,但可能連個初級的驅動工程師的水平都達不到,這樣所寫的驅動在應用調用時就如同windows下我們打開一個程序運行后,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運行后來打開的程序。想做個好的驅動人員沒有三、四年功底,操作系統(tǒng)內(nèi)核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統(tǒng)四層中可是最高的。
3、操作系統(tǒng)層,對于操作系統(tǒng)層目前可能只能說是簡單的移植,而很少有人來自已寫操作系統(tǒng),或者寫出缺胳膊少腿的操作系統(tǒng)來,這部分工作大都由驅動工程師來完成。操作系統(tǒng)是負責系統(tǒng)任務的調試、磁盤和文件的管理,而嵌入式系統(tǒng)的實時性十分重要。據(jù)說,XP操作系統(tǒng)是微軟投入300人用兩年時間才搞定的,總時工時是600人年,中科院軟件所自己的女媧Hopen操作系統(tǒng)估計也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。
4、應用層,相對來講較為容易的,如果會在windows下如何進行編程接口函數(shù)調用,到操作系統(tǒng)下只是編譯和開發(fā)環(huán)境有相應的變化而已。如果涉及Jave方面的編程也是如此的。嵌入式系統(tǒng)中涉及算法的由專業(yè)算法的人來處理的,不必歸結到嵌入式系統(tǒng)范疇內(nèi)。但如果涉及嵌入式系統(tǒng)下面嵌入式數(shù)據(jù)庫、基于嵌入式系統(tǒng)的網(wǎng)絡編程和基于某此應用層面的協(xié)議應用開發(fā)(比如基于SIP、H.323、Astrisk)方面又較為復雜,并且有難度了。
以上便是此次小編帶來的“嵌入式系統(tǒng)”相關內(nèi)容,通過本文,希望大家對介紹的知識具備一定的了解。如果你喜歡本文,不妨持續(xù)關注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!