最近遇到很多處於迷茫中的新手,在糾結要不要去學嵌入式,主要問題在於嵌入式的門檻非常高,經驗少、或者非電子專業投身嵌入式行業能否發展下去。現在嵌入式開發行業的確發展很好,大多數從業者都是科班出身,但我們也看到很多非科班的人分享了自己的從業過程,也許起初知識不如科班的多,但他們經過持續數年學習實踐,也成為了行業中的大咖。其實學習技術更多的是一種執著與刻苦,非科班無非要下更多的功夫。
嵌入式可以簡單分為硬體與軟體,然而其中的知識體系卻是異常的龐大,這也是眾多新手望而卻步的乙個原因,那究竟要如何才能成為一名嵌入式大咖呢?今天和大家聊一聊嵌入式學習路線,這裡覺得有幫助的也可以企鵝。
入門嵌入式工程師
此階段主要是前期的入門過程,主要針對入行沒多久的新人。其實成功沒有捷徑,所以打好基礎才是關鍵。主要包含以下4個方面的內容:
1.電路知識首先你要學習電路、模電、數電,認識電阻、電容、三極體,基礎器件要知道,放大電路、整合運放、時序電路基本電路能看懂,不然看電路圖一定是雲裡霧裡,也就無法進行後續的工作。硬體產品的設計實現,包括器件選型、原理圖和pcb設計、電路除錯,都需要過硬的電路基礎。
2.c語言
c語言是嵌入式開發中最重要的程式語言,要對這門語言有深入的理解,畢竟不僅僅要會寫程式,看懂他人程式也很重要。最基本的資料型別、陣列、指標、結構體,鍊錶、檔案操作等都要會,掌握基本語法和語句,不然你要能區分指標陣列與陣列指標嗎?
4linux基礎
linux的原始碼和架構都是開放的,在嵌入式系統中應用尤為廣泛,學習linux對於系統的開發會有很大的幫助。詳細了解linux下的目錄結構、基本命令、編輯器vi、編譯器gcc、偵錯程式gdb和 make 專案管理工具,shell makefile指令碼編寫等知識,以及嵌入式開發環境的搭建。
中級嵌入式工程師
經過第乙個階段的學習,你已經可以進行嵌入式開發工作了,但是要高階依舊還有很多知識要學,而這個階段也將是第乙個分水嶺,使得優秀的嵌入式工程師得以脫穎而出。此階段雖然只有三項,但涉及的知識非常廣,要想學好需要花費大量的精力。
1.linux程式設計
系統程式設計可以直接跟核心及核心系統程式庫對話,深入了解linux核心。掌握linux系統程式設計主要提公升對linux應用開發的理解和**除錯的能力。由於網路應用開發越來越廣泛,通過linux網路發展、tcp/ip協議、socket程式設計、tcp網路程式設計、udp網路程式設計、web程式設計開發等方面入手,可以全面了解linux網路應用程式開發。
2資料結構與演算法資料結構及演算法在嵌入式底層驅動、通訊協議及各種引擎開發中得到了廣泛的應用,語言編譯要使用棧、雜湊表以及語法樹;作業系統中用佇列、儲存管理表及目錄樹等;資料庫系統運用線型表、多鍊表及索引表進行資料管理等等,對其掌握的好壞直接影響程式的效率、簡潔及健壯性。
3.qt、dsp、fpga
linux沒有自己介面,學習qt程式設計可以建立藝術級的圖形使用者介面所需的所有功能,從而更好的實現人機互動控制。而如今使用者對於圖形影象的要求也越來越高,這就需要dsp、fpga技術來設計開發更好的嵌入式視覺系統。
至於嵌入式高階工程師,暫時無需多說,操之過急而言並不是好事,當你到達這個位置的時候,可以說你已經是乙個人生贏家了,而真正的學習過程如同一場漫長的修行,在這個過程中,必定有各種各樣的困難。當然了,嵌入式工作中更多的需要實踐以及經驗的積累,相信守得雲開見月明,你也可成為一名優秀的嵌入式工程師。如果在此過程中你還處於迷茫期,這邊可以私我,這些年也存了不少乾貨,希望能幫助你進步!
嵌入式工程師step by step
近來嵌入式挺火,於是大家都往這裡擠。我想提醒大家的是,嵌入式馬上也會成為如今的軟體業。在你進來之前請先考慮清楚。但只要我們真的學精了一樣東西,不管它將來變成什麼樣,哪怕最後只剩下乙個人,那個人也一定就是你自己。很多人以為搞嵌入式就是隨便找本書看看,在電腦上編幾個程式就完事。非也,其實嵌入式的門檻是比...
嵌入式工程師需要的關鍵技能
流利的用於編寫作業系統的程式語言,例如c 對元件級別的硬體的理解 以及輕鬆跨越軟體和硬體的能力,這些都是當今嵌入式工程師的全部核心技能。嵌入式開發所包含的技術的多樣性和不斷擴充套件的功能,那麼什麼樣的技能對於工程師來說具有重要的競爭力,使其在就業市場中具有競爭力並發展其職業。無需成為電氣工程師或晶元...
嵌入式工程師筆試題
1.linux核心裡面,記憶體申請有哪幾個函式,各自的區別?kmalloc 連續物理記憶體 vmalloc 虛擬記憶體連續 物理上非連續 2.irq和fiq有什麼區別,在cpu裡面是是怎麼做的?irq 普通中斷 fiq 快速中斷 有自己的暫存器,省去暫存器內容儲存的時間。3.int a char b...