嵌入式開發(fā)要學(xué)哪些課程?
嵌入式軟件開發(fā)專業(yè)主要課程如下:
主干學(xué)科:馬克思主義理論、外語、高等數(shù)學(xué)、物理、物理實(shí)驗(yàn)、線性代數(shù)、概率論與數(shù)理統(tǒng)計(jì)、程序設(shè)計(jì)語言、數(shù)據(jù)結(jié)構(gòu)、離散數(shù)學(xué)、操作系統(tǒng)、編譯技術(shù)、軟件工程概論、統(tǒng)一建模語言、軟件體系結(jié)構(gòu)、軟件需求、軟件項(xiàng)目管理
該專業(yè)除了學(xué)習(xí)公共基礎(chǔ)課外,還將系統(tǒng)學(xué)習(xí)離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)、算法分析、面向?qū)ο蟪绦蛟O(shè)計(jì)、現(xiàn)代操作系統(tǒng)、數(shù)據(jù)庫原理與實(shí)現(xiàn)技術(shù)、編譯原理、軟件工程、軟件項(xiàng)目管理、計(jì)算機(jī)安全等課程,根據(jù)學(xué)生的興趣還可以選修一些其它選修課。
實(shí)踐環(huán)節(jié):畢業(yè)實(shí)習(xí)、課程設(shè)計(jì)、計(jì)算機(jī)工程實(shí)踐、生產(chǎn)實(shí)習(xí)、畢業(yè)設(shè)計(jì)(論文)。
嵌入式開發(fā)技能及就就業(yè)方向:
1、可視化編程掌握程序設(shè)計(jì)方法及可視化技術(shù),精通一種可視化平臺(tái)及其軟件開發(fā)技術(shù)。獲取Delphi程序員系列、Java初級(jí)或VB開發(fā)能手認(rèn)證。 就業(yè)方向:企業(yè)、、社區(qū)、各類學(xué)校等可視化編程程序員。
2 、WEB應(yīng)用程序設(shè)計(jì) 具有美工基礎(chǔ)和網(wǎng)頁動(dòng)畫設(shè)計(jì)能力,掌握交互式網(wǎng)頁程序的設(shè)計(jì)技術(shù),能進(jìn)行網(wǎng)站建設(shè)和維護(hù)。獲取多媒體互動(dòng)設(shè)計(jì)師或Delphi初級(jí)程序員或Delphi快速網(wǎng)絡(luò)開發(fā)工程師認(rèn)證。 就業(yè)方向:企業(yè)、、社區(qū)、各類學(xué)校等WEB應(yīng)用程序員。
3 、軟件測試?掌握軟件測試的基本原理、方法和組織管理,精通軟件測試工具。獲取ATA軟件測試工程師或Delphi初級(jí)程序員或Java初級(jí)程序員認(rèn)證。 就業(yè)方向:企業(yè)、、社區(qū)、各類學(xué)校等軟件測試員。
4 、數(shù)據(jù)庫管理 能應(yīng)用關(guān)系范式進(jìn)行數(shù)據(jù)庫設(shè)計(jì),精通SQL語言,勝任數(shù)據(jù)庫服務(wù)器管理與應(yīng)用工作。獲取Oracle數(shù)據(jù)庫管理或SQL Server數(shù)據(jù)庫應(yīng)用或Windows XP應(yīng)用認(rèn)證。 就業(yè)方向:企業(yè)、、社區(qū)、各類學(xué)校等部門的中、大型數(shù)據(jù)庫管理員。
5 、圖形圖像制作 精通國際上流行的圖形/圖像制作工具(如CorelDraw、Photoshop、Pagemaker等)。獲取平面設(shè)計(jì)師相關(guān)的認(rèn)證。 就業(yè)方向:廣告制作公司、建筑設(shè)計(jì)公司、包裝裝璜設(shè)計(jì)公司、居室裝修公司、出版印刷公司。
6 、網(wǎng)絡(luò)構(gòu)建技術(shù) 熟悉網(wǎng)絡(luò)結(jié)構(gòu)和組網(wǎng)方式,掌握建網(wǎng)方法,能利用工具分析和排除常見網(wǎng)絡(luò)故障。獲取Cisco路由配置或華為網(wǎng)絡(luò)工程或AMP應(yīng)用工程師認(rèn)證。 就業(yè)方向:企業(yè)、、社區(qū)、各類學(xué)校等網(wǎng)絡(luò)構(gòu)建工程師。
7 、網(wǎng)絡(luò)系統(tǒng)管理 掌握網(wǎng)絡(luò)系統(tǒng)管理的基本知識(shí)與應(yīng)用技能,能進(jìn)行網(wǎng)絡(luò)系統(tǒng)的安全設(shè)置。獲取 Server或 TLCE或Cisco路由配置專家認(rèn)證。 就業(yè)方向:企業(yè)、、社區(qū)、各類學(xué)校等網(wǎng)絡(luò)系統(tǒng)管理員。
8 、多媒體制作 具有多媒體程序設(shè)計(jì)與多媒體制作策劃的能力?;菊莆彰嫦?qū)ο蟪绦蛟O(shè)計(jì)與建模、造型設(shè)計(jì)、場景設(shè)計(jì)、分鏡頭原理等技能。獲取多媒體設(shè)計(jì)師相關(guān)的認(rèn)證。 就業(yè)方向:多媒體設(shè)計(jì)與制作公司、動(dòng)畫美術(shù)制作出版公司、廣告制作公司。
9、 計(jì)算機(jī)辦公應(yīng)用 精通辦公自動(dòng)化應(yīng)用與管理,熟悉服務(wù)器的安裝、管理和維護(hù),基于應(yīng)用服務(wù)器的相關(guān)服務(wù)和軟件系統(tǒng),具備對(duì)服務(wù)器的網(wǎng)絡(luò)安全設(shè)置、郵件、網(wǎng)頁發(fā)布、FTP、OA、BBS等系統(tǒng)的應(yīng)用和維護(hù)能力。 就業(yè)方向:企業(yè)、、社區(qū)、各類學(xué)校等系統(tǒng)管理。
以上內(nèi)容參考:百度百科-軟件工程
嵌入式系統(tǒng)開發(fā)學(xué)什么?
1、學(xué)習(xí) Linux系統(tǒng)安裝、 常用命令、應(yīng)用程序安裝。
2、學(xué)習(xí) Linux 下的 C 編程、這本書必學(xué)《UNIX 環(huán)境高級(jí)編程》、《UNIX網(wǎng)絡(luò)編程》,Rechard Stevens 寫的,C 高手大都學(xué)習(xí)過 《C 和指針》、《C 缺陷與陷阱》、《高質(zhì)量C/C++編程指南》、《C 專家編程》、《The C Language》。
3、程序員大都要學(xué):數(shù)據(jù)結(jié)構(gòu),嵌入式程序員數(shù)據(jù)結(jié)構(gòu)必學(xué)。
4、底層開發(fā)人員大都要學(xué):微機(jī)原理、計(jì)算機(jī)體系結(jié)構(gòu),嵌入式開發(fā)人員必學(xué)。
擴(kuò)展資料:
注意事項(xiàng):
關(guān)于嵌入式系統(tǒng)的學(xué)習(xí)方法,因?qū)W習(xí)經(jīng)歷、學(xué)習(xí)環(huán)境、學(xué)習(xí)目的、已有的知識(shí)基礎(chǔ)等不同,可能在學(xué)習(xí)順序、內(nèi)容選擇、實(shí)踐方式等方面有所不同。
由于微處理器與微控制器種類繁多,也可能由于不同公司、不同機(jī)構(gòu)出于自身的利益,給出一些誤導(dǎo)性宣傳,特別是我國嵌入式微控制器制造技術(shù)的落后及其他相關(guān)情況,使得人們對(duì)微控制器的發(fā)展,在認(rèn)識(shí)與理解上存在差異。
參考資料來源:百度百科-嵌入式系統(tǒng)開發(fā)
嵌入式開發(fā)要學(xué)什么
嵌入式Linux操作系統(tǒng)學(xué)習(xí)規(guī)劃\x0d\x0aARM+LINUX路線,主攻嵌入式Linux操作系統(tǒng)及其上應(yīng)用軟件開發(fā)目標(biāo): \x0d\x0a(1) 掌握主流嵌入式微處理器的結(jié)構(gòu)與原理(初步定為arm9) \x0d\x0a(2) 必須掌握一個(gè)嵌入式操作系統(tǒng) (初步定為uclinux或linux,版本待定) \x0d\x0a(3) 必須熟悉嵌入式軟件開發(fā)流程并至少做一個(gè)嵌入式軟件項(xiàng)目。 \x0d\x0a從事嵌入式軟件開發(fā)的好處是: \x0d\x0a(1)目前國內(nèi)外這方面的人都很稀缺。這一領(lǐng)域入門門檻較高,所以非專業(yè)IT人員很難切入這一領(lǐng)域;另一方面,是因?yàn)檫@一領(lǐng)域較新,目前發(fā)展太快,大多數(shù)人無條件接觸。 \x0d\x0a(2)與企業(yè)計(jì)算等應(yīng)用軟件不同,嵌入式領(lǐng)域人才的工作強(qiáng)度通常低一些(但收入不低)。 \x0d\x0a(3)哪天若想創(chuàng)業(yè),搞自已的產(chǎn)品,嵌入式不像應(yīng)用軟件那樣容易被盜版。硬件設(shè)計(jì)一般都是請其它公司給訂做(這叫“貼牌”:OEM),都是通用的硬件,我們只管設(shè)計(jì)軟件就變成自己的產(chǎn)品了。 \x0d\x0a(4)興趣所在,這是最主要的。 \x0d\x0a從事嵌入式軟件開發(fā)的缺點(diǎn)是: \x0d\x0a(1)入門起點(diǎn)較高,所用到的技術(shù)往往都有一定難度,若軟硬件基礎(chǔ)不好,特別是操作系統(tǒng)級(jí)軟件功底不深,則可能不適于此行。 \x0d\x0a(2)這方面的企業(yè)數(shù)量要遠(yuǎn)少于企業(yè)計(jì)算類企業(yè)。 \x0d\x0a(3)有少數(shù)公司經(jīng)常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數(shù)公司也并無此要求,只要有經(jīng)驗(yàn)即可。 \x0d\x0a(4)平臺(tái)依托強(qiáng),換平臺(tái)比較辛苦。 \x0d\x0a興趣的由來: \x0d\x0a1、成功觀念不同,不虛度此生,就是我的成功。 \x0d\x0a2、喜歡思考,挑戰(zhàn)邏輯思維。 \x0d\x0a3、喜歡C \x0d\x0aC是一種能發(fā)揮思維極限的語言。關(guān)于C的精神的一些方面可以被概述成短句如下: \x0d\x0a相信程序員。 \x0d\x0a不要阻止程序員做那些需要去做的。 \x0d\x0a保持語言短小精干。 \x0d\x0a一種方法做一個(gè)操作。 \x0d\x0a使得它運(yùn)行的夠快,盡管它并不能保證將是可移植的。 \x0d\x0a4、喜歡底層開發(fā),討厭vb類開發(fā)工具(并不是說vb不好)。 \x0d\x0a5、發(fā)展前景好,適合創(chuàng)業(yè),不想自己要死了的時(shí)候還是一個(gè)工程師。 \x0d\x0a方法步驟: \x0d\x0a1、基礎(chǔ)知識(shí): \x0d\x0a目的:能看懂硬件工作原理,但重點(diǎn)在嵌入式軟件,特別是操作系統(tǒng)級(jí)軟件,那將是我的優(yōu)勢。 \x0d\x0a科目:數(shù)字電路、計(jì)算機(jī)組成原理、嵌入式微處理器結(jié)構(gòu)。 \x0d\x0a匯編語言、C/C++、編譯原理、離散數(shù)學(xué)。 \x0d\x0a數(shù)據(jù)結(jié)構(gòu)和算法、操作系統(tǒng)、軟件工程、網(wǎng)絡(luò)、數(shù)據(jù)庫。 \x0d\x0a方法:雖科目眾多,但都是較簡單的基礎(chǔ),且大部分已掌握。不一定全學(xué),可根據(jù)需要選修。 \x0d\x0a主攻書籍:the c++ language(一直沒時(shí)間讀)、數(shù)據(jù)結(jié)構(gòu)-C2。 \x0d\x0a\x0d\x0a2、學(xué)習(xí)linux: \x0d\x0a目的:深入掌握linux系統(tǒng)。 \x0d\x0a 方法:使用linux—〉linxu系統(tǒng)編程開發(fā)—〉驅(qū)動(dòng)開發(fā)和分析linux內(nèi)核。先看深,那主講原理。看幾遍后,看情景分析,對(duì)照深看,兩本交叉,深是綱,情是目。剖析則是0.11版,適合學(xué)習(xí)。最后深入代碼。 \x0d\x0a主攻書籍:linux內(nèi)核完全剖析、unix環(huán)境高級(jí)編程、深入理解linux內(nèi)核、情景分析和源代。 \x0d\x0a3、學(xué)習(xí)嵌入式linux: \x0d\x0a目的:掌握嵌入式處理器其及系統(tǒng)。 \x0d\x0a方法:(1)嵌入式微處理器結(jié)構(gòu)與應(yīng)用:直接arm原理及匯編即可,不要重復(fù)x86。 \x0d\x0a (2)嵌入式操作系統(tǒng)類:ucOS/II簡單,開源,可供入門。而后深入研究uClinux。 \x0d\x0a (3)必須有塊開發(fā)板(arm9以上),有條件可參加培訓(xùn)(進(jìn)步快,能認(rèn)識(shí)些朋友)。 \x0d\x0a 主攻書籍:毛德操的《嵌入式系統(tǒng)》及其他arm9手冊與arm匯編指令等。 \x0d\x0a\x0d\x0a4、深入學(xué)習(xí): \x0d\x0a A、數(shù)字圖像壓縮技術(shù):主要是應(yīng)掌握MPEG、mp3等編解碼算法和技術(shù)。 \x0d\x0a B、通信協(xié)議及編程技術(shù):TCP/IP協(xié)議、802.11,Bluetooth,GPRS、GSM、CDMA等。 \x0d\x0a\x0d\x0a2010-8-21 16:46 回復(fù) \x0d\x0a122.90.173.* 2樓\x0d\x0a\x0d\x0a C、網(wǎng)絡(luò)與信息安全技術(shù):如加密技術(shù),數(shù)字證書CA等。 \x0d\x0a D、DSP技術(shù):Digital Signal Process,DSP處理器通過硬件實(shí)現(xiàn)數(shù)字信號(hào)處理算法。 \x0d\x0a 說明:太多細(xì)節(jié)未說明,可根據(jù)實(shí)際情況調(diào)整。重點(diǎn)在于1、3,不必完全按照順序作。對(duì)于學(xué)習(xí)c++,理由是c++不只是一種語言,一種工具,她還是一種藝術(shù),一種文化,一種哲學(xué)理念、但不是拿來炫耀得東西。對(duì)于linux內(nèi)核,學(xué)習(xí)編程,讀一些優(yōu)秀代碼也是有必要的。 \x0d\x0a 注意: 要學(xué)會(huì)舉一反多,有強(qiáng)大的基礎(chǔ),很多東西簡單看看就能會(huì)。想成為合格的程序員,前提是必須熟練至少一種編程語言,并具有良好的邏輯思維。一定要理論結(jié)合實(shí)踐。 \x0d\x0a 不要一味鉆研技術(shù),雖然擠出時(shí)間是很難做到的,但還是要留點(diǎn)余地去完善其他的愛好,比如宇宙,素描、機(jī)械、管理,心理學(xué)、游戲、科幻電影。還有一些不愿意做但必須要做的! \x0d\x0a 技術(shù)是通過編程編程在編程編出來的。永遠(yuǎn)不要夢想一步登天,不要做浮躁的人,不要覺得路途漫上。而是要編程編程在編程,完了在編程,在編程!等機(jī)會(huì)來了在創(chuàng)業(yè)(不要相信有奇跡發(fā)生,盲目創(chuàng)業(yè)很難成功,即便成功了發(fā)展空間也不一定很大)。 \x0d\x0a\x0d\x0a 嵌入式書籍推薦 \x0d\x0a Linux基礎(chǔ) \x0d\x0a 1、《Linux與Unix Shell 編程指南》 \x0d\x0a C語言基礎(chǔ) \x0d\x0a 1、《C Primer Plus,5th Edition》【美】Stephen Prata著 \x0d\x0a 2、《The C Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)著 \x0d\x0a 3、《Advanced in the UNIX ,2nd Edition》(APUE) \x0d\x0a 4、《嵌入式Linux應(yīng)用程序開發(fā)詳解》 \x0d\x0a Linux內(nèi)核 \x0d\x0a 1、《深入理解Linux內(nèi)核》(第三版) \x0d\x0a 2、《Linux內(nèi)核源代碼情景分析》毛德操 胡希明著 \x0d\x0a 研發(fā)方向 \x0d\x0a 1、《UNIX Network 》(UNP) \x0d\x0a 2、《TCP/IP詳解》 \x0d\x0a 3、《Linux內(nèi)核編程》 \x0d\x0a 4、《Linux設(shè)備驅(qū)動(dòng)開發(fā)》(LDD) \x0d\x0a 5、《Linux高級(jí)程序設(shè)計(jì)》 楊宗德著\x0d\x0a 硬件基礎(chǔ) \x0d\x0a 1、《ARM體系結(jié)構(gòu)與編程》杜春雷著 \x0d\x0a 2、S3C2410 Datasheet \x0d\x0a 英語基礎(chǔ) \x0d\x0a 1、《計(jì)算機(jī)與通信專業(yè)英語》 \x0d\x0a 系統(tǒng)教程 \x0d\x0a 1、《嵌入式系統(tǒng)——體系結(jié)構(gòu)、編程與設(shè)計(jì)》 \x0d\x0a 2、《嵌入式系統(tǒng)——采用公開源代碼和StrongARM/Xscale處理器》毛德操 胡希明著 \x0d\x0a 3、《Building Embedded Linux Systems》 \x0d\x0a 4、《嵌入式ARM系統(tǒng)原理與實(shí)例開發(fā)》 楊宗德著\x0d\x0a 理論基礎(chǔ) \x0d\x0a 1、《算法導(dǎo)論》 \x0d\x0a 2、《數(shù)據(jù)結(jié)構(gòu)(C語言版)》 \x0d\x0a 3、《計(jì)算機(jī)組織與體系結(jié)構(gòu)?性能分析》 \x0d\x0a 4、《深入理解計(jì)算機(jī)系統(tǒng)》【美】Randal E. Bryant David O''Hallaron著 \x0d\x0a 5、《操作系統(tǒng):精髓與設(shè)計(jì)原理》 \x0d\x0a 6、《編譯原理》 \x0d\x0a 7、《數(shù)據(jù)通信與計(jì)算機(jī)網(wǎng)絡(luò)》 \x0d\x0a 8、《數(shù)據(jù)壓縮原理與應(yīng)用》 \x0d\x0a\x0d\x0a C語言書籍推薦 \x0d\x0a 1. The C language 《C程序設(shè)計(jì)語言》 \x0d\x0a 2. Pointers on C 《C和指針》 \x0d\x0a 3. C traps and pitfalls 《C陷阱與缺陷》 \x0d\x0a 4. Expert C Lanuage 《專家C編程》 \x0d\x0a 5. Writing Clean Code -----Microsoft for Bug-free C Programs \x0d\x0a 《編程精粹--Microsoft 編寫優(yōu)質(zhì)無錯(cuò)C程序秘訣》 \x0d\x0a 6. Embedded Systems in C and C++ 《嵌入式系統(tǒng)編程》 \x0d\x0a 7.《C語言嵌入式系統(tǒng)編程修煉》 \x0d\x0a 8.《高質(zhì)量C++/C編程指南》林銳 \x0d\x0a 盡可能多的編碼,要學(xué)好C,不能只注重C本身。算法,架構(gòu)方式等都很重要。 \x0d\x0a\x0d\x0a這里很多書其實(shí)是推薦而已,不必太在意,關(guān)鍵還是基礎(chǔ),才是重中之重?。?!
嵌入式驅(qū)動(dòng)開發(fā)需要學(xué)什么
嵌入式驅(qū)動(dòng)開發(fā)需要學(xué)以下:
一:C語言
嵌入式Linux工程師的學(xué)習(xí)需要具備一定的C語言基礎(chǔ),C語言是嵌入式領(lǐng)域最重要也是最主要的編程語言,通過大量編程實(shí)例重點(diǎn)理解C語言的基礎(chǔ)編程以及高級(jí)編程知識(shí)。包括:基本數(shù)據(jù)類型、數(shù)組、指針、結(jié)構(gòu)體、鏈表、文件操作、隊(duì)列、棧等。
二:Linux基礎(chǔ)
Linux操作系統(tǒng)的概念、安裝方法,詳細(xì)了解Linux下的目錄結(jié)構(gòu)、基本命令、編輯器VI ,編譯器GCC,調(diào)試器GDB和 Make 項(xiàng)目管理工具, Shell Makefile腳本編寫等知識(shí),嵌入式開發(fā)環(huán)境的搭建。
三:Linux系統(tǒng)編程
重點(diǎn)學(xué)習(xí)標(biāo)準(zhǔn)I/O庫,Linux多任務(wù)編程中的多進(jìn)程和多線程,以及進(jìn)程間通信(pipe、FIFO、消息隊(duì)列、共享內(nèi)存、signal、信號(hào)量等),同步與互斥對(duì)共享資源訪問控制等重要知識(shí),主要提升對(duì)Linux應(yīng)用開發(fā)的理解和代碼調(diào)試的能力。
四:Linux網(wǎng)絡(luò)編程
計(jì)算機(jī)網(wǎng)絡(luò)在嵌入式Linux系統(tǒng)應(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ā)。
重點(diǎn)學(xué)習(xí)網(wǎng)絡(luò)編程相關(guān)API,熟練掌握TCP協(xié)議服務(wù)器的編程方法和并發(fā)服務(wù)器的實(shí)現(xiàn),了解HTTP協(xié)議及其實(shí)現(xiàn)方法,熟悉UDP廣播、多播的原理及編程方法,掌握混合C/S架構(gòu)網(wǎng)絡(luò)通信系統(tǒng)的設(shè)計(jì),熟悉HTML,等Web編程技術(shù)及實(shí)現(xiàn)方法。
五:數(shù)據(jù)結(jié)構(gòu)與算法
數(shù)據(jù)結(jié)構(gòu)及算法在嵌入式底層驅(qū)動(dòng)、通信協(xié)議、及各種引擎開發(fā)中會(huì)得到大量應(yīng)用,對(duì)其掌握的好壞直接影響程序的效率、簡潔及健壯性。
此階段的學(xué)習(xí)要重點(diǎn)理解數(shù)據(jù)結(jié)構(gòu)與算法的基礎(chǔ)內(nèi)容,包括順序表、鏈表、隊(duì)列、棧、樹、圖、哈希表、各種查找排序算法等應(yīng)用及其C語言實(shí)現(xiàn)過程。
六:C++ 、QT
C++是Linux應(yīng)用開發(fā)主要語言之一,本階段重點(diǎn)掌握面向?qū)ο缶幊痰幕舅枷胍约癈++的重要內(nèi)容。圖形界面編程是嵌入式開發(fā)中非常重要的一個(gè)環(huán)節(jié)。
由于QT具有跨平臺(tái)、面向?qū)ο?、豐富API、支持2D/3D渲染、支持XML、多國語等強(qiáng)大功能,在嵌入式領(lǐng)域的GUI開發(fā)中得到了廣范的應(yīng)用,在本階段通過基于QT圖形庫的學(xué)習(xí)使學(xué)員可以熟練編寫GUI程序,并移植QT應(yīng)用程序到Cortex-A8平臺(tái)。
包括IDE使用、QT部件及布局管理器、信息與槽機(jī)制的應(yīng)用、鼠標(biāo)、鍵盤及繪圖事件處理及文件處理的應(yīng)用。
嵌入式開發(fā)要學(xué)什么?學(xué)習(xí)嵌入式開發(fā)要學(xué)哪些?
入門嵌入式工程師
此階段主要是前期的入門過程,主要針對(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ǔ)。
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ì)其掌握的好壞直接影響程序的效率、簡潔及健壯性。
3.QT、DSP、FPGA
Linux沒有自己界面,學(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í)過程如同一場漫長的修行,在這個(gè)過程中,必定有各種各樣的困難。當(dāng)然了,嵌入式工作中更多的需要實(shí)踐以及經(jīng)驗(yàn)的積累,相信守得云開見月明,你也可成為一名優(yōu)秀的嵌入式工程師。需要嵌入式培訓(xùn),可以來到華清的星創(chuàng)客精英訓(xùn)練營,專門培訓(xùn)中高端嵌入式工程師。
嵌入式開發(fā)要學(xué)什么?
學(xué)習(xí)嵌入式的就業(yè)前景廣泛,你的職業(yè)發(fā)展方向有很多,可以說只要跟電子控制相關(guān)的工作,你都可以參與,當(dāng)然嵌入式這個(gè)行業(yè)也非常利于個(gè)人創(chuàng)業(yè),這也是為什么越來越多的人參加嵌入式學(xué)習(xí)的原因,嵌入式可以看朱有鵬的視頻,好多同學(xué)都說學(xué)到了很多,究竟嵌入式開發(fā)要學(xué)什么?
相信這個(gè)問題一直是困擾很多嵌入式初學(xué)者的難題,接下來就簡單說一下學(xué)習(xí)嵌入式需要學(xué)習(xí)的內(nèi)容:C語言;C++;操作系統(tǒng);計(jì)算機(jī)組成原理:linux編程;arm;硬件編程語言(FPGA);模擬電路&數(shù)字電路。
1.C/C++語言,可以說這是計(jì)算機(jī)行業(yè)的一門必修課,所以要扎扎實(shí)實(shí)掌握好。
2.操作系統(tǒng),要學(xué)習(xí)一下操作系統(tǒng)的基本原理,熟悉Linux環(huán)境下的開發(fā)環(huán)境,然后你就照著相關(guān)的資料寫一個(gè)操作系統(tǒng)試試看。
3.計(jì)算機(jī)組成原理,要能夠熟悉計(jì)算機(jī)的基本原理,看看你一個(gè)計(jì)算機(jī)的基本組成以及軟件實(shí)質(zhì)是如何來跑的。
4.可以選擇一些書籍來作為參考,信盈達(dá)有很多自己編寫出版的專業(yè)書籍,初學(xué)嵌入式的朋友可以作為參考。
5.arm,可以說是當(dāng)下很流行的微機(jī),自己可以想辦法移植一個(gè)操作系統(tǒng)上去。
6.硬件編程語言,芯片到底是怎么做成的呢,學(xué)習(xí)完這門課程,你就很清楚了。
7.模擬電路&數(shù)字電路,硬件的基礎(chǔ),如果可以的話,學(xué)習(xí)下,自己做個(gè)硬件pcb板試試。
嵌入式開發(fā)要學(xué)的內(nèi)容就簡單介紹以上這些內(nèi)容了,這幾點(diǎn)可能不太全面,但對(duì)于基礎(chǔ)入門學(xué)習(xí)者會(huì)有幫助。