★★ 入坑嵌入式 不看你絕對後悔的內容剖析

wrc961015發表於2018-11-07

 嵌入式開發要學哪些,嵌入式可以簡單分為硬體與軟體,然而其中的知識體系卻是異常的龐大,這也是眾多新手望而卻步的一個原因,那究竟要如何才能成為一名嵌入式大咖呢?嵌入式開發要學什麼,大致分為三個階段:基礎篇、進階篇、大咖篇。

入門嵌入式工程師


  此階段主要是前期的入門過程,主要針對入行沒多久的新人。其實成功沒有捷徑,所以打好基礎才是關鍵。嵌入式開發要學什麼主要包含以下4個方面的內容:


  1.電路知識                                                                                                                                                                                                         首先你要學習電路、模電、數電,認識電阻、電容、三極體,基礎器件要知道,放大電路、整合運放、時序電路基本電路能看懂,不然看電路圖一定是雲裡霧裡,也就無法進行後續的工作。硬體產品的設計實現,包括器件選型、原理圖和PCB設計、電路除錯,都需要過硬的電路基礎。


  2.C語言


  C語言是嵌入式開發中最重要的程式語言,要對這門語言有深入的理解,畢竟不僅僅要會寫程式,看懂他人程式也很重要。最基本的資料型別、陣列、指標、結構體,連結串列、檔案操作等都要會,掌握基本語法和語句,不然你要能區分指標陣列與陣列指標嗎?


  3.微控制器 


      微控制器入門相對簡單,透過微控制器的學習可以熟悉微控制器的硬體結構,包括I/O口、AD轉換、通訊(串列埠、並口、I2C、CAN、USB、乙太網、ZigBee技術等)、顯示(LED、LCD等)、控制(PWM等控制技術)、資料處理(圖形、影像、語音、影片等的處理或識別)等,學好微控制器可以為採用嵌入式系統奠定良好的基礎。


  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技術來設計開發更好的嵌入式視覺系統。


  高階嵌入式工程師


  學習了前兩個階段的知識,你已經可以勝任大部分嵌入式工作了,但是距離大咖仍有一定的差距,其實已經到了第二個分水嶺。這部分更多涉及系統層面,沒有全方位的知識將會很難下手。


  1作業系統平臺開發 


       除了Linux外,嵌入式作業系統還有ARM、WINCE、uC/OS II、Vxworks、uClinux等,不同的系統有著不同的使用環境,你需要學習掌握系統的各個模組,為底層平臺搭建做好準備。熟悉各個作業系統的特點以及系統的核心移植,確保作業系統能在某個微處理器或微控制器上執行。隨著手機智慧硬體的快速興起,Android作業系統開發也越來越重要。


  2驅動開發 


       驅動程式設計是嵌入式Linux開發工作中非常重要的一部分。不僅要熟悉Linux的核心機制、驅動程式與使用者級應用程式的介面,掌握系統對裝置的併發操作。還要具備ARM硬體介面的基礎知識,熟悉ARM Cortex處理器各資源、掌握Linux裝置驅動原理框架,以及工程中常見Linux高階字元裝置、塊裝置、網路裝置、USB裝置的驅動開發。


  當你到達這個位置的時候,可以說你已經是一個人生贏家了,而真正的學習過程如同一場漫長的修行,在這個過程中,必定有各種各樣的困難。當然了,嵌入式工作中更多的需要實踐以及經驗的積累,相信守得雲開見月明,你也可成為一名優秀的嵌入式工程師。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31560024/viewspace-2219122/,如需轉載,請註明出處,否則將追究法律責任。

相關文章