前言
這個(gè)題目很大,給人一種感覺我好像很成功,,其實(shí)不然,。實(shí)際上自己水平不高,甚至很低,,但是做過了一些曲折的學(xué)習(xí)道路,同時(shí)把自己真實(shí)的學(xué)習(xí)歷程表達(dá)出來,,希望對(duì)后來者有借鑒的意義,,甚幸!
工作三年,、幾成廢人,!
我2000年畢業(yè)于華中地區(qū)的一個(gè)理工科大學(xué),專業(yè)是機(jī)械電子,,我當(dāng)時(shí)已經(jīng)簽了一家內(nèi)陸某個(gè)省級(jí)機(jī)關(guān)工作,,家里八輩是農(nóng)民,并且很偏遠(yuǎn),,能夠進(jìn)入這樣的地方是祖墳有風(fēng)水,。但在畢業(yè)前夕有個(gè)進(jìn)入it的機(jī)會(huì),我本想進(jìn)去的,,家里人極力反對(duì),,阻力可想而知。同時(shí)要交4000元的違約金,,對(duì)我來說是天文數(shù)字,。大學(xué)里的費(fèi)用很多是借的,幾乎將近一半的費(fèi)用是在大學(xué)勤工儉學(xué)掙的,,為了省錢,,高中一個(gè)學(xué)期回家一次,大學(xué)一年回去一次。并且我個(gè)人也有特殊的人生背景(悲景更確切),,這里不多說了,,寫十篇也寫不完,同時(shí)偏離主題,。這樣我就參加了工作,。一張報(bào)紙一杯茶的日子,幾乎下班后有種很空虛和恐慌的感覺,。在工作中雖然是與自己專業(yè)有點(diǎn)關(guān)系,,但是很少。專業(yè)幾乎荒廢,。我自己也思考,,如果再不出去,自己將會(huì)成廢人,,只好讓國家養(yǎng)了,。兩年后決定出去,但是幾成廢人,,誰要呢,,只好到學(xué)校去鍍金。這是中國教育和社會(huì)的悲哀,!
至于專業(yè)就改為計(jì)算機(jī)方面,,聽說好找工作,我說實(shí)話不是很對(duì)計(jì)算機(jī)特別感興趣,,生存第一需要,。不要笑我,哈哈,!
考研成績(jī)出來,,超過了國家線幾十分。那個(gè)方向要兩個(gè),,我第三,,但是那年非碘,不面試就按分?jǐn)?shù)來排,,自然我落選了,。其實(shí)給我面試機(jī)會(huì)也不一定要我,哈哈,,自己幾斤幾兩很清楚,。
最后調(diào)劑到另外一個(gè)學(xué)校,交錢,,咬咬牙,,交吧!現(xiàn)在仍然債臺(tái)高筑!
進(jìn)入學(xué)校前夕
為什么要把這段列出,,看后就知道了,。
單位有網(wǎng)絡(luò),經(jīng)常上網(wǎng)查些英語資料,,在那里唯獨(dú)英語沒有丟很多,。于是我就在網(wǎng)上查資料,學(xué)什么好呢,,最后確定學(xué)嵌入式把,,聽說跟硬件相對(duì)比較緊密!而我在大學(xué)里多少學(xué)習(xí)了數(shù)字電路,,單片機(jī)等,,所以多少也有所利用,不會(huì)真的一無所知,。當(dāng)然在這之前也自學(xué)過數(shù)據(jù)結(jié)構(gòu),,計(jì)算機(jī)組成原理等。C 語言在大學(xué)就學(xué)了,。哈哈這就是我的家底,。
我知道自己的基礎(chǔ)差,于是我就拿操作系統(tǒng),,數(shù)據(jù)庫,、數(shù)據(jù)結(jié)構(gòu)、c++來看,,機(jī)關(guān)有這個(gè)好處,空余時(shí)間多,,于是平常就看書,,很痛苦,沒有人請(qǐng)教,。
另外就上網(wǎng)到論壇上去,,我就到各個(gè)專業(yè)的技術(shù)論壇,其實(shí)是電子論壇和嵌入式論壇,。我?guī)缀鯖]有發(fā)帖,,幾乎把幾個(gè)大型的出名的論壇的帖子翻遍了,雖然有很多重復(fù)的,,我才知道嵌入式是個(gè)什么東東,。這些帖子對(duì)我以后的學(xué)習(xí)產(chǎn)生了極大的影響。
最關(guān)鍵兩點(diǎn):1,、嵌入式是什么,?
2、嵌入式需要哪些知識(shí)?
知道了這兩點(diǎn),,好辦,!我就開始規(guī)劃學(xué)習(xí)路線。計(jì)算機(jī)的基本理論不能丟,,于是重點(diǎn)看組成原理,,數(shù)據(jù)機(jī)構(gòu),操作系統(tǒng),、c++,。同時(shí)論壇上了解到,實(shí)時(shí)操作系統(tǒng)ucos是一個(gè)很好的嵌入式操作系統(tǒng),,對(duì)初學(xué)者很好,。于是我就買了一本書,但是代碼在電腦里調(diào)不通,,網(wǎng)上也有很多相同的問題,,我就看書,分析代碼,,一遍不行就兩遍,,三遍,這樣才看了入了門,,才知道什么是進(jìn)程,。原來看操作系統(tǒng)書時(shí),根本就不知道進(jìn)程是個(gè)什么東西,。
在這段時(shí)間掌握的東西不多,,但是,對(duì)我以后的影響很大,,我想起了大學(xué)時(shí)一個(gè)同學(xué)跟我說過了一句話:大學(xué)里最重要的不是學(xué)到了什么,,最重要的是學(xué)會(huì)怎么學(xué)!大概是這個(gè)意思,。
進(jìn)入我的避難所
對(duì)我來講,,再次進(jìn)入大學(xué)不再是大學(xué),而是避難所,。希望這次進(jìn)入給我喘氣和養(yǎng)精蓄銳的機(jī)會(huì)和時(shí)間,。我是這樣認(rèn)為和實(shí)踐的。
在學(xué)校我有三件事:上課,,上圖書館,,上網(wǎng)。
對(duì)于上課,,學(xué)校開了很多課程,,非常好,,很多是名人名師講解,于是很多同學(xué)都想學(xué),,都去聽,。我也考慮過,最后放棄,。我是這樣認(rèn)為的,,時(shí)間是有限的,什么都想學(xué),,什么都學(xué)不成,。于是我把我自己學(xué)的課進(jìn)行了分化,一般的課程通過就行,,重要的一定好好學(xué),。我希望不要什么爭(zhēng)論學(xué)習(xí)課程多和少的問題,這僅僅是我的看法,。所以我的成績(jī)應(yīng)該是很差的,。分?jǐn)?shù)低。好在后來的單位沒有要我的成績(jī)單,,否則就慘了,。
我個(gè)人感覺是上圖書館的效率比在寢室里高多了,這是我的經(jīng)驗(yàn),。
上網(wǎng),,我給自己定了規(guī)矩:不玩游戲,不灌水,,少看電影,!因?yàn)闀r(shí)間對(duì)我來說太少和寶貴了,我沒有資格和資本來浪費(fèi)這些,。上網(wǎng)我就在幾個(gè)重要的專業(yè)技術(shù)網(wǎng)站上逛,,下載技術(shù)資料。我一個(gè)朋友最近開了一個(gè)嵌入式網(wǎng)站,,www. 里面的資料相當(dāng)一部分是我在網(wǎng)上找的資料,。那個(gè)網(wǎng)站很不錯(cuò),,資料豐富,,找嵌入式方面,特別是嵌入式linux的資料,,異常豐富,。
有人會(huì)問,您下了那么多資料,,怎么看的完和消化的了呢,?
我是這樣對(duì)待這個(gè)問題的:
1,、 網(wǎng)上資料比較零散,不系統(tǒng),,但是如果把差不多的東西收集起來看就相對(duì)完整了,,(嵌入式的圖書就是這兩年特別多,特別是2004年,,簡(jiǎn)直是向外涌,!2003年想買本嵌入式,特別是嵌入式linux的不多,。)
2,、 對(duì)于像我這種入門的來說,很多看不懂,,沒關(guān)系,,反復(fù)看,我個(gè)人對(duì)學(xué)習(xí)方法的一個(gè)總結(jié)是:重復(fù)是最好的老師,!
3,、 即使有的用不上,也可以收集以后用的上時(shí)查閱,。
但是我并非什么都要,,目前我的技術(shù)路線是嵌入式linux,所以像wince之類基本上不
收集,。
總之,,我在學(xué)校里我充分利用時(shí)間來學(xué)習(xí),我看到一些同學(xué)整天的掛在網(wǎng)上打游戲,,發(fā)
些無關(guān)痛癢的帖子,,浪費(fèi)時(shí)間呀!我真的很痛心,!
學(xué)習(xí)嵌入式
在這里我把它單獨(dú)列出,,文章有點(diǎn)紊亂,但是內(nèi)容希望有益,。
1,、學(xué)習(xí)linux
根據(jù)我在論壇的了解,我選擇學(xué)習(xí)嵌入式linux,,剛好我們學(xué)校也重視嵌入式linux,,從實(shí)驗(yàn)室到課程安排都是關(guān)于嵌入式linux方面,天時(shí)地利,!這里我把學(xué)習(xí)linux的經(jīng)驗(yàn)和教訓(xùn)說說,。
可以這樣說,在論壇里說道學(xué)習(xí)linux差不多就學(xué)習(xí)linux內(nèi)核,。于是我電腦里安裝了linux就開始看linux內(nèi)核方面的書了,。我記得來學(xué)校以前就買到一本陳莉君的講linux內(nèi)核的第一版,,現(xiàn)在有第二版了。我就開始看那本說,,大家說linux內(nèi)核情景分析不錯(cuò),,我就買了上下冊(cè),后來又買了 《深入理解linux內(nèi)核》,,最后也買了毛德操的《嵌入式系統(tǒng)》也是分析linux內(nèi)核代碼的,,主要講arm相關(guān)的。
看內(nèi)核期間是個(gè)非常痛苦的過程,,看情景分析有種在森林中找出路,,其間我組織了一些同學(xué)學(xué)習(xí)內(nèi)核,幾乎沒有幾個(gè)能堅(jiān)持下來的,。我認(rèn)為我是堅(jiān)持下來了,。情景分析在看第一、第二遍是幾乎沒有摸到門道,,我分析有三個(gè)方面的原因:1,、自己的基礎(chǔ)差,這是最關(guān)鍵的,。2,、內(nèi)核本身很難。3,、沒有交流和高人指點(diǎn),。到了第三遍時(shí)我才摸到門,才差不多知道個(gè)linux的大概脈絡(luò),,很多細(xì)節(jié)也是稀里糊涂,。
學(xué)習(xí)linux總結(jié),這里聲明一下,,我指的嵌入式主要是偏向軟件的嵌入式,。學(xué)習(xí)嵌入式的重點(diǎn)和難點(diǎn)關(guān)鍵在操作系統(tǒng),如果沒有掌握操作系統(tǒng),,我認(rèn)為很難把握一個(gè)嵌入式系統(tǒng),。即使在做嵌入式開發(fā)中,作應(yīng)有層的開發(fā)幾乎可以不知道操作系統(tǒng)也可以開發(fā),,我認(rèn)為那是浮在表面的,。很難深入和提高自己的層次。聲明:一孔之見,!不可深究,!
在學(xué)習(xí)linux內(nèi)核過程中犯了一個(gè)極其嚴(yán)重路線錯(cuò)誤:對(duì)linux幾乎不懂就開始學(xué)習(xí)內(nèi)核,。我個(gè)人推薦一個(gè)學(xué)習(xí)路線是:使用linux—〉linxu系統(tǒng)編程開發(fā)---〉驅(qū)動(dòng)開發(fā)和分析linux內(nèi)核,。而我差不多相反,,實(shí)際上你不會(huì)使用linux也可以學(xué)習(xí)內(nèi)核,但是如果你懂了這些東西學(xué)習(xí)更有效率,。
關(guān)于要不要學(xué)習(xí)內(nèi)核的問題,,我的回答如下:不一定。如果你是喜歡鉆研的那你進(jìn)入內(nèi)核會(huì)滿足你的欲望,。同時(shí)對(duì)你以后的嵌入式系統(tǒng)的開發(fā)有很好的影響,。如果你想從事嵌入式linux系統(tǒng)開發(fā),最好對(duì)內(nèi)核有所了解,。如果僅僅是做應(yīng)用開發(fā)沒有必要,。我打個(gè)比喻:c、c++,、java等語言是武林中的某個(gè)武林派別的話,,如什么拳法,什么刀法等,,那么linux 內(nèi)核應(yīng)該是一個(gè)人的內(nèi)功的反應(yīng),。
怎么開始學(xué)linux內(nèi)核:最好有三件寶物:《深入理解linux內(nèi)核》《情景分析》和源代碼。
先看《深》,,那主要講原理,,好像市場(chǎng)上有本講原理性并且更淺,《linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)》聽說不錯(cuò),。如果沒有學(xué)習(xí)操作系統(tǒng)的,,像我這樣的,最好先看看操作系統(tǒng)原理的書,??戳藥妆楹螅涂辞榫胺治?,最好對(duì)著《深》看,。兩本交叉看,《深》是綱,,《情》是目,。最后深入代碼。
2,、學(xué)習(xí)嵌入式linux
學(xué)習(xí)嵌入式,,我認(rèn)為兩個(gè)重點(diǎn),cpu和操作系統(tǒng),,目前市場(chǎng)是比較流行arm,,所以推薦大家學(xué)習(xí)arm。操作系統(tǒng)很多,,我個(gè)人對(duì)開始學(xué)習(xí)的人,,特別不是計(jì)算機(jī)專業(yè)的,,推薦學(xué)習(xí)ucos。那是開源的,,同時(shí)很小,。學(xué)習(xí)很好。為什么選linux,,我不想講太多,,網(wǎng)上這方面的太多,但是我在工作中發(fā)現(xiàn),,做linux的技術(shù)路線很難,,在windows幾乎不會(huì)有的問題,在linux開發(fā)中幾乎遍地陷阱,。一掉進(jìn)去劃很長時(shí)間出來,,一旦解決自己又長進(jìn)了!相對(duì)來說開發(fā)周期長,,難度大?,F(xiàn)在資料也逐漸豐富起來,難度也降低了些,!
至于怎么學(xué)習(xí),,這是他的特色地方,必須有塊開發(fā)板,,我是同學(xué)里最早買學(xué)習(xí)板的,,雖然化錢,我認(rèn)為值,。對(duì)我實(shí)習(xí)和工作產(chǎn)生了很大的影響,。
如果沒有開發(fā)板,那是紙上談兵,。有人說,,那要1000-2000亞,的確是,,兄弟,,看長遠(yuǎn)的,對(duì)您的職業(yè)和發(fā)展那點(diǎn)錢不算什么,!有的人說我站著說話不腰痛,,好吧,錢這東西對(duì)我影響很大,,我在大學(xué)里掃廁所,,掃的不錯(cuò),獎(jiǎng)5元/月。兄弟你有過嗎,?我認(rèn)為教育投資是效益最有保障的,!我實(shí)習(xí)拿3k,很多同學(xué)拿1-2k,,當(dāng)然比我高的也有。雖然我現(xiàn)在沒有畢業(yè),,但一家公司就簽了,。從事目前流行的高檔的消費(fèi)電子的研發(fā)。對(duì)于我兩年前一無所知的我,,應(yīng)該有質(zhì)的變化,,我感謝學(xué)校收了我這個(gè)廢品。當(dāng)然我也非常的努力,。說這么多并不是要炫耀我什么,,實(shí)際上根本不值得炫耀,雖然現(xiàn)在工作環(huán)境和待遇比較滿意,,但是,,我發(fā)現(xiàn)我很差,特別是代碼能力,,我希望平常大家少玩游戲,,多編程。編程才是硬道理,!
3,、 學(xué)習(xí)板和培訓(xùn)
你可以不接受培訓(xùn),但是不能不買開發(fā)板,。如果你想學(xué)習(xí)嵌入式一定要買塊學(xué)習(xí)板,,最好買塊arm9的,貴些也值,??梢耘芨呒?jí)操作系統(tǒng)。這個(gè)不要什么品牌公司的,,一般不會(huì)出什么問題,,市場(chǎng)上的板子一般是三星的2410,基本上是抄的,。如果是做產(chǎn)品那要注意些,。一般的公司一般要2000,加lcd要3000甚至更多,。我接觸到有的板只要1200,,加lcd也就2000,差別比較大,我認(rèn)為學(xué)習(xí)都?jí)蚶病?/div>
對(duì)于培訓(xùn),,如果有條件最好參加,,主要是嵌入式相對(duì)別的不同,自己摸索很費(fèi)時(shí),,如果有高手指點(diǎn)非常的好,,進(jìn)步快。特別是認(rèn)識(shí)做這些的朋友,。我接受過培訓(xùn),,認(rèn)識(shí)個(gè)朋友。在以后的工作中幫我很多,,在這里謝謝他,!我記得哈佛的一個(gè)MBA的學(xué)生這樣說,大意是:在哈佛學(xué)到什么不重要,,最重要的是這些未來各大公司的高級(jí)管理人員是我的同學(xué),!真是有遠(yuǎn)見!
目前市場(chǎng)是培訓(xùn)比較貴,,一個(gè)星期兩三千,,真正算起來也要,那些講師待遇絕對(duì)不會(huì)低,。但是有個(gè)致命的問題是連續(xù)上課,,一連幾天,效果不佳,。我希望社會(huì)上多出些1000元左右,,并且時(shí)間長些,如一個(gè)月,,一周一到兩次課,。如果沒人做,我來做,,哈哈,!
沒有想到,一下寫了這么多,,其實(shí)還想寫的,,比如在中科院的一位老兄是怎樣學(xué)習(xí)linux內(nèi)核和看書的,真的很感動(dòng),。他的為人我很欽佩,。也想介紹毛德操的《嵌入式系統(tǒng)》那本書,對(duì)學(xué)習(xí)arm linux的很好,,也想介紹實(shí)習(xí)和工作的東西,,太長了,,耽誤大家時(shí)間。我也不想檢查里面的錯(cuò)別字了,,很多,!就寫到這里吧。
|
|