一份工作在一個人的生活中占據(jù)重要地位,對于一個人的生活質(zhì)量占據(jù)決定性作用,可以說工作決定一個人一生,對于選擇工作當然是要選擇新興產(chǎn)業(yè)且有發(fā)展前途的行業(yè),那么在IT技術領域,選擇Java好還是嵌入式好?下面我們就來了解一下IT技術領域中Java開發(fā)與嵌入式開發(fā)的特點、現(xiàn)狀及未來。
Java開發(fā)的應用及特點
Java是Sun Microsystems公司1995年推出的一種面向?qū)ο蟮某绦蛟O計語言,應用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學超級計算機、移動電話和互聯(lián)網(wǎng)方面的應用軟件編程,Java方向開發(fā)需要計算機軟件基礎、數(shù)據(jù)庫原理、SQLserver、C++程序設計、java核心編程、linux、websphere 開發(fā)工具、DB2數(shù)據(jù)庫、ERWin數(shù)據(jù)庫建模、UML、ratioanlrose建模、OM軟件開發(fā)生命周期、J2EEOM企業(yè)級開發(fā)、基于MVC的struts框架技術、軟件測試工具與方法等,主要是基于PC機、linux等操作系統(tǒng)之上的應用軟件開發(fā),對于硬件電路是完全不懂,主要就是做一些界面、QQ、游戲等上位機應用軟件。Java在中國發(fā)展已10幾年時間,雖然所學的內(nèi)容較多,但入門較容易,初中、高中、中專基礎的都能學習,但是有發(fā)展瓶頸,就是上升空間不大,且生命周期比較短(大概有7年左右的時間),感覺做幾年之后沒什么可做的了,做java(應用軟件)開發(fā)的35歲以上的基本很少了,就是常說的“吃青春飯”,且軟件更新快,工作比較忙。
嵌入式的應用領域、現(xiàn)狀及未來趨勢
隨著科技進步,嵌入式的出現(xiàn),以及人們對生活質(zhì)量,產(chǎn)品的智能化,成本的要求等,以及國家對與物聯(lián)網(wǎng)、電子、科技的扶持,大量的電子產(chǎn)品都促使嵌入式的快速發(fā)展。使用嵌入式的產(chǎn)品如我們常用的手機、平板電腦、電子字典、可視電話、數(shù)字相機(DC)、數(shù)字攝像機(DV)、U-Disk、機頂盒(Set Top Box)、高清電視(HDTV)、游戲機、智能玩具、交換機、路由器、數(shù)控設備或儀表、汽車電子、物聯(lián)網(wǎng)、智能家居、醫(yī)療儀器、航天航空設備等都是典型的嵌入式的應用。
嵌入式系統(tǒng)市場是巨大的,市場需求是嵌入式系統(tǒng)產(chǎn)業(yè)化發(fā)展的巨大推動力,據(jù)報告:10%~20%的計算機芯片是位臺式或便攜式電腦設計,80%~90%的計算機芯片是位嵌入式產(chǎn)品設計的,這意味著每年有10億至20億個CPU是為嵌入式產(chǎn)品制造的,市場決定了嵌入式行業(yè)是很有發(fā)展前途的行業(yè)。
嵌入式工作分類:
嵌入式產(chǎn)品開發(fā)是基于產(chǎn)品的功能,從功能需求、提出并選擇方案、電路設計、PCB電路板設計、軟件設計、樣機生產(chǎn)、軟硬件綜合調(diào)試,軟硬件結(jié)合的產(chǎn)品開發(fā)。所以嵌入式開發(fā)需要軟硬件都懂的基礎要求。但根據(jù)側(cè)重點的不同嵌入式產(chǎn)品開發(fā)工作可以有以下分類:
硬件方面:
1、電路設計:產(chǎn)品原理圖的設計,需要對數(shù)電模電都比較精通,且熟悉單片機、arm架構(gòu)及熟練外圍電路的使用;基本上會電路設計的都會PCB設計。
2、PCB電路板的設計:需要熟悉數(shù)電、看懂常用模電,對單片機、arm外設了解,且具備安規(guī)電磁兼容的應用經(jīng)驗。
軟件方面:
1、驅(qū)動開發(fā):基于電路圖實現(xiàn)產(chǎn)品的驅(qū)動開發(fā),需要看懂電路,精通C語言,熟悉arm架構(gòu)及外設的使用,熟悉操作系統(tǒng)內(nèi)核、驅(qū)動。
2、系統(tǒng)開發(fā):基于硬件的uboot移植、內(nèi)核移植裁剪、根文件系統(tǒng)制作等系統(tǒng)環(huán)境搭建及驅(qū)動移植開發(fā)、應用測試等,需要精通C語言,看懂電路,linux系統(tǒng)開發(fā)。
3、應用開發(fā):基于操作系統(tǒng)之上的應用程序開發(fā),無需電路方面知識,只需要軟件編程,需掌握Java或C++,操作系統(tǒng)、數(shù)據(jù)庫、數(shù)據(jù)庫建模、SQLserver、oracle等,應用開發(fā)更新比較快,像電腦上的軟件QQ、360、游戲等軟件,所以工作也比較忙,入門門檻低,但上升空間不大。
嵌入式系統(tǒng)開發(fā)及應用開發(fā)要求可能不會太高,相對入門比較簡單,但系統(tǒng)開發(fā)所需掌握知識面還是比較廣的,也比較有發(fā)展空間,應用開發(fā)更新快,發(fā)展有限。驅(qū)動開發(fā)需要有驅(qū)動開發(fā)經(jīng)驗,如果有開發(fā)經(jīng)驗的話,不會很忙,就是實現(xiàn)功能,如果一個產(chǎn)品功能實現(xiàn)了,就沒有太多事了,剩余的就是應用開發(fā)了,驅(qū)動開發(fā)更新不會很快。
嵌入式產(chǎn)品開發(fā)中不同的工作有不同的一些特點,硬件開發(fā)靠經(jīng)驗,經(jīng)驗越豐富越吃香,可以說能做一輩子;軟件開發(fā)靠思維、靠算法,如果編程思維清晰,算法優(yōu)越,不需要太長時間就能做的相當不錯。如果軟硬件都能做,獨立開發(fā)產(chǎn)品的話,身價更勝一籌。
但是對于入門級甚至初學者來說不可能面面俱到,都要去做,你也沒這個能力,即使能做,一般公司也不會讓你一個人從硬件到軟件獨立去開發(fā)嵌入式產(chǎn)品,因為公司做項目有時間要求,必須分工協(xié)作。
嵌入式的學習規(guī)劃
嵌入式產(chǎn)品開發(fā)是需要軟硬件結(jié)合,做軟件需要能看懂電路,根據(jù)電路、功能即實現(xiàn)原理來編寫程序,如果電路不懂,是不能編程實現(xiàn)其功能的,硬件開發(fā)也需要對芯片架構(gòu),外設編程使用比較熟悉,否則你設計出來的硬件不便于軟件開發(fā)人員編程實現(xiàn)功能,或者你設計出來的硬件繁瑣,成本很高。
那么如何學習嵌入式呢,對于想學習嵌入式的朋友們來說有很多都有單片機的學習經(jīng)歷,感覺自學就行,但是從現(xiàn)實情況來看,嵌入式學習還是比較有難度的,很多朋友遇到問題解決不了,學了一部分就學不下去了,嵌入式學習需要有它的學習方法以及發(fā)展規(guī)劃,下面就來談談嵌入式的學習規(guī)劃:
1、軟件開發(fā)不需要太多經(jīng)驗積累,只要你做過一些開發(fā),編程思維、算法好,不需要太長時間就能做好,所以首先可以做軟件開發(fā),比如系統(tǒng)開發(fā)或應用開發(fā)。
2、對系統(tǒng)比較熟悉,做過一些項目之后,可以朝底層驅(qū)動方面發(fā)展,這個工作也不會太忙,待遇也相當不錯,做過一些項目之后對于電路見的也多了,電路也比較熟悉了。
3、有比較多項目經(jīng)驗之后,電路也熟悉了之后,補充一些硬件電路知識可以朝硬件設計方面發(fā)展,整個產(chǎn)品的開發(fā)過程都比較熟悉了之后就可以成為項目研發(fā)部的主管或經(jīng)理,也可以自己接外快接項目來做,有管理經(jīng)驗的甚至可以自己開公司做老板,畢竟這方面的產(chǎn)品開發(fā)不需要投資太多成本。
對于初學者嵌入式的學習步驟:
先打好兩個基礎:
電路基礎:熟悉數(shù)字電路,能看懂電路,能分析功能,能根據(jù)電路編程
C語言基礎:要學的精通,學得不好,上了系統(tǒng)程序看都看不懂。
掌握arm架構(gòu)及其外設的使用,編程控制,做相應項目。
學習系統(tǒng)編程及網(wǎng)絡編程,在應用程序中使用。
linux系統(tǒng)學習:uboot移植,內(nèi)核移植、裁剪,根文件系統(tǒng)制作,驅(qū)動編寫與移植(花比較大精力學習,它是系統(tǒng)的核心,也結(jié)合硬件),應用編程,用戶界面等
先做系統(tǒng)編程或應用編程,有一定經(jīng)驗之后可向底層驅(qū)動發(fā)展;軟件項目經(jīng)驗比較豐富之后可向硬件電路設計發(fā)展。
綜合來說,純應用開發(fā)(如Java)來說,門檻較低,但更新太快,發(fā)展空間有限,生命周期太短;而嵌入式開發(fā)是靠經(jīng)驗積累的,不用吃“青春飯”。
-
嵌入式
+關注
關注
5087文章
19145瀏覽量
306119 -
JAVA
+關注
關注
19文章
2972瀏覽量
104855
原文標題:IT開發(fā)的岔路口:究竟是Java好還是嵌入式好?
文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論