嵌入式的學(xué)習(xí)到底應(yīng)該選用哪種方法才可以快速入門?從開始打算學(xué)習(xí)嵌入式到現(xiàn)在,我都沒有找到一個(gè)我認(rèn)為滿意的答案。剛開始的時(shí)候我也是像學(xué)單片機(jī)那樣,覺得應(yīng)該從點(diǎn)亮一個(gè)LED燈作為學(xué)習(xí)的出發(fā)點(diǎn),但是看到身邊和網(wǎng)上的人,都紛紛把注意力放在了LINUX的移植或者驅(qū)動(dòng)或者內(nèi)核的研究上,就感覺自己是不是OUT了,把ARM大材小用了。繼而又轉(zhuǎn)向LINUX的學(xué)習(xí),進(jìn)入LINUX后更是有種無從下手的感覺。最終的情況就像猴子掰包谷,這塊看看,那塊學(xué)學(xué),最終什么都沒有學(xué)到,就在這種猶豫與彷徨中,時(shí)間白白浪費(fèi)掉了,F(xiàn)在回頭看看,板子已經(jīng)購(gòu)買1年多了,我還沒有把最基本的實(shí)驗(yàn)做完。思考良久,還是感覺人家說的對(duì),“做技術(shù)來不得一點(diǎn)浮躁”(其實(shí)做任何事情應(yīng)該都是這樣的)。所以我打算從現(xiàn)在開始,從最基本的最底層的東西開始學(xué)習(xí)。也許這種方法不算入門的最好方法或者說算不得ARM入門的方法,但是我還是想這樣去試試,因?yàn)檫@樣總比猶豫躊躇要來的直接點(diǎn)。俗話說,磨刀不誤砍柴工呀,還是踏踏實(shí)實(shí)把基礎(chǔ)打好才是最重要的。
再有一點(diǎn),我看到很多人學(xué)習(xí)編程,都是把別人的代碼下載到自己的板子上運(yùn)行,然后再做一些自己的修改,雖然這樣的學(xué)習(xí)方法會(huì)很快捷和省時(shí),但是我感覺對(duì)自己的學(xué)習(xí)可能會(huì)有些障礙。我都是自己挨個(gè)把程序敲進(jìn)去的(當(dāng)然是針對(duì)于一些小程序或者初學(xué)者),身邊的人總是笑我這樣做很傻,但是我也就是在這樣的過程中,學(xué)到了很多別人忽略的東西。如果你只是用別人調(diào)試好的程序,就很難發(fā)現(xiàn)一些細(xì)節(jié)上的錯(cuò)誤,比如少一個(gè)分號(hào)會(huì)有怎樣的提示,打錯(cuò)一個(gè)寄存器名會(huì)有什么樣的報(bào)錯(cuò),這些都是我們要注意和學(xué)習(xí)的地方,當(dāng)我們把每一個(gè)錯(cuò)誤都消除掉的時(shí)候,自身也得到了很大的提高。直到經(jīng)過很多次這樣的積累后,我們也就有了所謂的經(jīng)驗(yàn)吧。
一直以來,我都喜歡把自己經(jīng)歷過的或者做過的或者一些感悟,都記錄下來。一則方便以后需要的時(shí)候能夠查找,減少重復(fù)勞動(dòng);二則,我相信很多入門者都有我一樣的困惑,假設(shè)他們看過我的記錄和歷程,如果能夠從中受到啟發(fā),少走彎路,盡快的找到自己入門的路,那豈不是有益于別人的一件好事,何樂而不為呢。所以我想把我的實(shí)驗(yàn)過程都寫下來,主要還是鼓勵(lì)自己能堅(jiān)持做下去,因?yàn)槲业亩栊砸埠艽螅叶σ膊粔,呵呵。作此文,與大家共勉。 |