嵌入式所涵蓋的行業(yè)很多,后期會(huì)根據(jù)工作,只會(huì)專注一個(gè)方向,從宏觀上會(huì)為分嵌入式軟件開發(fā)和嵌入式硬件開發(fā),軟件開發(fā)主要是基于系統(tǒng)(linux,vxworks,wince等等)之上的應(yīng)用軟件開發(fā),硬件開發(fā)有主板設(shè)計(jì),系統(tǒng)移植剪裁底層驅(qū)動(dòng)的編寫等
我個(gè)人經(jīng)歷是從單片機(jī)開始的,先是c與c++,數(shù)電模電,電力電子,電路設(shè)計(jì),單片機(jī)原理,freertos,數(shù)據(jù)結(jié)構(gòu),計(jì)算機(jī)操作系統(tǒng),后因工作的需求我又把大學(xué)自動(dòng)控制理論,信號(hào)與系統(tǒng),復(fù)變函數(shù),線性代數(shù),微積分,統(tǒng)計(jì)學(xué),編譯器原理重新學(xué)了一遍,這些都是基礎(chǔ),一定要學(xué)懂學(xué)透徹,這會(huì)給后期的研發(fā)工作帶來幫助,還要多畫板,打板,多實(shí)操,光學(xué)不練效率很低,知識(shí)有重復(fù)性的,只有反反復(fù)復(fù)看和使用才能明白,可以買一些開發(fā)板輔助學(xué)習(xí),現(xiàn)在網(wǎng)絡(luò)發(fā)達(dá),網(wǎng)絡(luò)資源提高自己的學(xué)習(xí)效率。
嵌入式開發(fā)就是指在嵌入式操作系統(tǒng)下進(jìn)行開發(fā),一般常用的系統(tǒng)有wince,ucos,vxworks,linux,android等。另外,用c,c++或匯編開發(fā);用高級(jí)處理器,arm7,arm9,arm11,powerpc,mips,mipsel等,或加上操作系統(tǒng)也屬于嵌入式的開發(fā)。
1、基礎(chǔ)知識(shí):
目的:能看懂硬件工作原理,但重點(diǎn)在嵌入式軟件,特別是操作系統(tǒng)級(jí)軟件,那將是我的優(yōu)勢(shì)。
科目:數(shù)字電路、計(jì)算機(jī)組成原理、嵌入式微處理器結(jié)構(gòu)。
匯編語言、c/c++、編譯原理、離散數(shù)學(xué)。
數(shù)據(jù)結(jié)構(gòu)和算法、操作系統(tǒng)、軟件工程、網(wǎng)絡(luò)、數(shù)據(jù)庫。
方法:雖科目眾多,但都是較簡單的基礎(chǔ),且大部分已掌握。不一定全學(xué),可根據(jù)需要選修。
主攻書籍:the c++ programming language(一直沒時(shí)間讀)、數(shù)據(jù)結(jié)構(gòu)-c2。
2、學(xué)習(xí)linux:
目的:深入掌握linux系統(tǒng)。
方法:使用linux—〉linxu系統(tǒng)編程開發(fā)—〉驅(qū)動(dòng)開發(fā)和分析linux內(nèi)核。先看深,那主講原理。看幾遍后,看情景分析,對(duì)照深看,兩本交叉,深是綱,情是目。剖析則是0.11版,適合學(xué)習(xí)。最后深入代碼。
主攻書籍:linux內(nèi)核完全剖析、unix環(huán)境高級(jí)編程、深入理解linux內(nèi)核、情景分析和源代。
3、學(xué)習(xí)嵌入式linux:
目的:掌握嵌入式處理器其及系統(tǒng)。
方法:(1)嵌入式微處理器結(jié)構(gòu)與應(yīng)用:直接arm原理及匯編即可,不要重復(fù)x86。
(2)嵌入式操作系統(tǒng)類:ucos/ii簡單,開源,可供入門。而后深入研究uclinux。
(3)必須有塊開發(fā)板(arm9以上),有條件可參加培訓(xùn)(進(jìn)步快,能認(rèn)識(shí)些朋友)。
主攻書籍:毛德操的《嵌入式系統(tǒng)》及其他arm9手冊(cè)與arm匯編指令等。