當前位置:首頁 > 華清動態

逆流職上|硬件工程師轉行做軟件開發,學什么最好? 時間:2019-07-19      來源:華清遠見

小編語:經濟下行,企業裁員,所謂穩定的工作,從來都是偽命題。學無止境,在技術快速發展的今天,每一個技術人,都需要有在穩定中嗅到危機的自覺,都要主動去擁抱新技術,有意識的為自己打造全能型人才的未來職場競爭力!

華清遠見嵌入式實訓營里就有很多這樣的學員。小編發現,選擇來華清遠見培訓的在職人員也越來越多,大部分都是為了提升自己的技能儲備。他們有的是原來做硬件工程師的,現在想提升做嵌入式硬件工程師。有的是公司做新能源汽車的,涉及到嵌入式技術,需要自己學習的。有的是事業單位公務員,時間很充足,想提升個人業務學習嵌入式。有的是做軟件開發,想拓展學習智能硬件物聯網。

而在各類需求里面,原來從事硬件相關工作,現在想做嵌入式軟硬件開發的,具備明顯的典型性。因為人才供需關系(企業招聘軟件工程師的崗位人數遠遠多于硬件工程師的比例),加上硬件工程師的成長難度,加上軟件開發各類風口技術催生的高薪崗位,軟件開發工程師作為成長速度快、薪資高的崗位,一直深受職場追捧。很多之前從事硬件開發的工程師,因為各種各樣的原因,會考慮轉行做軟件開發或者拓展學習軟件開發。

那硬件工程師轉行做軟件開發,學什么最好呢?毫無疑問,嵌入式!嵌入式開發一直是一種軟硬件結合非常緊密的技術,應用領域極為廣泛,我們日常看到的很多產品,都是嵌入式產品,尤其在目前物聯網、人工智能的時代背景下,物聯網、人工智能的發展再次帶火了嵌入式。嵌入式軟硬結合的技術,在新的時代背景下,更是如魚得水。對于嵌入式硬件工程師這個崗位,小編針對性的給大家分享一篇華清遠見重慶中心王老師寫的文章,希望能對所有想從事這個崗位的朋友們有所幫助。

正文如下:

隨著嵌入式技術的普及,硬件工程師的性質也有所改變。嵌入式硬件工程師與我們平常所說的硬件工程師不同。嵌入式硬件工程不但要求具備硬件工程師的基本技能,還必須完成部分軟件工程師的工作,例如:底層驅動的開發、嵌入式操作系統的裁剪,移植:GUI、文件系統等軟件的移植;基于嵌入式操作系統的底層驅動程序的設計等。

一個合格的嵌入式硬件工程師,不僅要懂得硬件電路的設計和制作,還需要懂得固件程序的設計和調試,只有這樣才能算完整的硬件工程師。當然,也分單片機嵌入式工程師和Linux嵌入式系統硬件工程師,前者更容易些,后者相對較復雜。

嵌入式硬件工程師需要學會的基礎技能:

1. 由需求分析到總體方案、詳細設計的規劃創造能力;

2. 熟練運用設計工具,設計原理圖、PCB板的能力;

3. 熟練運用單片機、DSP、PLD、FPGA等進行軟硬件開發調試的能力;

4. 熟練運用仿真工具、示波器、信號發生器、邏輯分析儀等調測硬件的能力;

5. 掌握常用的標準電路的設計能力,如復位電路、常用濾波器電路、功放電路、高速信號傳輸線的匹配電路等;

6. 故障定位、解決問題的能力;

7. 設計文檔的組織編寫技能

如果你具備了上面這些基本技能,那么可以恭喜你,你可以作為一個普通的硬件工程師了,你也可以往一名真正的嵌入式硬件工程師靠攏。

對于嵌入式硬件工程師,應該包含硬件層、驅動層、操作系統層和應用層技術的學習:

1. 硬件層:

1. 應該具備單片機接口設計編程,并且能夠用C語言和匯編進行編程;

2. ARM接口電路設計編程(裸機驅動程序編寫);

3. 自行完成CPLD的邏輯設計等

硬件層是整個嵌入式系統的根本,如果現在單片機及接口這塊很熟悉,并且能用C和匯編語言來編程的話,從嵌入式系統的硬件層走起來相對容易,硬件層也是驅動層的基礎,一個優秀的驅動工程師是要能夠看懂硬件的電路圖和自行完成CPLD的邏輯設計的,同時還要對操作系統內核及其調度性相當的熟悉。但硬件平臺是基礎,增值還要靠軟件。

硬件層比較適合于,電子、通信、自動化、機電一體、信息工程類專業的人來搞,需要掌握的專業基礎知識有:單片機原理及接口技術、微機原理及接口技術、C語言。

2. 驅動層:

1. 需要熟悉操作系統的任務管理機制;

2. 理解操作系統時間片機制;

3. 熟悉操作系統內核架構和實時調度性;

這部分比較難,驅動工程師不僅要能看懂電路圖,還要能對操作系統內核十分的精通,以便其所寫的驅動程序在系統調用時,不會獨占操作系統時間片,而導致其它任務不能動行。不懂操作系統內核架構和實時調度性,沒有良好的驅動編寫風格,按大多數書上所說添加的驅動的方式,很多人都能做到,但可能連個初級的驅動工程師的水平都達不到,這樣所寫的驅動在應用調用時,就如同windows下我們打開一個程序運行后,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運行后來打開的程序。想做個好的驅動工程師,沒有三、四年功底,操作系統內核不研究上幾遍,不是太容易成功的,但其工資在嵌入式系統四層中,可是最高的。

驅動層比較適合于電子、通信、自動化、機電一體、信息工程類專業,尤其是計算機偏體系結構類專業的人來搞,除硬件層所具備的基礎學科外,還要對數據結構與算法、操作系統原理、編譯原理都要十分精通了解。

3. 操作系統層:

1. 明白操作系統選擇,根據需求選擇合適的操作系統;

2. 明白系統的啟動流程;

3. 根據用戶需求,完成系統的移植;

對于操作系統層目前可能只能說是簡單的移植,而很少有人來自已寫操作系統,或者寫出缺胳膊少腿的操作系統來,這部分工作大都由驅動工程師來完成。操作系統是負責系統任務的調試、磁盤和文件的管理,而嵌入式系統的實時性十分重要。據說,XP操作系統是微軟投入300人用兩年時間才搞定的,總時工時是600人年,中科院軟件所自己的女媧Hopen操作系統估計也得花幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。

4. 應用層技術:

1. 能夠在理解操作系統的基礎上,利用系統所提供的接口,完成用戶需求。

2. 能夠立即系統所提供的相關專業算法等。

相對來講較為容易的,如果會在windows下如何進行編程接口函數調用,到操作系統下只是編譯和開發環境有相應的變化而已。

嵌入式硬件工程師的從業范圍是相當的大,很多工程師只是從事其中的一部分開發工作。硬件工程師轉行做嵌入式驅動層、操作系統層開發,具備天然的技術優勢,且都是目前高端高薪發展方向。當然了一個高級的嵌入式硬件工程師一定是一個全能型的人才。

上一篇:萬物智聯背后的嵌入式 入門必讀C語言控制語句

下一篇:登月50年特別篇-阿波羅計劃背后的女程序員

戳我查看2019年嵌入式每月就業風云榜

點我了解華清遠見高校學霸學習秘籍

猜你關心企業是如何評價華清學員的

干貨分享
相關新聞
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2019 北京華清遠見科技發展有限公司 版權所有 ,京ICP備16055225號,京公海網安備11010802025203號

回到頂部

桃之助成为三张牌之一的原因分析
中超直播 买照片怎么赚钱吗 后三组六稳赚 快乐十分万能4码 宁德股票配资 断缆还赢的缆法 七星彩中奖号查询 二八杠技巧口诀论坛 重庆时时龙虎和彩