單片(pian)機(ji)嵌入式培(pei)訓學習(xi)路線
時間:2020-05-19 來(lai)源:未(wei)知
最近幾年嵌入式是挺火的,很多人都在問嵌入式要怎么學,好多地方都有嵌入式培訓機構,說到嵌入式,那么就不得不來說下單片機了,下面一起來看看單片機嵌入式培訓路線吧。
單片機嵌入式培訓建議學習路線:

1、學習51單片機,這個階段你只需要跟著郭天翔的視頻去學,只要求實現功能,不求甚解。但建議能夠提出問題,比如“為什么往IO控制寄存器寫入特定值能點亮LED燈?”“IO口的電路結構是什么樣子的?”“什么是上拉下啦,灌電流拉電流?”,這一階段主要是熟悉單片機的使用,并且在使用中思考發現問題,還能熟悉一些基本概念。
2、開始(shi)查(cha)資料(liao)看書,看模擬電路數(shu)字電路等(deng)等(deng),開始(shi)去弄明(ming)白(bai)1中所(suo)提出的(de)問題。這時(shi)候問題主要(yao)集中在電路方(fang)面(mian)。
3、開(kai)始(shi)學習STM32,隨(sui)便買個(ge)(ge)板子,看原子的(de)(de)書(shu)跟著一步步去做。這(zhe)時(shi)候(hou)你(ni)會遇到很(hen)多計算(suan)機方(fang)面的(de)(de)問題(ti),這(zhe)時(shi)候(hou)一邊學習教(jiao)程,一邊學習:微機原理,編譯(yi)原理,操作系統。你(ni)要弄清(qing)楚ARM架構,弄明白(bai)CPU如(ru)何(he)取指,譯(yi)碼,執行,知(zhi)道地址總(zong)線(xian)(xian),控制總(zong)線(xian)(xian),數據總(zong)線(xian)(xian)如(ru)何(he)工(gong)作。要弄明白(bai)你(ni)編譯(yi)各(ge)個(ge)(ge)階段(duan)產生的(de)(de)各(ge)個(ge)(ge)文件是(shi)(shi)什么(me),什么(me)是(shi)(shi)分(fen)散加載,什么(me)是(shi)(shi)重定位(wei),什么(me)是(shi)(shi)代碼段(duan),什么(me)是(shi)(shi)數據段(duan),等等。還要能弄明白(bai)CPU如(ru)何(he)啟動,程序鏡(jing)像在內存中如(ru)何(he)布局。要知(zhi)道中斷的(de)(de)原理,以(yi)(yi)及現場保護等等。最后(hou)你(ni)了解了各(ge)個(ge)(ge)知(zhi)識點之后(hou),轉向GCC開(kai)發(fa)STM32,這(zhe)時(shi)候(hou)你(ni)如(ru)果知(zhi)識掌(zhang)握得不(bu)錯(cuo),你(ni)應該可以(yi)(yi)很(hen)快地學會編寫(xie)鏈(lian)接器腳本并(bing)且(qie)明白(bai)每一條語句(ju)所代表(biao)的(de)(de)含義(yi)。
4、開始增強C語言,深入挖掘C語言的(de)(de)(de)各個(ge)死角(jiao)。最(zui)(zui)好(hao)(hao)可(ke)(ke)以(yi)做到當你(ni)寫下(xia)一(yi)(yi)(yi)條語句的(de)(de)(de)時候知道編(bian)譯(yi)器(qi)會(hui)如(ru)何處理。還需要數據(ju)結構和軟件(jian)工程,建(jian)議最(zui)(zui)好(hao)(hao)還要學習(xi)一(yi)(yi)(yi)下(xia)設(she)計模(mo)式。開始學習(xi)養成良好(hao)(hao)的(de)(de)(de)代碼風格(ge),開始思考代碼的(de)(de)(de)結構。可(ke)(ke)以(yi)說設(she)計模(mo)式如(ru)果能學好(hao)(hao),在(zai)往后學習(xi)LINUX內核時大有(you)(you)裨益。你(ni)會(hui)發(fa)現LINUX的(de)(de)(de)輸入子(zi)系(xi)統(tong)有(you)(you)點(dian)像職責鏈模(mo)式,會(hui)發(fa)現ASOC音頻系(xi)統(tong)有(you)(you)點(dian)像模(mo)板方(fang)法(fa)模(mo)式。私(si)以(yi)為(wei),如(ru)果能在(zai)兩個(ge)以(yi)上不同方(fang)面(mian)考察同一(yi)(yi)(yi)種編(bian)程思想,你(ni)會(hui)得到更(geng)加(jia)深刻的(de)(de)(de)理解,更(geng)能領會(hui)其精華。
5、認真研(yan)讀OS方面的(de)(de)書,各個知識點都(dou)要弄明白,進程(cheng)(cheng)是(shi)(shi)什么(me)(me)(me)程(cheng)(cheng)序是(shi)(shi)什么(me)(me)(me)線程(cheng)(cheng)是(shi)(shi)什么(me)(me)(me),競爭(zheng)死鎖優先級反轉,虛擬地址空(kong)間(jian)物理(li)地址空(kong)間(jian),用戶空(kong)間(jian)內核空(kong)間(jian)等(deng)等(deng)。開始學(xue)習ucos,這個沒(mei)(mei)什么(me)(me)(me)可說的(de)(de),如果(guo)在(zai)2中(zhong)能熟(shu)練掌握(wo)各種知識點,知道CPU如何(he)中(zhong)斷如何(he)保護恢復(fu)現(xian)場,那(nei)么(me)(me)(me)讀ucos的(de)(de)源碼(ma)(ma)時候,在(zai)原理(li)上就(jiu)不(bu)會有(you)什么(me)(me)(me)疑惑(huo)。如果(guo)能在(zai)4中(zhong)養成(cheng)把握(wo)代碼(ma)(ma)整體結構的(de)(de)能力并且(qie)學(xue)習好數(shu)據結構和基本的(de)(de)算法(fa),讀源碼(ma)(ma)就(jiu)沒(mei)(mei)有(you)什么(me)(me)(me)障礙(ai)。一旦原理(li)弄通了(le),源碼(ma)(ma)也能讀懂,那(nei)么(me)(me)(me)吃(chi)透ucos就(jiu)是(shi)(shi)順理(li)成(cheng)章(zhang)的(de)(de)事情。
6、自己仿照(zhao)ucos寫一個stm32上的實時os出來。
7、進軍(jun)LINUX。學(xue)習LINUX的(de)(de)基本(ben)使用,看(kan)趙炯(jiong)那本(ben)內核(he)(he)(he)剖析,啃LINUX內核(he)(he)(he)設計與(yu)實現,把握總(zong)體的(de)(de)內核(he)(he)(he)架構。之(zhi)后(hou)可以學(xue)習驅(qu)動(dong),看(kan)建(jian)議陳(chen)學(xue)松老(lao)師(shi)的(de)(de)書(shu),弄明白(bai)基本(ben)的(de)(de)驅(qu)動(dong)架構和如何(he)編寫(xie)簡單的(de)(de)驅(qu)動(dong),認真對待,這里(li)強調(diao)一(yi)(yi)下設備驅(qu)動(dong)模(mo)型。最后(hou)啃LINUX內核(he)(he)(he)源(yuan)碼情景分析,上(shang)下兩冊用心(xin)讀,這里(li)著(zhu)重強調(diao)一(yi)(yi)下內核(he)(he)(he)中的(de)(de)VFS部(bu)分。之(zhi)后(hou)就是看(kan)宋寶華老(lao)師(shi)的(de)(de)書(shu),進一(yi)(yi)步學(xue)習驅(qu)動(dong)開發。最后(hou)看(kan)內核(he)(he)(he)源(yuan)碼。
8、其(qi)它的什么SPI,IIC,什么DMA,都只是(shi)技能問題,只要(yao)知(zhi)識學的好,技能想咋(za)點(dian)就咋(za)點(dian)。
以上介紹的就是單片機嵌入式培訓學習路線了,想要學好嵌入式,那么單片機這關你是一定要過的,要不說嵌入式難度大呢,有些人還真不信嵌入式難,等你自己真的入手之后你就知道小編說的是不是真的了。