最近遇到很多處于迷茫中的就業者,在糾結要不要從事嵌入式這個行業,主要問題在于嵌入式這個行業對求職者的專業技能要求是非常高的,但是現在嵌入式開發行業的確發展很好,很多的行業都是需要用嵌入式來實現的,現在好多非嵌入式科班出身的求職者都投入到了嵌入式這個行業的學習當中,那么現在由小編簡單的為您分析一下嵌入式工程師是如何煉成的呢。
入門嵌入式工程師
針對于剛入行的嵌入式工程師而言,學好基礎知識最為重要,對于成功而言,并沒有很多的途徑,首先要了解Linux的基礎知識,學習Linux對于系統的開發會有很大的幫助,掌握Linux下的目錄結構、基本命令、編輯器VI、編譯器GCC、調試器GDB和Make 項目管理工具,Shell Makefile腳本編寫等知識,以及嵌入式開發環境的搭建;其次要了解C語言,C語言是嵌入式開發中最重要的編程語言,要對這門語言有深入的理解,畢竟不僅僅要會寫程序,看懂他人程序也很重要。最基本的數據類型、數組、指針、結構體,鏈表、文件操作等都要會,掌握基本語法和語句;再次要掌握電路知識和單片機,你要學習電路、模電、數電,認識電阻、電容、三極管,基礎器件要知道,放大電路、集成運放、時序電路基本電路能看懂,單片機入門相對簡單,通過單片機的學習可以熟悉單片機的硬件結構,包括I/O口、AD轉換、通信(串口、并口、I2C、CAN、USB、以太網、ZigBee技術等)、顯示(LED、LCD等)、控制(PWM等控制技術)、數據處理(圖形、圖像、語音、視頻等的處理或識別)等,學好單片機可以為采用嵌入式系統奠定良好的基礎。
中級嵌入式工程師
經過第一個階段的學習,你已經可以進行嵌入式開發工作了,但是要進階依舊還有很多知識要學,這個階段涉及的知識非常廣,要想學好需要花費大量的精力你需要深入了解Linux內核。掌握Linux系統編程主要提升對Linux應用開發的理解和代碼調試的能力。可以通過Linux網絡發展、TCP/IP協議、socket編程、TCP網絡編程、UDP網絡編程、Web編程開發等方面入手,可以全面了解Linux網絡應用程序開發。其次要掌握數據結構與算法數據結構及算法在嵌入式底層驅動、通信協議及各種引擎開發中得到了廣泛的應用,語言編譯要使用棧、散列表以及語法樹;操作系統中用隊列、存儲管理表及目錄樹等;數據庫系統運用線型表、多鏈表及索引表進行數據管理等等,對其掌握的好壞直接影響程序的效率、簡潔及健壯性。另外學習QT編程可以創建藝術級的圖形用戶界面所需的所有功能,從而更好的實現人機交互控制。而如今用戶對于圖形圖像的要求也越來越高,這就需要DSP、FPGA技術來設計開發更好的嵌入式視覺系統。
高級嵌入式工程師
學習了前兩個階段的知識,你已經可以勝任大部分嵌入式工作了,但是距離大咖仍有一定的差距這部分更多涉及系統層面,沒有全方位的知識將會很難下手。要想成為高級嵌入式工程師除了Linux外,嵌入式操作系統還有ARM、WINCE、uC/OS II、Vxworks、uClinux等,不同的系統有著不同的使用環境,你需要學習掌握系統的各個模塊,為底層平臺搭建做好準備。熟悉各個操作系統的特點以及系統的內核移植,確保操作系統能在某個微處理器或微控制器上運行。隨著手機智能硬件的快速興起,Android操作系統開發也越來越重要。另外就是驅動開發驅動程序設計是嵌入式Linux開發工作中非常重要的一部分。不僅要熟悉Linux的內核機制、驅動程序與用戶級應用程序的接口,掌握系統對設備的并發操作。還要具備ARM硬件接口的基礎知識,熟悉ARM Cortex處理器各資源、掌握Linux設備驅動原理框架,以及工程中常見Linux高級字符設備、塊設備、網絡設備、USB設備的驅動開發。 當你到達這個位置的時候,可以說你已經是一個人生贏家了,而真正的學習過程如同一場漫長的修行,在這個過程中,必定有各種各樣的困難。當然了,嵌入式工作中更多的需要實踐以及經驗的積累,相信守得云開見月明,你也可成為一名優秀的嵌入式工程師。
|