當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 入門指導(dǎo) > 單片機(jī)嵌入式培訓(xùn)學(xué)習(xí)路線
最近幾年嵌入式是挺火的,很多人都在問嵌入式要怎么學(xué),好多地方都有嵌入式培訓(xùn)機(jī)構(gòu),說到嵌入式,那么就不得不來說下單片機(jī)了,下面一起來看看單片機(jī)嵌入式培訓(xùn)路線吧。
單片機(jī)嵌入式培訓(xùn)建議學(xué)習(xí)路線:
1、學(xué)習(xí)51單片機(jī),這個階段你只需要跟著郭天翔的視頻去學(xué),只要求實(shí)現(xiàn)功能,不求甚解。但建議能夠提出問題,比如“為什么往IO控制寄存器寫入特定值能點(diǎn)亮LED燈?”“IO口的電路結(jié)構(gòu)是什么樣子的?”“什么是上拉下啦,灌電流拉電流?”,這一階段主要是熟悉單片機(jī)的使用,并且在使用中思考發(fā)現(xiàn)問題,還能熟悉一些基本概念。
2、開始查資料看書,看模擬電路數(shù)字電路等等,開始去弄明白1中所提出的問題。這時候問題主要集中在電路方面。
3、開始學(xué)習(xí)STM32,隨便買個板子,看原子的書跟著一步步去做。這時候你會遇到很多計(jì)算機(jī)方面的問題,這時候一邊學(xué)習(xí)教程,一邊學(xué)習(xí):微機(jī)原理,編譯原理,操作系統(tǒng)。你要弄清楚ARM架構(gòu),弄明白CPU如何取指,譯碼,執(zhí)行,知道地址總線,控制總線,數(shù)據(jù)總線如何工作。要弄明白你編譯各個階段產(chǎn)生的各個文件是什么,什么是分散加載,什么是重定位,什么是代碼段,什么是數(shù)據(jù)段,等等。還要能弄明白CPU如何啟動,程序鏡像在內(nèi)存中如何布局。要知道中斷的原理,以及現(xiàn)場保護(hù)等等。最后你了解了各個知識點(diǎn)之后,轉(zhuǎn)向GCC開發(fā)STM32,這時候你如果知識掌握得不錯,你應(yīng)該可以很快地學(xué)會編寫鏈接器腳本并且明白每一條語句所代表的含義。
4、開始增強(qiáng)C語言,深入挖掘C語言的各個死角。最好可以做到當(dāng)你寫下一條語句的時候知道編譯器會如何處理。還需要數(shù)據(jù)結(jié)構(gòu)和軟件工程,建議最好還要學(xué)習(xí)一下設(shè)計(jì)模式。開始學(xué)習(xí)養(yǎng)成良好的代碼風(fēng)格,開始思考代碼的結(jié)構(gòu)。可以說設(shè)計(jì)模式如果能學(xué)好,在往后學(xué)習(xí)LINUX內(nèi)核時大有裨益。你會發(fā)現(xiàn)LINUX的輸入子系統(tǒng)有點(diǎn)像職責(zé)鏈模式,會發(fā)現(xiàn)ASOC音頻系統(tǒng)有點(diǎn)像模板方法模式。私以為,如果能在兩個以上不同方面考察同一種編程思想,你會得到更加深刻的理解,更能領(lǐng)會其精華。
5、認(rèn)真研讀OS方面的書,各個知識點(diǎn)都要弄明白,進(jìn)程是什么程序是什么線程是什么,競爭死鎖優(yōu)先級反轉(zhuǎn),虛擬地址空間物理地址空間,用戶空間內(nèi)核空間等等。開始學(xué)習(xí)ucos,這個沒什么可說的,如果在2中能熟練掌握各種知識點(diǎn),知道CPU如何中斷如何保護(hù)恢復(fù)現(xiàn)場,那么讀ucos的源碼時候,在原理上就不會有什么疑惑。如果能在4中養(yǎng)成把握代碼整體結(jié)構(gòu)的能力并且學(xué)習(xí)好數(shù)據(jù)結(jié)構(gòu)和基本的算法,讀源碼就沒有什么障礙。一旦原理弄通了,源碼也能讀懂,那么吃透ucos就是順理成章的事情。
6、自己仿照ucos寫一個stm32上的實(shí)時os出來。
7、進(jìn)軍LINUX。學(xué)習(xí)LINUX的基本使用,看趙炯那本內(nèi)核剖析,啃LINUX內(nèi)核設(shè)計(jì)與實(shí)現(xiàn),把握總體的內(nèi)核架構(gòu)。之后可以學(xué)習(xí)驅(qū)動,看建議陳學(xué)松老師的書,弄明白基本的驅(qū)動架構(gòu)和如何編寫簡單的驅(qū)動,認(rèn)真對待,這里強(qiáng)調(diào)一下設(shè)備驅(qū)動模型。最后啃LINUX內(nèi)核源碼情景分析,上下兩冊用心讀,這里著重強(qiáng)調(diào)一下內(nèi)核中的VFS部分。之后就是看宋寶華老師的書,進(jìn)一步學(xué)習(xí)驅(qū)動開發(fā)。最后看內(nèi)核源碼。
8、其它的什么SPI,IIC,什么DMA,都只是技能問題,只要知識學(xué)的好,技能想咋點(diǎn)就咋點(diǎn)。
以上介紹的就是單片機(jī)嵌入式培訓(xùn)學(xué)習(xí)路線了,想要學(xué)好嵌入式,那么單片機(jī)這關(guān)你是一定要過的,要不說嵌入式難度大呢,有些人還真不信嵌入式難,等你自己真的入手之后你就知道小編說的是不是真的了。