嵌入式學(xué)習(xí)步驟及方法(精典)
門檻雖然較高,但也跟其他事物一樣,并不是牢不可破。只要我們用心去對(duì)待,冬雪終將化去,春風(fēng)定會(huì)吹來(lái)。具體步驟如下:
1、《C語(yǔ)言》第二版 譚浩強(qiáng); 《C程序設(shè)計(jì)語(yǔ)言》第二版 徐寶文譯 機(jī)械工業(yè)出版社
你能區(qū)分開(kāi)指針數(shù)組和數(shù)組指針嗎?你知道函數(shù)指針嗎?
你能區(qū)分開(kāi)定義一個(gè)變量時(shí)系統(tǒng)給它分配的空間與用malloc()函數(shù)給一個(gè)變量分配的空間有什么不一樣嗎?
2、《數(shù)據(jù)結(jié)構(gòu)》C語(yǔ)言版 黃國(guó)愉、葉乃青編 清華大學(xué)出版社
你能合上書(shū)本,用C語(yǔ)言實(shí)現(xiàn)書(shū)中的單鏈表、雙鏈表數(shù)據(jù)結(jié)構(gòu)嗎?
3、《實(shí)用C++程序設(shè)計(jì)》第二板 中國(guó)電力出版社 Steve_Oualline著
此階段主要是學(xué)習(xí)其面向?qū)ο蟮木幊趟枷?,加深?duì)C語(yǔ)言和數(shù)據(jù)結(jié)構(gòu)的理解。
4、學(xué)習(xí)單片機(jī),最好能找個(gè)前輩帶一帶。
你能用51單片機(jī)做出一樣實(shí)際的東西嗎?即使它再簡(jiǎn)單!
要注意加深對(duì)中斷的理解。
5、學(xué)習(xí)ARM單片機(jī)。
(1)、細(xì)讀《ARM微控制器基礎(chǔ)與實(shí)戰(zhàn)》周立工編寫(注:即使你不用書(shū)中的開(kāi)發(fā)板)
(2)、細(xì)讀相關(guān)芯片的原版英文文檔。如:arm920TE.pdf S3C2410_1.2.pdf
6、學(xué)習(xí)uCOS!!操作系統(tǒng)。
(1)、細(xì)讀《實(shí)時(shí)操作系統(tǒng)uC/OS-!!》第二版 召貝貝譯
你能把uCOS!!移植到自己的平臺(tái)上嗎?
(2)、能編寫在uCOS!!操作系統(tǒng)環(huán)境下運(yùn)行的針對(duì)具體硬件的驅(qū)動(dòng)程序
7、熟悉Linux環(huán)境,學(xué)習(xí)Linux環(huán)境編程,學(xué)習(xí)交叉編程
(1)、細(xì)讀《linux命令大全.pdf》
(2)、細(xì)讀《GNU Make 使用手冊(cè)(中譯版).pdf》
(3)、學(xué)習(xí)創(chuàng)建交叉編程環(huán)境.
8、學(xué)習(xí)Linux操作系統(tǒng)。
(1)、《UNIX環(huán)境高級(jí)編程》
(2)、細(xì)讀“joyfire 筆記”,可在“”網(wǎng)站的好書(shū)下載欄目獲取
(3)、細(xì)讀《linux內(nèi)核完全注釋》
(4)、細(xì)讀《understanding the linux kernel 2》
(5)、利用源代碼閱讀利器工具"Source Insight"進(jìn)行真正的linux內(nèi)核原碼刨析
(6)、最后進(jìn)行內(nèi)核移植,并能編寫在linux操作系統(tǒng)環(huán)境下運(yùn)行的針對(duì)具體硬件的驅(qū)動(dòng)程序
9、學(xué)習(xí)Linux設(shè)備驅(qū)動(dòng)編寫??蓞⒖肌叮蘨nux設(shè)備驅(qū)動(dòng)程序》
10、復(fù)習(xí)C++,學(xué)習(xí)用QT進(jìn)行圖形界面編程
(1)、細(xì)讀《QT編程寶典》
(2)、學(xué)會(huì)通過(guò)查看QT電子文檔進(jìn)行QT GUI實(shí)地編程
(3)、學(xué)習(xí)交叉編程.(其實(shí)就是把命令qmake變?yōu)閠make)
11、當(dāng)然,你也可學(xué)習(xí)一下PCB的制作和設(shè)計(jì)一個(gè)自己的CPU(即軟殼)
在軟件方面最重要的課程包括: