最近遇到很多處于迷茫中的新手,在糾結(jié)要不要去學(xué)嵌入式,主要問題在于嵌入式的門檻非常高,經(jīng)驗(yàn)少、或者非電子專業(yè)投身嵌入式行業(yè)能否發(fā)展下去。現(xiàn)在嵌入式開發(fā)行業(yè)的確發(fā)展很好,大多數(shù)從業(yè)者都是科班出身,但我們也看到很多非科班的人分享了自己的從業(yè)過程,也許起初知識(shí)不如科班的多,但他們經(jīng)過持續(xù)數(shù)年學(xué)習(xí)實(shí)踐,也成為了行業(yè)中的大咖。其實(shí)學(xué)習(xí)技術(shù)更多的是一種執(zhí)著與刻苦,非科班無非要下更多的功夫。
嵌入式可以簡單分為硬件與軟件,然而其中的知識(shí)體系卻是異常的龐大,這也是眾多新手望而卻步的一個(gè)原因,那究竟要如何才能成為一名嵌入式大咖呢?今天和大家聊一聊嵌入式學(xué)習(xí)路線,這里覺得有幫助的也可以企鵝。
入門嵌入式工程師
此階段主要是前期的入門過程,主要針對(duì)入行沒多久的新人。其實(shí)成功沒有捷徑,所以打好基礎(chǔ)才是關(guān)鍵。主要包含以下4個(gè)方面的內(nèi)容:
1.電路知識(shí)首先你要學(xué)習(xí)電路、模電、數(shù)電,認(rèn)識(shí)電阻、電容、三極管,基礎(chǔ)器件要知道,放大電路、集成運(yùn)放、時(shí)序電路基本電路能看懂,不然看電路圖一定是云里霧里,也就無法進(jìn)行后續(xù)的工作。硬件產(chǎn)品的設(shè)計(jì)實(shí)現(xiàn),包括器件選型、原理圖和PCB設(shè)計(jì)、電路調(diào)試,都需要過硬的電路基礎(chǔ)。
2.C語言
C語言是嵌入式開發(fā)中最重要的編程語言,要對(duì)這門語言有深入的理解,畢竟不僅僅要會(huì)寫程序,看懂他人程序也很重要。最基本的數(shù)據(jù)類型、數(shù)組、指針、結(jié)構(gòu)體,鏈表、文件操作等都要會(huì),掌握基本語法和語句,不然你要能區(qū)分指針數(shù)組與數(shù)組指針嗎?
3.單片機(jī)單片機(jī)入門相對(duì)簡單,通過單片機(jī)的學(xué)習(xí)可以熟悉單片機(jī)的硬件結(jié)構(gòu),包括I/O口、AD轉(zhuǎn)換、通信(串口、并口、I2C、CAN、USB、以太網(wǎng)、ZigBee技術(shù)等)、顯示(LED、LCD等)、控制(PWM等控制技術(shù))、數(shù)據(jù)處理(圖形、圖像、語音、視頻等的處理或識(shí)別)等,學(xué)好單片機(jī)可以為采用嵌入式系統(tǒng)奠定良好的基礎(chǔ)。
4Linux基礎(chǔ)
Linux的源碼和架構(gòu)都是開放的,在嵌入式系統(tǒng)中應(yīng)用尤為廣泛,學(xué)習(xí)Linux對(duì)于系統(tǒng)的開發(fā)會(huì)有很大的幫助。詳細(xì)了解Linux下的目錄結(jié)構(gòu)、基本命令、編輯器VI、編譯器GCC、調(diào)試器GDB和 Make 項(xiàng)目管理工具,Shell Makefile腳本編寫等知識(shí),以及嵌入式開發(fā)環(huán)境的搭建。
中級(jí)嵌入式工程師
經(jīng)過第一個(gè)階段的學(xué)習(xí),你已經(jīng)可以進(jìn)行嵌入式開發(fā)工作了,但是要進(jìn)階依舊還有很多知識(shí)要學(xué),而這個(gè)階段也將是第一個(gè)分水嶺,使得優(yōu)秀的嵌入式工程師得以脫穎而出。此階段雖然只有三項(xiàng),但涉及的知識(shí)非常廣,要想學(xué)好需要花費(fèi)大量的精力。
1.Linux編程
系統(tǒng)編程可以直接跟內(nèi)核及核心系統(tǒng)程序庫對(duì)話,深入了解Linux內(nèi)核。掌握Linux系統(tǒng)編程主要提升對(duì)Linux應(yīng)用開發(fā)的理解和代碼調(diào)試的能力。由于網(wǎng)絡(luò)應(yīng)用開發(fā)越來越廣泛,通過Linux網(wǎng)絡(luò)發(fā)展、TCP/IP協(xié)議、socket編程、TCP網(wǎng)絡(luò)編程、UDP網(wǎng)絡(luò)編程、Web編程開發(fā)等方面入手,可以全面了解Linux網(wǎng)絡(luò)應(yīng)用程序開發(fā)。
2數(shù)據(jù)結(jié)構(gòu)與算法數(shù)據(jù)結(jié)構(gòu)及算法在嵌入式底層驅(qū)動(dòng)、通信協(xié)議及各種引擎開發(fā)中得到了廣泛的應(yīng)用,語言編譯要使用棧、散列表以及語法樹;操作系統(tǒng)中用隊(duì)列、存儲(chǔ)管理表及目錄樹等;數(shù)據(jù)庫系統(tǒng)運(yùn)用線型表、多鏈表及索引表進(jìn)行數(shù)據(jù)管理等等,對(duì)其掌握的好壞直接影響程序的效率、簡潔及健壯性。
Linux沒有自己界面,學(xué)習(xí)QT編程可以創(chuàng)建藝術(shù)級(jí)的圖形用戶界面所需的所有功能,從而更好的實(shí)現(xiàn)人機(jī)交互控制。而如今用戶對(duì)于圖形圖像的要求也越來越高,這就需要DSP、FPGA技術(shù)來設(shè)計(jì)開發(fā)更好的嵌入式視覺系統(tǒng)。
至于嵌入式高級(jí)工程師,暫時(shí)無需多說,操之過急而言并不是好事,當(dāng)你到達(dá)這個(gè)位置的時(shí)候,可以說你已經(jīng)是一個(gè)人生贏家了,而真正的學(xué)習(xí)過程如同一場漫長的修行,在這個(gè)過程中,必定有各種各樣的困難。當(dāng)然了,嵌入式工作中更多的需要實(shí)踐以及經(jīng)驗(yàn)的積累,相信守得云開見月明,你也可成為一名優(yōu)秀的嵌入式工程師。
-
嵌入式
+關(guān)注
關(guān)注
5082文章
19104瀏覽量
304816 -
工程師
+關(guān)注
關(guān)注
59文章
1569瀏覽量
68504
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論