胖紙沒煩惱
大致分為三個(gè)階段:基礎(chǔ)篇、進(jìn)階篇、大咖篇。入門嵌入式工程師此階段主要是前期的入門過程,主要針對(duì)入行沒多久的新人。其實(shí)成功沒有捷徑,所以打好基礎(chǔ)才是關(guān)鍵。嵌入式開發(fā)要學(xué)什么主要包含以下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ǔ)。語言C語言是嵌入式開發(fā)中最重要的編程語言,要對(duì)這門語言有深入的理解,畢竟不僅僅要會(huì)寫程序,看懂他人程序也很重要。最基本的數(shù)據(jù)類型、數(shù)組、指針、結(jié)構(gòu)體,鏈表、文件操作等都要會(huì),掌握基本語法和語句,不然你要能區(qū)分指針數(shù)組與數(shù)組指針嗎?3.單片機(jī) 單片機(jī)入門相對(duì)簡(jiǎn)單,通過單片機(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)大量的精力。編程系統(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ì)其掌握的好壞直接影響程序的效率、簡(jiǎn)潔及健壯性。、DSP、FPGALinux沒有自己界面,學(xué)習(xí)QT編程可以創(chuàng)建藝術(shù)級(jí)的圖形用戶界面所需的所有功能,從而更好的實(shí)現(xiàn)人機(jī)交互控制。而如今用戶對(duì)于圖形圖像的要求也越來越高,這就需要DSP、FPGA技術(shù)來設(shè)計(jì)開發(fā)更好的嵌入式視覺系統(tǒng)。高級(jí)嵌入式工程師學(xué)習(xí)了前兩個(gè)階段的知識(shí),你已經(jīng)可以勝任大部分嵌入式工作了,但是距離大咖仍有一定的差距,其實(shí)已經(jīng)到了第二個(gè)分水嶺。這部分更多涉及系統(tǒng)層面,沒有全方位的知識(shí)將會(huì)很難下手。1操作系統(tǒng)平臺(tái)開發(fā) 除了Linux外,嵌入式操作系統(tǒng)還有ARM、WINCE、uC/OS II、Vxworks、uClinux等,不同的系統(tǒng)有著不同的使用環(huán)境,你需要學(xué)習(xí)掌握系統(tǒng)的各個(gè)模塊,為底層平臺(tái)搭建做好準(zhǔn)備。熟悉各個(gè)操作系統(tǒng)的特點(diǎn)以及系統(tǒng)的內(nèi)核移植,確保操作系統(tǒng)能在某個(gè)微處理器或微控制器上運(yùn)行。隨著手機(jī)智能硬件的快速興起,Android操作系統(tǒng)開發(fā)也越來越重要。2驅(qū)動(dòng)開發(fā) 驅(qū)動(dòng)程序設(shè)計(jì)是嵌入式Linux開發(fā)工作中非常重要的一部分。不僅要熟悉Linux的內(nèi)核機(jī)制、驅(qū)動(dòng)程序與用戶級(jí)應(yīng)用程序的接口,掌握系統(tǒng)對(duì)設(shè)備的并發(fā)操作。還要具備ARM硬件接口的基礎(chǔ)知識(shí),熟悉ARM Cortex處理器各資源、掌握Linux設(shè)備驅(qū)動(dòng)原理框架,以及工程中常見Linux高級(jí)字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備、USB設(shè)備的驅(qū)動(dòng)開發(fā)。當(dāng)你到達(dá)這個(gè)位置的時(shí)候,可以說你已經(jīng)是一個(gè)人生贏家了,而真正的學(xué)習(xí)過程如同一場(chǎng)漫長的修行,在這個(gè)過程中,必定有各種各樣的困難。當(dāng)然了,嵌入式工作中更多的需要實(shí)踐以及經(jīng)驗(yàn)的積累,相信守得云開見月明,你也可成為一名優(yōu)秀的嵌入式工程師。需要嵌入式培訓(xùn),可以來到華清的星創(chuàng)客精英訓(xùn)練營,專門培訓(xùn)中高端嵌入式工程師。
michelle850322
樓上的真卑鄙,明明是廣東那邊培訓(xùn)機(jī)構(gòu)的托兒,還在這裝出一副純情的樣子忽悠人,亞嵌招學(xué)員不是忽悠,亞嵌從1998年成立到現(xiàn)在,10多年的歷史,如果只是憑忽悠,早在唾沫星里淹死了,也不會(huì)走過這么多年,為華為,聯(lián)想等各大企業(yè)進(jìn)行過內(nèi)訓(xùn),我們對(duì)學(xué)員的負(fù)責(zé)從對(duì)學(xué)員的承諾,對(duì)學(xué)員的住宿的安排,對(duì)學(xué)員的學(xué)習(xí)中遇到各種問題的解答,以及到最后一次次的安排學(xué)員就業(yè)走的都是一條龍的嚴(yán)格服務(wù),你可以自夸你們的培訓(xùn)機(jī)構(gòu),但不要去玷污別人的,做一些見不得人的事
福建不吃辣
一、學(xué)習(xí)路徑萬丈高樓平地起,不管多優(yōu)秀的工程師都是從小白開始的。一條清晰合理的學(xué)習(xí)路線能幫助小白們高效率的完成基礎(chǔ)知識(shí)的儲(chǔ)備工作,注意這里是知識(shí)的儲(chǔ)備過程,而經(jīng)驗(yàn)是從實(shí)踐中得到的。學(xué)習(xí)路徑是多種多樣的,不同能力和不同基礎(chǔ)的人有不太相同的路徑,這里分享我自己的學(xué)習(xí)路徑,供大家參考。1.了解計(jì)算機(jī)原理,操作系統(tǒng)基礎(chǔ)知識(shí)。了解硬盤,內(nèi)存和CPU的關(guān)系,程序是如何加載到內(nèi)存運(yùn)行的,了解操作系統(tǒng)進(jìn)程切換和時(shí)間片的概念。2.學(xué)習(xí)C語言,掌握編譯器基本知識(shí),能編寫簡(jiǎn)單的程序。學(xué)習(xí)硬件相關(guān)知識(shí)。3.購買洞洞板或者面包板,配合stm32等單片機(jī)核心板及相應(yīng)教材,實(shí)踐IO操作,中斷,定時(shí)器,ADC,UART通信,IIC通信,SPI通信,CAN通信等基本功能。在此過程中不斷鞏固提升C語言編程水平。4.掌握了某一種單片機(jī)的基本編程和控制后,可以進(jìn)軍嵌入式操作系統(tǒng)的學(xué)習(xí)。在此期間可以繼續(xù)使用STM32核心板,加購LCD串口液晶顯示屏,不需要買帶字庫的顯示屏,簡(jiǎn)單實(shí)用的串口顯示屏就可以。然后可以從Free RTOS開始學(xué)習(xí),這個(gè)操作系統(tǒng)代碼少,概念清晰,易于學(xué)習(xí)操作系統(tǒng)的原理,也易于移植,基本上可以參考官網(wǎng)以及網(wǎng)絡(luò)上的資料順利的將操作系統(tǒng)移植到STM32核心板。通過FreeRTOS,可以學(xué)習(xí)嵌入式操作系統(tǒng)的基本原理,并可以編寫LCD驅(qū)動(dòng)程序來感受硬件驅(qū)動(dòng)程序的概念。5.學(xué)習(xí)嵌入式Linux操作系統(tǒng),購買ARM9或以上版本的主控的開發(fā)板,要求開發(fā)板上至少有串口和網(wǎng)口。學(xué)習(xí)板級(jí)支持包的開發(fā),交叉編譯,GDB調(diào)試,UBOOT移植,內(nèi)核移植,根文件系統(tǒng)制作,設(shè)備樹,驅(qū)動(dòng)程序編寫,網(wǎng)絡(luò)編程相關(guān)知識(shí)。6.學(xué)習(xí)物聯(lián)網(wǎng)相關(guān)模塊的使用,可以購買ESP32核心板進(jìn)行wifi,藍(lán)牙的模塊控制學(xué)習(xí),購買其他模塊實(shí)現(xiàn)其他小項(xiàng)目的練習(xí)。通過上面的一番閉關(guān)修煉,你已經(jīng)學(xué)習(xí)了嵌入式開發(fā)的主要知識(shí)架構(gòu),接下來就要多做小項(xiàng)目,多練習(xí)排錯(cuò),才能不斷積累經(jīng)驗(yàn)。二、學(xué)習(xí)方法1.先整再零:對(duì)于一個(gè)實(shí)例項(xiàng)目,先從整體出發(fā),保證調(diào)通,能正常運(yùn)行,出現(xiàn)預(yù)期結(jié)果。遇到模糊的問題先跳過,整體有了一定認(rèn)識(shí)后再對(duì)個(gè)別細(xì)節(jié)進(jìn)行深入了解,但不能跳過深入了解細(xì)節(jié)的環(huán)節(jié)。2.邊學(xué)邊練:開發(fā)是一類實(shí)踐性很強(qiáng)的技能,嵌入式開發(fā)要與硬件打交道,就需要更多的動(dòng)手操作和觀察。學(xué)習(xí)某一方向的嵌入式開發(fā)知識(shí)時(shí),需要給自己的學(xué)習(xí)進(jìn)行必要的“投資”,購買面包板、洞洞板、萬用表、調(diào)溫烙鐵套裝、各種器件、芯片,以至開發(fā)板。以上材料不需要一次性都買齊,可以按照當(dāng)前學(xué)習(xí)的內(nèi)容分階段購買,經(jīng)濟(jì)條件有限的同學(xué)也不用擔(dān)心,以上材料的開銷除開發(fā)板之外都不貴,可網(wǎng)絡(luò)購買。對(duì)于開發(fā)板,可以買學(xué)長學(xué)姐的二手板卡,能過測(cè)試就證明板卡是OK的。有了學(xué)習(xí)材料,就要學(xué)以致用,例如今天學(xué)習(xí)了三極管做開關(guān),就可以自己動(dòng)手畫畫電路圖,然后在洞洞板上實(shí)踐一下,通過實(shí)際操作,加深印象的同時(shí),也能驗(yàn)證自己的設(shè)計(jì)方案。3.勤于思考和提問,網(wǎng)絡(luò)如此發(fā)達(dá),提問的能力和技巧我就不再贅述了。三、技能提升建議如果你進(jìn)入的是一家規(guī)模較小的公司,那么你可能有機(jī)會(huì)接觸各類技術(shù)。這是絕佳的鍛煉機(jī)會(huì),要注意不要特別深入某一方向而不關(guān)注其他技術(shù),要知道大牛需要的是多方位的技能。大公司的話,往往分工比較細(xì)致而明確,那就需要在完成自己工作的同時(shí)多關(guān)注項(xiàng)目組中其他同事遇到的問題,能協(xié)助解決最好,不能解決的要關(guān)注解決的情況和方法,多蹭經(jīng)驗(yàn)。幫助別人的同時(shí)就是在幫助自己提高,多花時(shí)間處理實(shí)際問題是難得的經(jīng)驗(yàn)。不管在哪種場(chǎng)合工作,一定注意經(jīng)驗(yàn)的積累,好記不如帶墨,要用文字將經(jīng)驗(yàn)記錄下來,將遇到的問題詳細(xì)描述清楚,沒事的時(shí)候翻看一下,工作時(shí)間長了,你會(huì)發(fā)現(xiàn)這是一筆難得的財(cái)富。
孫家員外
嵌入式系統(tǒng)是計(jì)算機(jī)軟件和硬件的綜合體,崗位包括:ESE(嵌入式軟件工程師);ADE(嵌入式應(yīng)用開發(fā)工程師);FWE(嵌入式底層開發(fā)工程師);FEC(嵌入式固件開發(fā)工程師),我有全套嵌入式視頻課可以發(fā)給你自學(xué)。
課程內(nèi)容主要包括:
①C,Java核心編程:c語言核心編程,Java核心編程;
②Linux核心操作與算法:Linux系統(tǒng)使用,Linux-c編程核心技術(shù),精品數(shù)據(jù)結(jié)構(gòu),Linux-c編程精髓;
③核心操作與算法:Linux系統(tǒng)編程,Linux網(wǎng)絡(luò)編程核心技術(shù),UI編程,Java核心編程,安卓核心技術(shù);
④ARM+Linux底層開發(fā):數(shù)字電路,ARM編程核心,Linux系統(tǒng)開發(fā),嵌入式Linux驅(qū)動(dòng)開發(fā);
⑤大型項(xiàng)目實(shí)踐:每期安排各類型真實(shí)的項(xiàng)目,詳細(xì)可以找我要資料。
互聯(lián)網(wǎng)行業(yè)目前還是最熱門的行業(yè)之一,學(xué)習(xí)IT技能之后足夠優(yōu)秀是有機(jī)會(huì)進(jìn)入騰訊、阿里、網(wǎng)易等互聯(lián)網(wǎng)大廠高薪就業(yè)的,發(fā)展前景非常好,普通人也可以學(xué)習(xí)。
想要系統(tǒng)學(xué)習(xí),你可以考察對(duì)比一下開設(shè)有相關(guān)專業(yè)的熱門學(xué)校,好的學(xué)校擁有根據(jù)當(dāng)下企業(yè)需求自主研發(fā)課程的能力,能夠在校期間取得大?;虮究茖W(xué)歷,中博軟件學(xué)院、南京課工場(chǎng)、南京北大青鳥等開設(shè)相關(guān)專業(yè)的學(xué)校都是不錯(cuò)的,建議實(shí)地考察對(duì)比一下。
祝你學(xué)有所成,望采納。