嵌入式軟件工程師職業(yè)規(guī)劃
這是YJBYS網(wǎng)小編為您提供的嵌入式軟件工程師職業(yè)規(guī)劃,希望對大家有所幫助!
嵌入式的開發(fā)是個非常長的戰(zhàn)線,嵌入式入門難,想要各個突破至少也得需要兩年的時間。
在這里,嵌入式技術(shù)分為三層。底層基于硬件的開發(fā)、軟件平臺的特性開發(fā)、應用場景和市場的分析。各層需要的技能也會不同。
底層基于硬件的開發(fā)需要的技能。
電路知識,數(shù)電、模電、微機原理、單片機原理、匯編、C語言。硬件平臺包含多個器件。在初始設計的時候就要充分考慮幾年內(nèi)不會有大的變動。因為一旦開版投產(chǎn)成本都相當高的。包含了電路設計和驅(qū)動開發(fā)兩方面的工作。硬件的換代一般3到5年。有的甚至更長時間。
軟件平臺的特性開發(fā)需要的技能。
對于簡單邏輯的一般沒有操作系統(tǒng)很簡單時序的運算。常使用8位一下的硬件。擴展性比較低。一般通過匯編直接編寫。對于越來越多的電子產(chǎn)品支持多種功能的集成,使得軟件平臺越來越復雜。于是出現(xiàn)了操作系統(tǒng)來管理協(xié)調(diào)多個程序之間的調(diào)度協(xié)調(diào)。讓嵌入式平臺在硬件不變的情況下提高了功能和性能。需要的知識,操作系統(tǒng)、TCP/IP協(xié)議、高級編程語言(C/C++/JAVA/Dephie)、軟件工程、數(shù)據(jù)結(jié)構(gòu)、圖像處理、數(shù)據(jù)庫等。實際在正規(guī)的大公司中只需要了解這里的兩到三點就可以完全勝任平時的工作了。畢竟要研究透所有的知識要花大量的時間。很多公司也只希望你把一部分工作做好就可以了。太強了留不住人的。根據(jù)實際需求和崗位使用不同的技術(shù)。
應用場景和市場的分析
這部分是站在最前沿的。它引導著整個產(chǎn)業(yè)鏈的發(fā)展方向。這樣的人通常很大程度基于經(jīng)驗了。要了解用戶的真正需求。了解市場的發(fā)展趨勢。還要了解目前硬件技術(shù)到達什么程度,是否可以滿足需求。這里需要考驗人的眼光。要在競爭對手之前看到商機。引導客戶使用現(xiàn)有技術(shù)。一般做這一部分工作的都是技術(shù)型企業(yè)的老總。要對行業(yè)的走向作出清晰的判斷。這些決定非常重要。
不管是初學者還是有一定經(jīng)驗工作經(jīng)驗的嵌入式開發(fā)者,想要在這個領(lǐng)域勝出,必要有到一定技能的。
嵌入式的應用主要是幾個方向:
一是系統(tǒng)開發(fā):側(cè)重開發(fā)環(huán)境搭建、內(nèi)核原理、交叉編譯等;
二是嵌入式Linux應用開發(fā):側(cè)重Linux應用編程、內(nèi)核編譯、系統(tǒng)調(diào)用;
三是底層驅(qū)動開發(fā):側(cè)重嵌入式Linux系統(tǒng)下的驅(qū)動開發(fā)、內(nèi)核的深入分析。
不過初進門者主要往系統(tǒng)開發(fā)和應用開發(fā)發(fā)展,有了相關(guān)工作經(jīng)驗再進一步向底層驅(qū)動靠。
嵌入式開發(fā)流程
也許很多初涉嵌入式開發(fā)領(lǐng)域的程序員會被一系列的.新名詞搞得頭昏腦脹,在這里,我希望能夠?qū)⑶度胧介_發(fā)的流程展現(xiàn)給大家。
嵌入式開發(fā)主要分為三個比較大的部分:
1、驅(qū)動程序開發(fā)
這部分開發(fā)是從硬件設計開始的,硬件工程師會設計PCB板,為我們提供標準開發(fā)板(SDB,Standard
Development Board)。當我們拿到開發(fā)板之后的第一件事情就是編寫boot-loader,讓開發(fā)板啟動起來,一般是通過JTGA將boot-loader燒錄到開發(fā)板中的。我們可以將boot-loader看作PC中的BIOS,負責硬件設備的初始化工作,并且將操作系統(tǒng)運行起來。在此之后,我們需要根據(jù)開發(fā)板上的硬件開發(fā)各種驅(qū)動程序,比如串口、USB、鼠標、視頻輸入等。最后將這些驅(qū)動程序和boot-loader打包,稱為一個板級支持包(BSP)。BSP是和開發(fā)板的具體硬件緊密相關(guān)的。
所以從事這方面開發(fā)的工程師往往具有比較強的硬件知識水平。
2、平臺定制
我們可以將Windows CE想象為一盒積木,根據(jù)不同的應用場景和設備要求,我們要對這盒積木進行定制,堆積出不同形狀的城堡、動物和生活用品。這個過程稱為“平臺定制”,定制產(chǎn)生的平臺往往和具體的硬件設備相關(guān),直接將平臺下載到硬件設備上就可以運行了。整個開發(fā)過程,需要選擇不同的組件來搭配出最適合當前硬件的軟件平臺。所以要對Windows CE的組件,也就是Catalog Item,有相當程度的了解。
3、應用程序開發(fā)
嵌入式設備上的應用程序開發(fā)與傳統(tǒng)應用程序開發(fā)類似,只是要借助于硬件模擬器或者實際設備對程序進行調(diào)試。最常見的嵌入式設備應用程序開發(fā),就是Windows Mobile的移動應用開發(fā)。平臺定制工程師會在硬件出廠之前先提供平臺相關(guān)的SDK,SDK中會包括模擬器。應用開發(fā)者可以首先使用模擬器對程序進行開發(fā)和調(diào)試。等實際硬件出來之后,再將程序轉(zhuǎn)移到實際硬件中。因為Windows CE采用了很多措施,這種“轉(zhuǎn)移”幾乎是無縫的,所以我們并沒有使用“移植”這個詞。
嵌入式領(lǐng)域的應用開發(fā)其實是普通嵌入式軟件工程師就可以進行的。
【嵌入式軟件工程師職業(yè)規(guī)劃】相關(guān)文章:
軟件工程師的面試囧事08-10
軟件工程師面試英語自我介紹09-17
求故事:軟件工程師的面試囧事08-04
軟件工程師的職業(yè)生涯規(guī)劃的小技巧08-24
關(guān)于軟件工程師職業(yè)生涯規(guī)劃書范文參考09-24
嵌入式面試常見問題10-17
軟件工程專業(yè)就業(yè)前景10-13
軟件工程面試常見問題10-07
軟件職業(yè)生涯規(guī)劃書11-23