嵌入式學(xué)習(xí)心得體會(huì)
嵌入式學(xué)習(xí)是將學(xué)習(xí)真正“嵌入”到日常工作中,使學(xué)習(xí)的知識(shí)能得到有效的轉(zhuǎn)化,極大的加強(qiáng)了學(xué)習(xí)的積極性,下面是小編整理的嵌入式學(xué)習(xí)心得體會(huì),歡迎大家參閱。
嵌入式學(xué)習(xí)一:
這個(gè)題目很大,給人一種感覺(jué)我好像很成功,其實(shí)不然。實(shí)際上自己水平不高,甚至很低,但是做過(guò)了一些曲折的學(xué)習(xí)道路,同時(shí)把自己真實(shí)的學(xué)習(xí)歷程表達(dá)出來(lái),希望對(duì)后來(lái)者有借鑒的意義,甚幸!
工作三年、幾成廢人!
我XX年畢業(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ì)我來(lái)說(shuō)是天文數(shù)字。大學(xué)里的費(fèi)用很多是借的,幾乎將近一半的費(fèi)用是在大學(xué)勤工儉學(xué)掙的,為了省錢,高中一個(gè)學(xué)期回家一次,大學(xué)一年回去一次。并且我個(gè)人也有特殊的人生背景(悲景更確切),這里不多說(shuō)了,寫(xiě)十篇也寫(xiě)不完,同時(shí)偏離主題。這樣我就參加了工作。一張報(bào)紙一杯茶的日子,幾乎下班后有種很空虛和恐慌的感覺(jué)。在工作中雖然是與自己專業(yè)有點(diǎn)關(guān)系,但是很少。專業(yè)幾乎荒廢。我自己也思考,如果再不出去,自己將會(huì)成廢人,只好讓國(guó)家養(yǎng)了。兩年后決定出去,但是幾成廢人,誰(shuí)要呢,只好到學(xué)校去鍍金。這是中國(guó)教育和社會(huì)的悲哀!
至于專業(yè)就改為計(jì)算機(jī)方面,聽(tīng)說(shuō)好找工作,我說(shuō)實(shí)話不是很對(duì)計(jì)算機(jī)特別感興趣,生存第一需要。不要笑我,哈哈!
考研成績(jī)出來(lái),超過(guò)了國(guó)家線幾十分。那個(gè)方向要兩個(gè),我第三,但是那年非碘,不面試就按分?jǐn)?shù)來(lái)排,自然我落選了。其實(shí)給我面試機(jī)會(huì)也不一定要我,哈哈,自己幾斤幾兩很清楚。
最后調(diào)劑到另外一個(gè)學(xué)校,交錢,咬咬牙,交吧!現(xiàn)在仍然債臺(tái)高筑!
進(jìn)入學(xué)校前夕
為什么要把這段列出,看后就知道了。
單位有網(wǎng)絡(luò),經(jīng)常上網(wǎng)查些英語(yǔ)資料,在那里唯獨(dú)英語(yǔ)沒(méi)有丟很多。于是我就在網(wǎng)上查資料,學(xué)什么好呢,最后確定學(xué)嵌入式把,聽(tīng)說(shuō)跟硬件相對(duì)比較緊密!而我在大學(xué)里多少學(xué)習(xí)了數(shù)字電路,單片機(jī)等,所以多少也有所利用,不會(huì)真的一無(wú)所知。當(dāng)然在這之
前也自學(xué)過(guò)數(shù)據(jù)結(jié)構(gòu),計(jì)算機(jī)組成原理等。c 語(yǔ)言在大學(xué)就學(xué)了。哈哈這就是我的家底。
我知道自己的基礎(chǔ)差,于是我就拿操作系統(tǒng),數(shù)據(jù)庫(kù)、數(shù)據(jù)結(jié)構(gòu)、c++來(lái)看,機(jī)關(guān)有這個(gè)好處,空余時(shí)間多,于是平常就看書(shū),很痛苦,沒(méi)有人請(qǐng)教。
另外就上網(wǎng)到論壇上去,我就到各個(gè)專業(yè)的技術(shù)論壇,其實(shí)是電子論壇和嵌入式論壇。我?guī)缀鯖](méi)有發(fā)帖,幾乎把幾個(gè)大型的出名的論壇的帖子翻遍了,雖然有很多重復(fù)的,我才知道嵌入式是個(gè)什么東東。這些帖子對(duì)我以后的學(xué)習(xí)產(chǎn)生了極大的影響。
最關(guān)鍵兩點(diǎn):1、嵌入式是什么?
2、嵌入式需要哪些知識(shí)?
知道了這兩點(diǎn),好辦!我就開(kāi)始規(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é)者很好。于是我就買了一本書(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ò)了一句話:大學(xué)里最重要的不是學(xué)到了什么,最重要的是學(xué)會(huì)怎么學(xué)!大概是這個(gè)意思。
進(jìn)入我的避難所
對(duì)我來(lái)講,再次進(jìn)入大學(xué)不再是大學(xué),而是避難所。希望這次進(jìn)入給我喘氣和養(yǎng)精蓄銳的機(jī)會(huì)和時(shí)間。我是這樣認(rèn)為和實(shí)踐的。
在學(xué)校我有三件事:上課,上圖書(shū)館,上網(wǎng)。
對(duì)于上課,學(xué)校開(kāi)了很多課程,非常好,很多是名人名師講解,于是很多同學(xué)都想學(xué),都去聽(tīng)。我也考慮過(guò),最后放棄。我是這樣認(rèn)為的,時(shí)間是有限的,什么都想學(xué),什么都學(xué)不成。于是我把我自己學(xué)的課進(jìn)行了分化,一般的課程通過(guò)就行,重要的一定好好學(xué)。我希望不要什么爭(zhēng)論學(xué)習(xí)課程多和少的問(wèn)題,這僅僅是我的看法。所以我的成績(jī)應(yīng)該是很差的。分?jǐn)?shù)低。好在后來(lái)的單位沒(méi)有要我的成績(jī)單,否則就慘了。
我個(gè)人感覺(jué)是上圖書(shū)館的效率比在寢室里高多了,這是我的經(jīng)驗(yàn)。
嵌入式學(xué)習(xí)心得體會(huì)二:
目前最常見(jiàn)的嵌入式LINUX方面,我認(rèn)為大概3個(gè):
1.嵌入式LINUX上層的應(yīng)用,包括QT的GUI開(kāi)發(fā)
2. 嵌入式的LINUX系統(tǒng)開(kāi)發(fā)
3.嵌入式的驅(qū)動(dòng)開(kāi)發(fā)
學(xué)習(xí)嵌入式:
第一.C語(yǔ)言要掌握(硬件略懂),C語(yǔ)言是所有編程語(yǔ)言中的強(qiáng)者,單片機(jī),DSP,類似ARM的種種芯片的編程都可以用C語(yǔ)言搞定,因?yàn)樗梢浦敌詮?qiáng),編譯效率高,運(yùn)算速度快,便于實(shí)現(xiàn)理更復(fù)雜的的數(shù)據(jù)結(jié)構(gòu)。上層應(yīng)用和數(shù)據(jù)存儲(chǔ),我推薦使用C++語(yǔ)言。
第二.學(xué)習(xí)一種嵌入式的處理器架構(gòu),個(gè)人推薦32位的處理器,像ARM,因?yàn)榍度胧?/p>
開(kāi)發(fā)8位的處理器顯得有點(diǎn)低端,大多數(shù)只能用作簡(jiǎn)單的工控.
第三.學(xué)習(xí)一種嵌入式操作系統(tǒng),像LINUX,WINCE等都可以,LINUX更好。
三:ARM是一種微處理器,已遍及工業(yè)控制,消費(fèi)類的電子產(chǎn)品,通信,網(wǎng)絡(luò),無(wú)線等各類的產(chǎn)品基于
ARM技術(shù)的微處理器已占75%以上的市場(chǎng)份額,可見(jiàn)其技術(shù)已逐滲入到我們生活中的各個(gè)領(lǐng)域,像手機(jī)
就是用ARM7 ARM9 ARM11的微處理器技術(shù)開(kāi)發(fā)的。嵌入式系統(tǒng)最常見(jiàn)的ARM系列,ARM7 ,ARM9,
ARM11,cortex-A8等。
我們都是曾經(jīng)從大學(xué)里走出來(lái)的迷茫羊羔,工作以后我才知道,在大學(xué)里不是學(xué)到了什么,而是學(xué)會(huì)怎么去學(xué),相信自己,理清自己的思路,根據(jù)自己的性格,剖析自我適合往哪方面發(fā)展。
嵌入式學(xué)習(xí)心得體會(huì)三:
一,如果非常多人都想做Linux,那么就要對(duì)Linux要 比較熟悉。這個(gè)熟悉不是說(shuō)對(duì)內(nèi)核,對(duì)代碼有多了解,而是至少要會(huì)基本的操作,非常難想象讓一個(gè)連編譯程式,編輯文本文件都非常困難的人去弄嵌入式的軟件吧??傊谶M(jìn)入嵌入式這個(gè)領(lǐng)域之前要對(duì)自己評(píng)估一下,看看自己是不是準(zhǔn)備好了去學(xué)習(xí)嵌入式相關(guān)的東西。
二,要舍得花錢買研發(fā)板。公欲善其技,必先利其器。也就是說(shuō),理論上可能掌控了非常多,不過(guò)不去實(shí)踐,那只能是紙上談兵,這樣是無(wú)法學(xué)好嵌入式的。弄個(gè)研 發(fā)板自己擺弄擺弄,即使什么都不懂,也能按照說(shuō)明書(shū)把廠家給的程式下載到研發(fā)板上運(yùn)行運(yùn)行,先知其然,然后再通過(guò)具體的學(xué)習(xí)知其所以然,這樣能避免學(xué)習(xí)中 的枯燥。目前市場(chǎng)上研發(fā)板的種類繁多,相同CPU的板子價(jià)格卻相差非常多,令非常多人都不知道怎么選擇購(gòu)買。我的看法是,盡量買大廠的產(chǎn)品。因?yàn)樵诔鯇W(xué)階 段學(xué)習(xí)資料少是個(gè)非常頭疼的事,非常多時(shí)候都是無(wú)從下手,不知道怎么去做,那么隨研發(fā)板附送的資料就非常重要了。大廠技術(shù)比較強(qiáng),附帶的程式都是能在板子 上運(yùn)行的,例如我買的優(yōu)龍ST2410這個(gè)板子(不是廣告啊),光盤(pán)上帶了一個(gè)bootloader,個(gè)2.4.18的內(nèi)核,更有一個(gè)cramfs,這些 程式的原始碼都是廠家事先做好或修改好的,完全適用于初學(xué)者使用。而有些實(shí)力不行的小廠家的資料不齊全,我們學(xué)習(xí)的時(shí)候需要自己弄bootloader什 么的,那入門(mén)就非常難了。不過(guò)大廠的板子都非常貴,大家能根據(jù)預(yù)算來(lái)選擇適合自己的研發(fā)板,不過(guò)無(wú)論怎樣,在學(xué)習(xí)上投資都是值得的。
三,不要事無(wú)巨細(xì)的學(xué)習(xí),要有明確的目標(biāo)。我最開(kāi)始給自己制定的學(xué)習(xí)是:學(xué)習(xí)arm體系結(jié)構(gòu) -> 學(xué)習(xí)arm匯編 -> 自己移植bootloader -> 自己移植kernel -> 做應(yīng)用,不過(guò)不久就被我否決了,因?yàn)檫@個(gè)過(guò)程實(shí)在是太枯燥太痛苦了,在學(xué)習(xí)資料少,沒(méi)人指導(dǎo)的情況下根本無(wú)法進(jìn)展。于是我決定使用廠家的代碼來(lái)“玩”研發(fā) 板,自己弄些應(yīng)用上去。先是完全使用廠家給的bootloader,kernel,cramfs。之后發(fā)現(xiàn)cramfs中的一些控制Linux初始化的文 件不符合我的需求,于是修改cramfs,刪除了QT,修改了網(wǎng)卡初始的IP地址,安裝到板子上能運(yùn)行了之后就開(kāi)始嘗試做一些應(yīng)用,比如hello world這樣的程式。最后移植了一個(gè)mpg123到板子上。完萬(wàn)能在不知道原理的情況下來(lái)使用板子的一些功能,等熟悉板子了再回頭學(xué)習(xí)其中的道理,這樣 就容易一些。學(xué)習(xí)嵌入式就是這樣,根據(jù)問(wèn)題來(lái)選擇學(xué)習(xí)的內(nèi)容,否則會(huì)非常盲目,最后就失去信心了。
四,要有耐心。不能否認(rèn),在學(xué)習(xí)一門(mén)自己完全不了解的技術(shù)是非常煩人的。嵌入式的復(fù)雜在于他的交叉性。也就是說(shuō)為了研究某一個(gè)嵌入式的問(wèn)題,你有可能得學(xué) 習(xí)非常多其他的知識(shí),比如操作系統(tǒng),編譯,體系結(jié)構(gòu)等等,那么對(duì)于這種情況需要我們有足夠的耐心。我在交叉編譯mpg123的時(shí)候前幾次無(wú)論怎么修改 makefile都無(wú)法編譯成功,最后我發(fā)現(xiàn)我用的arm-linux-gcc是2.9版本的,比較老,于是我換成新的3.4.1版本,就ok了。
以上是我初學(xué)嵌入式所獲得的一些淺顯的經(jīng)驗(yàn),基本都是基于軟件方面的,硬件的DIY我就不行了。希望我的經(jīng)驗(yàn)?zāi)芙o大家一些幫助。
剛剛和LUPA的嵌入式版主要了uboot的代碼,接下來(lái)的我想研究研究廠家的bootloader代碼然后移植一下uboot。
相關(guān)文章: