麥兜林濤
嵌入式開發(fā)的必學課程:C語言;C++;操作系統(tǒng);計算機組成原理;linux編程;51單片機;arm;硬件編程語言;模擬電路&數(shù)字電路。
嵌入式培訓分幾個階段的學習,從基礎到實戰(zhàn)的練習,一點一點學習和掌握這門技術(shù)。學習的課程內(nèi)容包含:嵌入式高級C語言、嵌入式設備及GUI開發(fā)、嵌入式Linux高級程序設計、Linux高級網(wǎng)絡程序設計、數(shù)據(jù)庫開發(fā)、面向?qū)ο蟾呒壵Z言程序設計、物聯(lián)網(wǎng)、CotexA53 Linux平臺驅(qū)動開發(fā)及真實的企業(yè)實戰(zhàn)項目。
想要學好嵌入式技術(shù),嵌入式軟件開發(fā)工程師,從事領域很寬泛,特別是工業(yè)控制、消費電子與通信設備三大領域,因為就業(yè)面很大,所以人才需求也大。現(xiàn)在智能硬件也比較火,這方面的發(fā)展也會大大拓展嵌入式軟件開發(fā)工程師的就業(yè)機會。再者,嵌入式硬件工程師,需求沒有嵌入式軟件開發(fā)工程師大,但因為做硬件門檻會高些,所以這個方向如果做的比較專業(yè),薪資絕對不會低。
嵌入式硬件工程師:與我們平常所說的硬件工程師不同。嵌入式硬件工程不但要求具備硬件工程師的基本技能,還必須完成部分軟件工程師的工作,例如:底層驅(qū)動的開發(fā)嵌入式操作系統(tǒng)的裁剪,移植;GUI、文件系統(tǒng)等軟件的移植;基于嵌入式操作系統(tǒng)的底層驅(qū)動程序的設計等。
嵌入式軟件工程師:我們平常說的軟件工程師大部分指的是windows和Linux操作系統(tǒng)下應用軟件的開發(fā)人員,硬件平臺是基于PC機的。而嵌入式軟件工程師則是指在等嵌入式操作系統(tǒng)下進行用戶應用軟件開發(fā)的人員,硬件平臺則是基于嵌入式產(chǎn)品的(例如:手機、PDA等)。軟件開發(fā)工具也有所區(qū)別,嵌入式軟件開發(fā)一般使用的是嵌入式系統(tǒng)專用的開發(fā)工具,例如wince下的evc,和linux下的qt等。
KellyYin0816
一、嵌入式開發(fā)待遇怎么樣從現(xiàn)在市場需求和走勢可以看出,在以后的幾年內(nèi)。市場對嵌入式Linux開發(fā)工程師的需求旺盛。而目前熟練的Linux應用人才很少。這意味著各大跨國公司及國內(nèi)消費類電子巨頭企業(yè)都面臨著人才嚴重短缺的挑戰(zhàn)。由于嵌入式Linux開發(fā)人才的缺乏也帶來了這個行業(yè)可觀的薪酬待遇,嵌入式Linux的從業(yè)者薪酬比其他IT業(yè)同行大約高出50%,華清遠見培訓完的學員一開始的平均月薪一般都能達到5000元左右,有三年以上經(jīng)驗的人員年薪都在10萬元以上,有10年工作經(jīng)驗的高級嵌入式軟件工程師年薪在30萬元左右。盡管待遇可觀,可是相關(guān)企業(yè)還是很難招到合適的員工。二、嵌入式培訓班好不好針對如今嵌入式Linux開發(fā)人才的市場缺口,可以通過兩種途徑來解決。一是從業(yè)者就讀于高校內(nèi)設置專門的嵌入式系統(tǒng)的專業(yè),二是對軟件專業(yè)的畢業(yè)生進行嵌入式Linux方面的職前培訓。高校的軟件教育普遍以應用軟件為主,開設嵌入式軟件專業(yè)的學校很少,而且學校不能向?qū)W生提供足夠的實踐機會?,F(xiàn)在從事嵌入式開發(fā)的人員,以自動控制、通信專業(yè)和計算機硬件的偏多,基本是通過工作實踐逐漸轉(zhuǎn)型而來。然而隨著今天嵌入式培訓行業(yè)的不斷發(fā)展,越來越多的嵌入式開發(fā)人員主要是通過參加相關(guān)的嵌入式培訓進入嵌入式行業(yè),最具代表性的是新生代的大學畢業(yè)生,越來越多的大學畢業(yè)生將眼光投向了嵌入式培訓機構(gòu),通過參加培訓提高自己的技能。行業(yè)專家分析:通過聯(lián)合高校、專業(yè)嵌入式培訓機構(gòu)和軟件企業(yè),為企業(yè)培養(yǎng)能夠直接使用的嵌入式軟件人才,這是嵌入式人才培養(yǎng)的必經(jīng)之路。
xiaowanziji
嵌入式開發(fā)培訓主要有以下4個方面的內(nèi)容:
入門:
(1)電路知識 首先你要學習電路、模電、數(shù)電,認識電阻、電容、三極管,基礎器件要知道,放大電路、集成運放、時序電路基本電路能看懂,不然看電路圖一定是云里霧里,也就無法進行后續(xù)的工作。硬件產(chǎn)品的設計實現(xiàn),包括器件選型、原理圖和PCB設計、電路調(diào)試,都需要過硬的電路基礎。(2)C語言C語言是嵌入式開發(fā)中最重要的編程語言,要對這門語言有深入的理解,畢竟不僅僅要會寫程序,看懂他人程序也很重要。最基本的數(shù)據(jù)類型、數(shù)組、指針、結(jié)構(gòu)體,鏈表、文件操作等都要會,掌握基本語法和語句,不然你要能區(qū)分指針數(shù)組與數(shù)組指針嗎?(3)單片機單片機入門相對簡單,通過單片機的學習可以熟悉單片機的硬件結(jié)構(gòu),包括I/O口、AD轉(zhuǎn)換、通信(串口、并口、I2C、CAN、USB、以太網(wǎng)、ZigBee技術(shù)等)、顯示(LED、LCD等)、控制(PWM等控制技術(shù))、數(shù)據(jù)處理(圖形、圖像、語音、視頻等的處理或識別)等,學好單片機可以為采用嵌入式系統(tǒng)奠定良好的基礎。(4)Linux基礎Linux的源碼和架構(gòu)都是開放的,在嵌入式系統(tǒng)中應用尤為廣泛,學習Linux對于系統(tǒng)的開發(fā)會有很大的幫助。詳細了解Linux下的目錄結(jié)構(gòu)、基本命令、編輯器VI、編譯器GCC、調(diào)試器GDB和Make 項目管理工具,Shell Makefile腳本編寫等知識,以及嵌入式開發(fā)環(huán)境的搭建。中級經(jīng)過第一個階段的學習,你已經(jīng)可以進行嵌入式開發(fā)工作了,但是要進階依舊還有很多知識要學,而這個階段也將是第一個分水嶺,使得優(yōu)秀的嵌入式工程師得以脫穎而出。此階段雖然只有三項,但涉及的知識非常廣,要想學好需要花費大量的精力。(1)Linux編程系統(tǒng)編程可以直接跟內(nèi)核及核心系統(tǒng)程序庫對話,深入了解Linux內(nèi)核。掌握Linux系統(tǒng)編程主要提升對Linux應用開發(fā)的理解和代碼調(diào)試的能力。由于網(wǎng)絡應用開發(fā)越來越廣泛,通過Linux網(wǎng)絡發(fā)展、TCP/IP協(xié)議、socket編程、TCP網(wǎng)絡編程、UDP網(wǎng)絡編程、Web編程開發(fā)等方面入手,可以全面了解Linux網(wǎng)絡應用程序開發(fā)。(2)數(shù)據(jù)結(jié)構(gòu)與算法數(shù)據(jù)結(jié)構(gòu)及算法在嵌入式底層驅(qū)動、通信協(xié)議及各種引擎開發(fā)中得到了廣泛的應用,語言編譯要使用棧、散列表以及語法樹;操作系統(tǒng)中用隊列、存儲管理表及目錄樹等;數(shù)據(jù)庫系統(tǒng)運用線型表、多鏈表及索引表進行數(shù)據(jù)管理等等,對其掌握的好壞直接影響程序的效率、簡潔及健壯性。(3)QT、DSP、FPGALinux沒有自己界面,學習QT編程可以創(chuàng)建藝術(shù)級的圖形用戶界面所需的所有功能,從而更好的實現(xiàn)人機交互控制。而如今用戶對于圖形圖像的要求也越來越高,這就需要DSP、FPGA技術(shù)來設計開發(fā)更好的嵌入式視覺系統(tǒng)。高級學習了前兩個階段的知識,你已經(jīng)可以勝任大部分嵌入式工作了,但是距離大咖仍有一定的差距,其實已經(jīng)到了第二個分水嶺。這部分更多涉及系統(tǒng)層面,沒有全方位的知識將會很難下手。(1)操作系統(tǒng)平臺開發(fā)除了Linux外,嵌入式操作系統(tǒng)還有ARM、WINCE、uC/OS II、Vxworks、uClinux等,不同的系統(tǒng)有著不同的使用環(huán)境,你需要學習掌握系統(tǒng)的各個模塊,為底層平臺搭建做好準備。熟悉各個操作系統(tǒng)的特點以及系統(tǒng)的內(nèi)核移植,確保操作系統(tǒng)能在某個微處理器或微控制器上運行。隨著手機智能硬件的快速興起,Android操作系統(tǒng)開發(fā)也越來越重要。(2)驅(qū)動開發(fā)驅(qū)動程序設計是嵌入式Linux開發(fā)工作中非常重要的一部分。不僅要熟悉Linux的內(nèi)核機制、驅(qū)動程序與用戶級應用程序的接口,掌握系統(tǒng)對設備的并發(fā)操作。還要具備ARM硬件接口的基礎知識,熟悉ARMCortex處理器各資源、掌握Linux設備驅(qū)動原理框架,以及工程中常見Linux高級字符設備、塊設備、網(wǎng)絡設備、USB設備的驅(qū)動開發(fā)。??〖??? ┓┑з?〗
當你到達這個位置的時候,可以說你已經(jīng)是一個人生贏家了,而真正的學習過程如同一場漫長的修行,在這個過程中,必定有各種各樣的困難。當然了,嵌入式工作中更多的需要實踐以及經(jīng)驗的積累,相信守得云開見月明,你也可成為一名優(yōu)秀的嵌入式工程師。需要嵌入式培訓,可以來到卓越工程師精英訓練營,專門培訓中高端嵌入式工程師。
希望我的答案能夠幫助到你
小M回歸中
嵌入式系統(tǒng)是計算機軟件和硬件的綜合體,崗位包括:ESE(嵌入式軟件工程師);ADE(嵌入式應用開發(fā)工程師);FWE(嵌入式底層開發(fā)工程師);FEC(嵌入式固件開發(fā)工程師),我有全套嵌入式視頻課可以發(fā)給你自學。
課程內(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)絡編程核心技術(shù),UI編程,Java核心編程,安卓核心技術(shù);
④ARM+Linux底層開發(fā):數(shù)字電路,ARM編程核心,Linux系統(tǒng)開發(fā),嵌入式Linux驅(qū)動開發(fā);
⑤大型項目實踐:每期安排各類型真實的項目,詳細可以找我要資料。
互聯(lián)網(wǎng)行業(yè)目前還是最熱門的行業(yè)之一,學習IT技能之后足夠優(yōu)秀是有機會進入騰訊、阿里、網(wǎng)易等互聯(lián)網(wǎng)大廠高薪就業(yè)的,發(fā)展前景非常好,普通人也可以學習。
想要系統(tǒng)學習,你可以考察對比一下開設有相關(guān)專業(yè)的熱門學校,好的學校擁有根據(jù)當下企業(yè)需求自主研發(fā)課程的能力,能夠在校期間取得大?;虮究茖W歷,中博軟件學院、南京課工場、南京北大青鳥等開設相關(guān)專業(yè)的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望采納。
優(yōu)質(zhì)工程師考試問答知識庫