|
1、嵌入式是什么?
2、嵌入式需要哪些知識(shí)?
知道了這兩點(diǎn),好辦!我就開(kāi)始規(guī)劃學(xué)習(xí)路線(xiàn)。計(jì)算機(jī)的基本理論不能丟,于是重點(diǎn)看組成原理,數(shù)據(jù)機(jī)構(gòu),操作系統(tǒng)、c++.同時(shí)論壇上了解到,實(shí)時(shí)操作系 統(tǒng)ucos是一個(gè)很好的嵌入式操作系統(tǒng),對(duì)初學(xué)者很好。于是我就買(mǎi)了一本書(shū),但是代碼在電腦里調(diào)不通,網(wǎng)上也有很多相同的問(wèn)題,我就看書(shū),分析代碼,一遍 不行就兩遍,三遍,這樣才看了入了門(mén),才知道什么是進(jìn)程。原來(lái)看操作系統(tǒng)書(shū)時(shí),根本就不知道進(jìn)程是個(gè)什么東西。在這段時(shí)間掌握的東西不多,但是,對(duì)我以后 的影響很大,我想起了大學(xué)時(shí)一個(gè)同學(xué)跟我說(shuō)過(guò)了一句話(huà):大學(xué)里最重要的不是學(xué)到了什么,最重要的是學(xué)會(huì)怎么學(xué)!大概是這個(gè)意思。
學(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)說(shuō)說(shuō)。
可以這樣說(shuō),在論壇里說(shuō)道學(xué)習(xí)linux差不多就學(xué)習(xí)linux內(nèi)核。于是我電腦里安裝了linux就開(kāi)始看linux內(nèi)核方面的書(shū)了。我記得來(lái)學(xué)校以 前就買(mǎi)到一本陳莉君的講linux內(nèi)核的第一版,現(xiàn)在有第二版了。我就開(kāi)始看那本說(shuō),大家說(shuō)linux內(nèi)核情景分析不錯(cuò),我就買(mǎi)了上下冊(cè),后來(lái)又買(mǎi)了 《深入理解linux內(nèi)核》,最后猜蛄嗣虜俚摹肚度朧較低場(chǎng)芬彩欠治鰈inux內(nèi)核代碼的,主要講arm相關(guān)的。
看內(nèi)核期間是個(gè) 非常痛苦的過(guò)程,看情景分析有種在森林中找出路,其間我組織了一些同學(xué)學(xué)習(xí)內(nèi)核,幾乎沒(méi)有幾個(gè)能堅(jiān)持下來(lái)的。我認(rèn)為我是堅(jiān)持下來(lái)了。情景分析在看第一、第 二遍是幾乎沒(méi)有摸到門(mén)道,我分析有三個(gè)方面的原因:1、自己的基礎(chǔ)差,這是最關(guān)鍵的。2、內(nèi)核本身很難。3、沒(méi)有交流和高人指點(diǎn)。到了第三遍時(shí)我才摸到 門(mén),才差不多知道個(gè)linux的大概脈絡(luò),很多細(xì)節(jié)也是稀里糊涂。
學(xué)習(xí)linux總結(jié),這里聲明一下,我指的嵌入式主要是偏向軟件的嵌入式。學(xué)習(xí)嵌入式的重點(diǎn)和難點(diǎn)關(guān)鍵在操作系統(tǒng),如果沒(méi)有掌握操作系統(tǒng),我認(rèn)為很難把握一個(gè)嵌入式系統(tǒng)。即使在做嵌入式開(kāi)發(fā)中,作應(yīng)有層的開(kāi)發(fā)幾乎可以不知道操作系統(tǒng)也可以開(kāi)發(fā),我認(rèn)為那是浮在表面的。很難深入和提高自己的層次。聲明:一孔之見(jiàn)!不可深究!
在學(xué)習(xí)linux內(nèi)核過(guò)程中犯了一個(gè)極其嚴(yán)重路線(xiàn)錯(cuò)誤:對(duì)linux幾乎不懂就開(kāi)始學(xué)習(xí)內(nèi)核。我個(gè)人推薦一個(gè)學(xué)習(xí)路線(xiàn)是:使用linux—〉linux系統(tǒng)編程開(kāi)發(fā)——〉驅(qū)動(dòng)開(kāi)發(fā)和分析linux內(nèi)核。而我差不多相反,實(shí)際上你不會(huì)使用linux也可以學(xué)習(xí)內(nèi)核,但是如果你懂了這些東西學(xué)習(xí)更有效率。
關(guān)于要不要學(xué)習(xí)內(nèi)核的問(wèn)題,我的回答如下:不一定。如果你是喜歡鉆研的那你進(jìn)入內(nèi)核會(huì)滿(mǎn)足你的欲望。同時(shí)對(duì)你以后的嵌入式系統(tǒng)的開(kāi)發(fā)有很好的影響。如果 你想從事嵌入式linux系統(tǒng)開(kāi)發(fā),最好對(duì)內(nèi)核有所了解。如果僅僅是做應(yīng)用開(kāi)發(fā)沒(méi)有必要。我打個(gè)比喻:c、c++、java等語(yǔ)言是武林中的某個(gè)武林派別 的話(huà),如什么拳法,什么刀法等,那么linux 內(nèi)核應(yīng)該是一個(gè)人的內(nèi)功的反應(yīng)。
怎么開(kāi)始學(xué)linux內(nèi)核:最好有三件寶物:《深入理解linux內(nèi)核》《情景分析》和源代碼。
先看《深》,那主要講原理,好像市場(chǎng)上有本講原理性并且更淺,《linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)》聽(tīng)說(shuō)不錯(cuò)。如果沒(méi)有學(xué)習(xí)操作系統(tǒng)的,像我這樣的,最好先看看 操作系統(tǒng)原理的書(shū)?戳藥妆楹,就看情景分析,最好對(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ì)開(kāi)始學(xué)習(xí)的人,特別不是計(jì)算機(jī)專(zhuān)業(yè)的,推薦學(xué)習(xí)ucos.那是開(kāi)源的,同時(shí)很小。學(xué)習(xí)很好。為什么選linux,我不想講太多,網(wǎng)上這方面的太多,但是我在工作中發(fā) 現(xiàn),做linux的技術(shù)路線(xiàn)很難,在windows幾乎不會(huì)有的問(wèn)題,在linux開(kāi)發(fā)中幾乎遍地陷阱。一掉進(jìn)去劃很長(zhǎng)時(shí)間出來(lái),一旦解決自己又長(zhǎng)進(jìn)了! 相對(duì)來(lái)說(shuō)開(kāi)發(fā)周期長(zhǎng),難度大,F(xiàn)在資料也逐漸豐富起來(lái),難度也降低了些!
至于怎么學(xué)習(xí),這是他的特色地方,必須有塊開(kāi)發(fā)板,我是同學(xué)里最早買(mǎi)學(xué)習(xí)板的,雖然化錢(qián),我認(rèn)為值。對(duì)我實(shí)習(xí)和工作產(chǎn)生了很大的影響。
更多嵌入式學(xué)習(xí)咨詢(xún)余工Tel173~61~88~79~73
|
|