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