嵌入式開發(fā)學(xué)習(xí)心得
當(dāng)在某些事情上我們有很深的體會(huì)時(shí),好好地寫一份心得體會(huì),這樣可以記錄我們的思想活動(dòng)。那么你知道心得體會(huì)如何寫嗎?下面是小編為大家收集的嵌入式開發(fā)學(xué)習(xí)心得,歡迎大家借鑒與參考,希望對(duì)大家有所幫助。
嵌入式開發(fā)學(xué)習(xí)心得1
就我個(gè)人而言,從最開始對(duì)嵌入式一竅不通到現(xiàn)在越學(xué)越感興趣,當(dāng)然相應(yīng)在嵌入式方面的提高也是很明顯的。學(xué)習(xí)嵌入式越來(lái)越成為我學(xué)習(xí)中的一部分,現(xiàn)在把我的學(xué)習(xí)過(guò)程的心得體會(huì)與大家一起分享,希望那些和我一樣對(duì)嵌入式想學(xué)而又迷茫,不知從哪入手的同學(xué)朋友有所幫助。
1 .基礎(chǔ)知識(shí)
嵌入式開發(fā)很大一部分靠C語(yǔ)言,尤其在底層驅(qū)動(dòng)等用的很多,當(dāng)然在應(yīng)用開發(fā)還用到諸如C++等其他語(yǔ)言,但我想對(duì)于一個(gè)初學(xué)者有C基礎(chǔ)就足夠了,等到學(xué)到一定程度再去擴(kuò)展。所以C基礎(chǔ)是學(xué)嵌入式的前提。
關(guān)于C語(yǔ)言需要知道基本的語(yǔ)法,什么是結(jié)構(gòu)體,什么是共用體,有什么區(qū)別,不用強(qiáng)記一些實(shí)際中用的很少的東西。C++要知道什么是類,怎么定義,繼承,接口,要深刻理解,當(dāng)然基本語(yǔ)法也是必不可少的。
操作系統(tǒng)原理也需要基本理解和掌握的,我記得我上課的時(shí)候不以為然沒(méi)有認(rèn)真學(xué)習(xí),后來(lái)發(fā)現(xiàn)很多的東西都是在這個(gè)課上講到的。什么時(shí)間片啊,任務(wù)調(diào)度啊,都是在那里知道的。
Linux基本命令的使用(vi編輯器必須會(huì)用,因?yàn)樵诮K端修改文件的時(shí)候只能用這個(gè)),我們現(xiàn)在很多的人都習(xí)慣用鼠標(biāo)了,很少用到命令,我學(xué)習(xí)嵌入Linux就強(qiáng)迫自己去改掉這個(gè)習(xí)慣了,Linux用命令操作一是效率高,二是功能非常強(qiáng)大,遠(yuǎn)非圖形界面能比的了的,其實(shí)我們用圖形界面的操作都要轉(zhuǎn)化為命令傳給硬件的。Linux文件系統(tǒng)的管理要清楚,哪個(gè)目錄存放是什么東西,有什么用,文件權(quán)限管理等。
2.單片機(jī)知識(shí)的學(xué)習(xí)
我覺(jué)得單片機(jī)、嵌入式等這一類都有很大的相似性,知識(shí)功能不一樣,但工作的原理、控制原理都和大的相似。就我個(gè)人而言,能比較快的進(jìn)入嵌入式的學(xué)習(xí)與提高,很大一部分依賴于對(duì)單片機(jī)的原理有較深入的學(xué)習(xí)和理解,單片機(jī)比較簡(jiǎn)單,學(xué)習(xí)起來(lái)相對(duì)比較容易,所以我建議想學(xué)嵌入式的同學(xué),可以和我一樣從單片機(jī)入手,那樣不僅可以理解這些微處理器、微控制器的操作與控制原理,當(dāng)然還可以順便學(xué)學(xué)匯編語(yǔ)言,這對(duì)后面的嵌入式學(xué)習(xí)都有很大的幫助。
看書不要希望一次就會(huì),一次就明白是什么意思,也不要死記硬背,看不明白也沒(méi)關(guān)系,以后遇到了知道去哪里去找就可以了,以后遇到的多了,也就記住了,遇到的少的,忘記也就忘記了。還有,不要直接閱讀Linux內(nèi)核源代碼,看一些自己把頭撞破也想不明白的事,一開始很打擊我的積極性,要循序漸進(jìn),剛開始我就從學(xué)習(xí)做led開始的,接著學(xué)習(xí)做個(gè)串口,慢慢的就開始學(xué)著做硬件編解碼了。
3.學(xué)習(xí)開發(fā)板
我在剛開始學(xué)習(xí)嵌入式時(shí)就買了一塊學(xué)習(xí)板,現(xiàn)在的開發(fā)板不是很貴,給很我們初學(xué)者減輕了經(jīng)濟(jì)負(fù)擔(dān)。看再多的視頻,看再多的書,也不如自己動(dòng)手試一下,看著很簡(jiǎn)單的東西,做起來(lái)就可能遇到很多的.問(wèn)題,遇到問(wèn)題找到原因,解決問(wèn)題,只有這樣才能學(xué)到東西,記得我第一次寫led的驅(qū)動(dòng),想自己試一下,網(wǎng)上也有人寫過(guò)相關(guān)的代碼,可是自己一試,就出了好多的問(wèn)題,那個(gè)led弄了我一天才把led燈點(diǎn)亮。所以不要眼高手低。
4.不要好高騖遠(yuǎn),要腳踏實(shí)地
我拿到開發(fā)板時(shí),很興奮也很激動(dòng),想法自然也很多,想用開發(fā)板實(shí)現(xiàn)自己的這個(gè)想法,實(shí)現(xiàn)那個(gè)想法,然后又不知道從何下手,然后就去論壇中發(fā)一個(gè)貼,“那個(gè)什么什么怎么實(shí)現(xiàn)啊,哪位大俠能詳細(xì)說(shuō)一下啊,跪求。 ,然后等著別人去回復(fù)。我覺(jué)得有想法是好的,我們要實(shí)現(xiàn)自己的想法也是有前提的,首先,我們對(duì)這部分知識(shí)了解嗎?如果不了解就去Google一下(最好別用百度,不太好用),了解了一些,也就大概知道要怎么做了。如果再遇到問(wèn)題,再去發(fā)貼問(wèn),這樣也顯得我們有一點(diǎn)點(diǎn)水平啦。比如自己連串口是什么都不太清楚呢,就問(wèn)串口通信怎么做啊,就是人家把代碼給我們,我們也不明白是怎么回事啊。
5多看代碼,多寫代碼
見多識(shí)廣,熟能生巧。多看代碼,要從代碼中讀出代碼的意思來(lái)。自己平時(shí)也要多寫代碼,多練習(xí)(這一點(diǎn)我做的不好,寫的少)。
個(gè)人覺(jué)得這是最重要的一種做法。這東西沒(méi)自己親手做,程序沒(méi)親手寫,沒(méi)有進(jìn)行調(diào)試等,都是很難學(xué)到東西,因?yàn)楹芏鄸|西感覺(jué)看的都懂,其實(shí)真正做起來(lái)就什么都不會(huì)了。因此買塊板來(lái)自己做,這樣才能真正將所學(xué)的應(yīng)用到實(shí)際中去。而且這樣做印象才能深刻,死記硬背原理及規(guī)則不但不可行還會(huì)拖垮你的學(xué)習(xí)興趣,自然學(xué)不下。
總之,我覺(jué)得,基礎(chǔ)知識(shí)很重要,但是動(dòng)手做更重要!
嵌入式開發(fā)學(xué)習(xí)心得2
工作一年了,喜愛嵌入式這個(gè)好玩,令人羨慕的行業(yè),不止是工資待遇哦。
4月,又是有許多面臨畢業(yè)、找工作的大學(xué)生來(lái)到,面對(duì)如此激烈的競(jìng)爭(zhēng),如果有一技之長(zhǎng)旁身,那就是你挑公司了。
非常有感慨,上一年我也在大學(xué)城中參加千里馬的面試,跟我同學(xué)都是拿著一袋子的簡(jiǎn)歷去排隊(duì)。
或者網(wǎng)上招聘海投簡(jiǎn)歷。
現(xiàn)在就職的公司算不上高大上,還能算的過(guò)去?偨Y(jié)一下學(xué)習(xí)心得,也算對(duì)自己學(xué)習(xí)有個(gè)交代吧。
1、如何做好嵌入式Linux學(xué)習(xí)前的準(zhǔn)備?
要成為一名合格的嵌入式Linux工程師,就需要系統(tǒng)的`學(xué)習(xí)軟、硬件相關(guān)領(lǐng)域內(nèi)的知識(shí)。大學(xué)里面學(xué)的基礎(chǔ)還行,可以繼續(xù)自學(xué),我是自學(xué)韋東山Linux視頻,重點(diǎn)是有書,有視頻,有代碼。如果基礎(chǔ)太差是個(gè)小白,還是建議去花幾萬(wàn)培訓(xùn)吧。
2、學(xué)習(xí)嵌入式Linux需要補(bǔ)習(xí)哪些基礎(chǔ)課程?
嵌入式Linux工程師的學(xué)習(xí)需要具備一定的C語(yǔ)言基礎(chǔ),因此面對(duì)許多朋友只是在大一或者大二學(xué)習(xí)過(guò)C(還不一定認(rèn)真學(xué)了,呵呵!),之后基本就不再用過(guò)的情況,建議大家在學(xué)習(xí)之前先復(fù)習(xí)一下C語(yǔ)言基礎(chǔ)這塊。要提醒大家的是,復(fù)習(xí)時(shí)不能只關(guān)注基本語(yǔ)法,對(duì)于常用的數(shù)據(jù)存儲(chǔ)及處理方式,例如:數(shù)組、結(jié)構(gòu)體等也要關(guān)注,有條件的話一定在機(jī)器上親自敲敲代碼、分析理解一下具體案例代碼編寫的思路,讓自己慢慢進(jìn)入一名嵌入式開發(fā)人員的狀態(tài)。
3、嵌入式Linux開發(fā)跟普通軟件開發(fā)在學(xué)習(xí)方法上有什么不同?
要成為一名成功的嵌入式軟件開發(fā)人員,程序的設(shè)計(jì)能力是首要技能,這一點(diǎn)與普通的軟件開發(fā)人員的要求是一樣的。但是作為"軟硬兼施"的嵌入式開發(fā),則要求大家不僅要了解較底層軟件的工作過(guò)程和工作原理(例如操作系統(tǒng)級(jí)、驅(qū)動(dòng)程序級(jí)軟件),可以看一下韋東山Linux視頻第1期(基于S3C2440錄制): ARM實(shí)驗(yàn),u-boot,文件系統(tǒng),初級(jí)驅(qū)動(dòng)。
嵌入式開發(fā)學(xué)習(xí)心得3
首先,我們學(xué)習(xí)的課本是嵌入式系統(tǒng)應(yīng)用教程。我學(xué)習(xí)的體會(huì)是這樣的:開始時(shí),由于是剛剛?cè)腴T,對(duì)老師書的好多東西是好奇的,好多名詞也是新鮮的,不過(guò)不太懂什么意思。但是慢慢的,了解的深入讓我有了更深的感觸和體會(huì)。
在嵌入式的學(xué)習(xí)過(guò)程中,讓我了解了什么是嵌入式系統(tǒng)。它就是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可定制,適用于不同應(yīng)用場(chǎng)合,對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的計(jì)算機(jī)系統(tǒng)。他一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)、用戶應(yīng)用程序四個(gè)部分組成,用于實(shí)現(xiàn)對(duì)其他設(shè)備的控制、監(jiān)視或管理功能。嵌入式系統(tǒng)已經(jīng)應(yīng)用于科學(xué)研究、工業(yè)控制、軍事技術(shù)、交通通信、醫(yī)療衛(wèi)生、消費(fèi)娛樂(lè)等領(lǐng)域,人們?nèi)粘J褂玫氖謾C(jī)、PDA、汽車、智能家電、GPS等均是嵌入式系統(tǒng)的典型代表。
一開始我們就學(xué)習(xí)嵌入式的系統(tǒng)的基礎(chǔ)部分,那很簡(jiǎn)單,就是一些定義或是介紹之類的。在進(jìn)入第二章時(shí),就開始學(xué)習(xí)了嵌入式開發(fā)過(guò)程中的主要操作系統(tǒng)——linux,在接下來(lái)的課程中,我發(fā)現(xiàn)嵌入式的學(xué)習(xí)過(guò)程還是蠻有趣的。在對(duì)linux的學(xué)習(xí)中,我們對(duì)它有了一點(diǎn)點(diǎn)的了解,接著就是學(xué)習(xí)一虛擬機(jī)的方式安裝linux。對(duì)我來(lái)說(shuō)有趣的就是安裝的過(guò)程了,首先我們跟著老師的腳步走,學(xué)會(huì)了怎么安裝,在自己動(dòng)手進(jìn)行對(duì)它的安裝,這個(gè)過(guò)程是簡(jiǎn)單而有趣的。這樣的開始讓我對(duì)它充滿了興趣,也對(duì)以后的學(xué)習(xí)充滿了信心。
其次就是安裝好了之后,老師就更深一步的教我們應(yīng)用了。在這是老師首先交給我們的是一些簡(jiǎn)單的命令應(yīng)用,Linux具有很豐富的命令,絕大多數(shù)命令具有大量的參數(shù)。在學(xué)習(xí)命令的過(guò)程中,只要你認(rèn)真的看著老師操作還有認(rèn)真聽著他講,你就會(huì)發(fā)現(xiàn)有些命令的操作還是很簡(jiǎn)單的,不過(guò)在操作的過(guò)程中,我也有遇到有些困難,會(huì)出現(xiàn)你按照書上學(xué)習(xí)的例子,將命令輸入終端時(shí)會(huì)出現(xiàn)你不想要的結(jié)果,也就是錯(cuò)誤的結(jié)果。這是問(wèn)問(wèn)旁邊的同學(xué)或是懂的同學(xué)就可以解決了。在對(duì)于這部分的學(xué)習(xí)中,讓我知道了命令對(duì)于嵌入式的重要性。它是linux的重要內(nèi)容,linux中所有的功能都是通過(guò)命令執(zhí)行。在實(shí)際應(yīng)用中,為了減少系統(tǒng)開銷,經(jīng)常不使用圖形界面,此時(shí),對(duì)系統(tǒng)的所有操作都需要以命令方式來(lái)執(zhí)行。在嵌入式系統(tǒng)開發(fā)過(guò)程中,由于目標(biāo)機(jī)的性能和配置比較低,因此,一般情況下目標(biāo)機(jī)僅具有命令窗口而沒(méi)有圖形界面,對(duì)目標(biāo)機(jī)的所有操作都通過(guò)命令來(lái)實(shí)現(xiàn)。
還有的那就是進(jìn)一步學(xué)習(xí)與嵌入式系統(tǒng)開發(fā)相關(guān)的linux的服務(wù),他們的啟動(dòng)、設(shè)置等的操作和應(yīng)用。而在學(xué)習(xí)之中,我們主要介紹的是嵌入式系統(tǒng)中開發(fā)工程使用的`TFTP、Telent和NFS服務(wù)。第一個(gè)實(shí)現(xiàn)的事上機(jī)位與下機(jī)位之間文件的傳輸、無(wú)磁盤網(wǎng)絡(luò)的設(shè)備的啟動(dòng)等功能;第二個(gè)實(shí)現(xiàn)的事遠(yuǎn)程登錄功能;第三個(gè)實(shí)現(xiàn)的是網(wǎng)絡(luò)文件系統(tǒng)功能。
從以上的內(nèi)容之中,并不難感受到我們的學(xué)習(xí)過(guò)程是由淺入深的,這對(duì)于我們的學(xué)習(xí)也有了較好的幫助。
當(dāng)然,我們學(xué)習(xí)的不僅僅是這么幾個(gè)內(nèi)容,其中還有相關(guān)的實(shí)驗(yàn)內(nèi)容。在我們基礎(chǔ)的學(xué)習(xí)的過(guò)程之中,我有了這么一點(diǎn)的感受,總的來(lái)說(shuō)就是概念加專業(yè)名詞還有介紹加實(shí)驗(yàn)。不過(guò)你絕對(duì)不能小看那些概念和介紹,它對(duì)我們有著很重要的指導(dǎo)作用哦!實(shí)驗(yàn)?zāi)蔷透挥谜f(shuō)了,它提高我們的動(dòng)手能力,在實(shí)驗(yàn)的過(guò)程中還能讓你更加理解書中的理念,這就是我學(xué)習(xí)嵌入式的感受。
嵌入式開發(fā)學(xué)習(xí)心得4
學(xué)習(xí)嵌入式,該學(xué)習(xí)什么基本的知識(shí)呢?
首先C語(yǔ)言,這個(gè)是毋庸置疑的,不管是做嵌入式軟件還是硬件開發(fā)的人員,對(duì)C語(yǔ)言的掌握這個(gè)是必需的,特別是對(duì)于以后致力于嵌入式軟件開發(fā)的人,現(xiàn)在絕大部分都是用C語(yǔ)言,你說(shuō)不掌握它可以嗎?至于如何學(xué)習(xí)C語(yǔ)言,我想這些基礎(chǔ)的知識(shí)每個(gè)人都有自己的方法,關(guān)鍵要去學(xué)習(xí),看書也好,網(wǎng)上找些視頻看也好。很多人會(huì)問(wèn),C語(yǔ)言要學(xué)到怎么樣,我覺(jué)得這沒(méi)有標(biāo)準(zhǔn)的答案。我想至少你在明白了一些基礎(chǔ)的概念后,就該寫代碼了,動(dòng)手才是最重要的,當(dāng)你動(dòng)手了,遇到問(wèn)題了,再反過(guò)來(lái)學(xué)習(xí),反過(guò)來(lái)查查課本,那時(shí)的收獲就不是你死看書能得到的。
其次,應(yīng)該對(duì)操作系統(tǒng)有所了解,這對(duì)你對(duì)硬件和軟件的理解,絕對(duì)有很大的幫助。應(yīng)該把系統(tǒng)的管理理解一下,比如進(jìn)程、線程,系統(tǒng)如何來(lái)分配資源的`,系統(tǒng)如何來(lái)管理硬件的,當(dāng)然,不是看書就能把這些理解透,如果不是一時(shí)能理解,沒(méi)關(guān)系,多看看,結(jié)合以后的項(xiàng)目經(jīng)驗(yàn),會(huì)有更好的理解的。
還有應(yīng)該學(xué)習(xí)嵌入式系統(tǒng),如linux或者wince下的編程,這些對(duì)以后做應(yīng)用的編程很有幫助,當(dāng)然,如果做手機(jī)的話,那可以學(xué)習(xí)MTK、塞班、Android等操作系統(tǒng),Android是以后發(fā)展的趨勢(shì),現(xiàn)在很熱門,Android也是基于linux系統(tǒng)封裝的,所以建議先學(xué)習(xí)下linux。
還有,應(yīng)該學(xué)習(xí)下單片機(jī)或者ARM或者M(jìn)IPS,很多人說(shuō)我沒(méi)有單片機(jī)的經(jīng)驗(yàn),直接學(xué)ARM可以嗎?我覺(jué)得那完全沒(méi)有問(wèn)題的,當(dāng)然如果你學(xué)習(xí)過(guò)單片機(jī),那最好不過(guò)了,以后學(xué)習(xí)ARM就更簡(jiǎn)單了。
最后如果你把以上的知識(shí)都有所了解后,就該去閱讀閱讀一些優(yōu)秀的代碼,比如結(jié)合arm芯片手冊(cè)學(xué)習(xí)去學(xué)習(xí)下UBOOT的源代碼,了解下最小的系統(tǒng)開發(fā),那對(duì)你整個(gè)嵌入式開發(fā)的非常有幫助的,可以的話,還可以學(xué)習(xí)下linux的源代碼,當(dāng)然如果你直接閱讀2.6的代碼,我想你會(huì)很痛苦的,可以先看看linux代碼早期的版本,比如0.12的代碼等
等,麻雀雖小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
至于上面說(shuō)的知識(shí)如何學(xué)習(xí)呢?每個(gè)人都應(yīng)該去找自己最好的方法,所謂的最好的方法就是最適合自己的方法。很多人看不進(jìn)書,那就去看看視頻吧。視頻也應(yīng)該要選擇,不是隨便看看,應(yīng)該要有所選擇,有所挑眩我也是這樣一路走過(guò)來(lái)的,不過(guò)我這人比較懶,我看不進(jìn)書,一看書我就想睡覺(jué),所以這幾年我都是看視頻過(guò)來(lái)的,現(xiàn)在也算學(xué)有所成,但也不敢說(shuō)是高手吧。
我在網(wǎng)上看到,有人把自己學(xué)習(xí)嵌入式的視頻總結(jié)出來(lái),嵌入式系列實(shí)踐和視頻教程,大家可以看看網(wǎng)址我仔細(xì)看了覺(jué)得很不錯(cuò),我本來(lái)也想整理下,可是奈何我自己的電腦硬盤空間才40G,沒(méi)有辦法,時(shí)間也是不夠,心有余而力不足,我不是在幫他做廣告,雖然要花錢,我覺(jué)得算不錯(cuò),至少自己不用去整理和花大量的時(shí)間去找資源,當(dāng)然如果網(wǎng)上有的下,你網(wǎng)速和硬盤都?jí)虻脑,我建議大家自己網(wǎng)上下也好。想想我自己該開始學(xué)的時(shí)候,那時(shí)視頻資源少之又少,我買書和買視頻至少花了幾千塊,但是我覺(jué)得那很值,至少我現(xiàn)在賺回來(lái)了很多知識(shí)。
最后,希望這篇文章對(duì)熱愛嵌入式,想致力于嵌入式開發(fā)的朋友有所幫助。送給大家一句簡(jiǎn)單而又樸素的話,堅(jiān)持就是勝利,貴在堅(jiān)持,也可以看看如何堅(jiān)持嵌入式學(xué)習(xí)!
【嵌入式開發(fā)學(xué)習(xí)心得】相關(guān)文章:
嵌入式系統(tǒng)的設(shè)計(jì)與開發(fā)10-01
嵌入式系統(tǒng)的應(yīng)用與開發(fā)論文09-09
嵌入式軟件開發(fā)論文09-04