嵌(qian)入式(shi)入門老鳥(niao)談曾經(jing) 僅供(gong)菜鳥(niao)參考
時間:2015-12-29 來(lai)源(yuan):未知
我是(shi)眾多嵌入(ru)式工程師當中的(de)一(yi)員,今天只不過是(shi)想要(yao)講述當初嵌入(ru)式學習過程和(he)相關的(de)心得體會,希望對新手有(you)一(yi)定的(de)幫助(zhu),可以幫助(zhu)你更好(hao)地掌握(wo)所學知識和(he)內(nei)容(rong)。
初在(zai)上大一(yi)的(de)(de)時候(hou),就聽(ting)學長說過(guo)單片機很難學,但(dan)由于(yu)(yu)我對這門專業(ye)比較(jiao)感(gan)興趣,在(zai)沒(mei)事的(de)(de)時候(hou)就從圖(tu)書館借了本(ben)(ben)關(guan)于(yu)(yu)嵌(qian)入式入門的(de)(de)書籍,真的(de)(de)是(shi)(shi)剛(gang)開始根本(ben)(ben)就看不(bu)懂,硬著(zhu)(zhu)頭皮(pi)把這本(ben)(ben)書讀完(wan)之后(hou)(hou),卻是(shi)(shi)一(yi)頭霧水;在(zai)隨后(hou)(hou)的(de)(de)大二、大三(san)生活(huo)中(zhong),通過(guo)自(zi)己的(de)(de)努力和課后(hou)(hou)交流,對嵌(qian)入式方面(mian)的(de)(de)知(zhi)識(shi)有了一(yi)定的(de)(de)了解(jie);當然(ran)在(zai)參加工(gong)作(zuo)后(hou)(hou)由于(yu)(yu)所(suo)接觸(chu)的(de)(de)工(gong)作(zuo)需要(yao)(yao)有相關(guan)知(zhi)識(shi)內(nei)(nei)容(rong),自(zi)己就需要(yao)(yao)不(bu)斷充電,于(yu)(yu)是(shi)(shi)在(zai)網(wang)上搜了很多關(guan)于(yu)(yu)嵌(qian)入式學習的(de)(de)東西,但(dan)是(shi)(shi)那么一(yi)大堆的(de)(de)東西和推薦(jian)書籍,著(zhu)(zhu)實把我嚇(xia)了一(yi)跳(tiao),但(dan)在(zai)的(de)(de)指教之下,我很快的(de)(de)掌握(wo)了所(suo)學內(nei)(nei)容(rong),然(ran)而(er)并不(bu)是(shi)(shi)你想的(de)(de)那樣,新手需要(yao)(yao)掌握(wo)所(suo)有的(de)(de)內(nei)(nei)容(rong),從某種程度來(lai)講,當然(ran)是(shi)(shi)越多越好,但(dan)是(shi)(shi)其中(zhong)的(de)(de)內(nei)(nei)容(rong)也(ye)分重(zhong)(zhong)點和非(fei)重(zhong)(zhong)點,對于(yu)(yu)初學者(zhe)來(lai)講沒(mei)必要(yao)(yao)掌握(wo)那么多。
閑話(hua)說(shuo)了那么多(duo),下面就(jiu)看看我給嵌入式初學(xue)者的幾大建議(yi):
1.嵌入式涉及到很多的基礎知識:
c語言,關于C語言要知道基本的語法,什么是結構體,什么是共用體,有什么區別,不用強記一些二級考的東西,因在實際中用的很少。嵌入式真正用到的是指針、函數、數據類型、運算符表達式等等。可參考《嵌入式Linux C語言程序設計基礎教程》。
操(cao)作系(xi)統原(yuan)(yuan)理也應(ying)該知道基(ji)本的(de)(de)(de)原(yuan)(yuan)理的(de)(de)(de),我(wo)記得我(wo)大學(xue)(xue)沒這個課(ke)還是去電(dian)信學(xue)(xue)院蹭別(bie)的(de)(de)(de)專業的(de)(de)(de)課(ke)呢,后來(lai)學(xue)(xue)習發現很(hen)多(duo)的(de)(de)(de)東西都是在這個課(ke)上學(xue)(xue)到(dao)的(de)(de)(de)。
Linux基(ji)本命(ming)令的(de)使用(yong),我(wo)們(men)現在很多(duo)的(de)人(ren)都(dou)習(xi)慣用(yong)鼠標了,很少用(yong)到命(ming)令,我(wo)們(men)學(xue)習(xi)嵌入linux可(ke)要改改這(zhe)個習(xi)慣了,linux用(yong)命(ming)令操作(zuo)一是效率高,二(er)是功能(neng)非常強(qiang)大。
2.學習方法指導,讀書的方式
學習(xi)嵌入(ru)式(shi)應(ying)循(xun)序漸(jian)進,從基礎開始,有人(ren)剛開始就(jiu)看(kan)底層的(de)書籍,這是完全違背邏(luo)輯的(de),你C代(dai)碼都不咋滴。完全不靠譜的(de)。正確的(de)方式(shi)是:基礎-應(ying)用-底層。
看書也(ye)(ye)(ye)有竅門:不(bu)要(yao)希(xi)望一次(ci)就會(hui),一次(ci)就明(ming)白是什么意(yi)思,也(ye)(ye)(ye)不(bu)要(yao)死記硬背,看不(bu)明(ming)白也(ye)(ye)(ye)沒關系,以(yi)后遇(yu)到了知道去哪里去找就可以(yi)了,以(yi)后遇(yu)到的(de)(de)(de)多了,也(ye)(ye)(ye)就記住了,遇(yu)到的(de)(de)(de)少的(de)(de)(de),忘記也(ye)(ye)(ye)就忘記了。還有,不(bu)要(yao)直接閱讀linux內核(he)源代(dai)碼,看一些自己把頭撞破(po)也(ye)(ye)(ye)想不(bu)明(ming)白的(de)(de)(de)事,會(hui)打擊初學(xue)者的(de)(de)(de)積(ji)極性,要(yao)循序(xu)漸進,今天學(xue)個做(zuo)個led,明(ming)天做(zuo)個串口,后天說不(bu)定就做(zuo)硬件編解碼了。
3.一定要有開發板
你可以(yi)不(bu)(bu)接受培(pei)訓,但不(bu)(bu)能不(bu)(bu)買(mai)開(kai)發板(ban),如果你想學習嵌(qian)入式一(yi)定(ding)要(yao)買(mai)塊學習板(ban),現在的(de)(de)開(kai)發板(ban)很便(bian)宜(yi)了(推薦:華清遠見研發中心有(you)眾多(duo)前沿的(de)(de)產品)。給我們初學者減輕了很多(duo)經濟負(fu)擔。看再(zai)多(duo)的(de)(de)視頻,看再(zai)多(duo)的(de)(de)書,也不(bu)(bu)如自己動(dong)手試一(yi)下,看著很簡(jian)單的(de)(de)東西,做(zuo)起來就(jiu)可能遇到(dao)很多(duo)的(de)(de)問(wen)題,遇到(dao)問(wen)題找到(dao)原因,解決問(wen)題,只有(you)這(zhe)樣才能學到(dao)東西。
4.要腳踏實地,學好每一步
對于初學(xue)者,還(huan)有一(yi)(yi)(yi)點小建(jian)議,我(wo)們拿到一(yi)(yi)(yi)個(ge)開(kai)(kai)發(fa)板,很興(xing)奮(fen)也(ye)(ye)很激動,想法(fa)(fa)自然(ran)也(ye)(ye)很多,想用開(kai)(kai)發(fa)板實現(xian)自己(ji)的(de)這個(ge)想法(fa)(fa),實現(xian)那個(ge)想法(fa)(fa),然(ran)后又不(bu)知道(dao)從(cong)何下(xia)手,首先,我(wo)們對這部分知識了(le)解(jie)嗎?如果(guo)不(bu)了(le)解(jie)就去google一(yi)(yi)(yi)下(xia),了(le)解(jie)了(le)一(yi)(yi)(yi)些(xie),也(ye)(ye)就大概知道(dao)要怎么做了(le)。
5.多寫代碼!寫的越多對你的幫助越大
任何技能(neng)都是熟能(neng)生(sheng)巧才(cai)可以熟練掌握(wo)所學內容,多看代(dai)(dai)碼,從(cong)代(dai)(dai)碼中讀出代(dai)(dai)碼的意思,當然在平時(shi)也(ye)要多寫代(dai)(dai)碼,多多練習,進行總結,一(yi)定有所收獲。
這些是我的一些經(jing)驗總結(jie),希望對嵌(qian)入(ru)式(shi)初學(xue)者有一定(ding)的幫助。

