談談本身對嵌入式行業的認識以及對當前市場行情、人才需求的見解。git
關於嵌入式,它涉及到全社會生活的方方面面,一個嵌入式裝置通常都由嵌入式計算機系統和執行裝置組成,嵌入式計算機系統是整個嵌入式系統的核心,由硬件層、中間層、系統軟件層和應用軟件層組成。執行裝置也稱爲被控對象,它能夠接受嵌入式計算機系統發出的控制命令,執行所規定的操做或任務。算法
嵌入式系統是一種專用的計算機系統,做爲裝置或設備的一部分。一般,嵌入式系統是一個控制程序存儲在ROM內存中的嵌入式處理器控制板。事實上,全部帶有數字接口的設備,如手錶、微波爐、錄像機、汽車等,都使用嵌入式系統,有些嵌入式系統還包含操做系統,但大多數嵌入式系統都是由單個程序實現整個控制邏輯。編程
從應用對象上加以定義,嵌入式系統是把軟件和硬件結合,還能夠包含機械的專業知識。國內廣泛認同的嵌入式系統定義爲:以應用爲中心,以計算機技術爲基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。安全
嵌入式開發的相關領域:
當今嵌入式行業內,主要有一些比較流行熱門的領域,這些領域的人才缺口較大,容易受到企業的歡迎:服務器
① 數字圖像壓縮技術:這是嵌入式最重要最熱門的應用領域之一,主要是應掌握MPEG編解碼算法和技術,如DVD、MP三、PDA、高精電視、機頂盒等都涉及MPEG高速解碼問題。網絡
② 通訊協議及編程技術:這包括傳統的TCP/IP協議和熱門的無線通訊協議。首先,大多數嵌入式設備都要連入局域網或Internet,因此首先應掌握 TCP/IP協議及其編程,這是需首要掌握的基本技術;其次,無線通訊是目前的大趨勢,因此掌握無線通訊協議及編程也是是很重要的。無線通訊協議包括無線 局域網通訊協議802.11系列,Bluetooth,以及移動通訊(如GPRS、GSM、CDMA等)。socket
③ 網絡與信息安全技術:如加密技術,數字證書CA,以及各類網絡安全設備,包括硬件防火牆,入侵檢測IDS,還有防毒牆,IPS等,中國在這方面仍是沒有本身優點的,咱們陳院長好象正在往這方面發展.編程語言
④ DSP技術:DSP是Digital Signal Process數字信號處理的意思,DSP處理器經過硬件實現數字信號處理算法,如高速數據採集、壓縮、解壓縮、通訊等。數字信號處理是電子、通訊等硬件 專業的課程,對於搞軟件的人若能瞭解一下最好。目前DSP人才較缺。若是有信號與系統、數字信號處理等課程基礎,對於學習MPEG編解碼原理會有很大幫助。編輯器
職位方面,職位有主要有五個方面:
① 系統設計工程師
② 硬件工程師
③ 底層驅動工程師
④ Linux系統工程師
⑤ 應用設計工程師學習
薪資方面,在嵌入式行業中,具備10年工做經驗的高級嵌入式工程師年薪在30萬元左右。即便是初級的嵌入式軟件開發人員,平均月薪也達到了3000—5000元,中高級的嵌入式工程師月薪平均超過10000元。參考國內招聘網大量的招募信息,嵌入式硬件工程師廣泛在7000元左右,嵌入式軟件工程師在10000元左右。
對於專業知識需求,因所選專業爲嵌入式軟件,故廣集招聘網的招聘信息後,此處只羅列出和嵌入式軟件相關的:
① 關於ARM:ARM A7/A8/9或A57 Cotex-A9 STM8 STM32
② 關於編程語言:精通C/C++語言,熟悉彙編
③ 經常使用軟件:keil、atmel studio、Candence、PADS、Altium Designer
④ 協議相關:TCP/IP、USB、USART、I2C、SPI等,熟悉基於socket的網絡通訊
⑤ 通行通訊接口編程:RS232,RS485,以太網
⑥ 操做系統相關:
1.掌握LINUX或uCOS 、rt-thread某一操做系統的使用與開發
2.能獨立進行內核的移植和驅動編寫。
3.內核系統移植/調試及應用程序開發工做
⑦ 輔助:
1.能閱讀硬件原理圖和芯片數據手冊
2.可熟練使用示波器等經常使用嵌入式開發儀器
⑧ 其餘:
1.良好的代碼編寫習慣和文檔編寫能力
2.良好的溝通和協調能力
3.可以閱讀英文技術文檔
關於學習之路,結合市場需求和網絡上的資料,梳理了一份適合本身的學習路線。
① Linux開發基礎學習
虛擬機搭建、Linux宿主機安裝、Linux命令、服務器搭建Samba,NFS、VI編輯器
② Linux編程
GCC/GDB、Makefile、交叉編譯環境搭建+C語言強化+Linux系統編程
③ 51單片機/AVR單片機入門
GPIO、中斷服務程序、定時器、狀態機編程、按鍵、OLED
④ ARM體系結構與編程
ARM處理器編程
⑤ Linux系統內核分析
⑥ Linux驅動程序開發
總結:由薪資和待遇看來,當前市場人才缺口仍是較大,需求量逐年上升;但因爲嵌入式不像移動互聯開發(如安卓開發、C#開發等)純軟件的開發思惟,而是涉及到底層硬件學習又兼顧驅動程序的編程,枯燥的硬件電路學習和繁雜的驅動程序編寫,形成了嵌入式入門的困難。在我看來,在當今物聯網的趨勢和政策下,物體與物體的聯繫愈來愈密切,將來的嵌入式開發勢必佔據IT行業的半壁江山,扭轉如今移動互聯當紅的現狀,造成全民物聯、全民嵌入的風氣,呈現一幅繁榮的景象。但學習嵌入式須要有足夠的耐心和毅力,須要學會舉一反多,並創建牢固的知識基礎,因此,在將來面對求職市場以前,我會堅持學習底層知識,勇於提問,勇於解決問題,多參加電子類比賽,盡最大努力提高本身的實力。最後,寫下本身的座右銘:
讓堅持成爲一種習慣,讓放棄成爲一種奢侈。