體會(huì)是指將學(xué)習(xí)的東西運(yùn)用到實(shí)踐中去,通過(guò)實(shí)踐反思學(xué)習(xí)內(nèi)容并記錄下來(lái)的文字,近似于經(jīng)驗(yàn)總結(jié)。那么心得體會(huì)怎么寫(xiě)才恰當(dāng)呢?那么下面我就給大家講一講心得體會(huì)怎么寫(xiě)才比較好,我們一起來(lái)看一看吧。
嵌入式實(shí)訓(xùn)心得體會(huì)篇一
廣義上講,凡是帶有微處理器的專用軟硬件系統(tǒng)都是嵌入式系統(tǒng)。如各類單片機(jī)和dsp系統(tǒng)。從狹義上講,那些使用嵌入式微處理器構(gòu)成獨(dú)立系統(tǒng),具有自己操作系統(tǒng),具有特定功能,用于特定場(chǎng)合的專用軟硬件系統(tǒng)稱為嵌入式系統(tǒng)。嵌入式系統(tǒng)由嵌入式硬件與嵌入式軟件組成; 嵌入式硬件以芯片、模板、組件、控制器形式埋藏于設(shè)備內(nèi)部。
理解“嵌入”的概念 主要從三個(gè)方面上來(lái)理解。
1、從硬件上,將基于cpu的處圍器件,整合到cpu芯片內(nèi)部,比如早期基于x86體系結(jié)構(gòu)下的計(jì)算機(jī),cpu只是有運(yùn)算器和累加器的功能,一切芯片要造外部橋路來(lái)擴(kuò)展實(shí)現(xiàn),象串口之類的都是靠外部的16c550/2的串口控制器芯片實(shí)現(xiàn),而目前的這種串口控制器芯片早已集成到cpu內(nèi)部,還有pc機(jī)有顯卡,而多數(shù)嵌入式處理器都帶有l(wèi)cd控制器,但其種意義上就相當(dāng)于顯卡。比較高端的arm類intel xscale架構(gòu)下的ixp網(wǎng)絡(luò)處理器cpu內(nèi)部集成pci控制器(可配成支持4個(gè)pci從設(shè)備或配成自身為cpi從設(shè)備);還集成3個(gè)npe網(wǎng)絡(luò)處理器引擎,其中兩個(gè)對(duì)應(yīng)于兩個(gè)mac地址,可用于網(wǎng)關(guān)交換用,而另外一個(gè)npe網(wǎng)絡(luò)處理器引擎支持dsl,只要外面再加個(gè)phy芯片即可以實(shí)現(xiàn)dsl上網(wǎng)功能。ixp系列最高主頻可以達(dá)到1.8g,支持2g內(nèi)存,1g×10或10g×1的以太網(wǎng)口或febre channel的光通道。ixp系列應(yīng)該是目標(biāo)基于arm體系統(tǒng)結(jié)構(gòu)下由intel進(jìn)行整合后成xscale內(nèi)核的最高的處理器了。
2、從軟件上前,就是在定制操作系統(tǒng)內(nèi)核里將應(yīng)用一并選入,編譯后將內(nèi)核下載到rom中。而在定制操作系統(tǒng)內(nèi)核時(shí)所選擇的應(yīng)用程序組件就是完成了軟件的“嵌入”,比如wince在內(nèi)核定制時(shí),會(huì)有相應(yīng)選擇,其中就是wordpad,pdf,mediaplay等等選擇,如果我們選擇了,在ce啟動(dòng)后,就可以在界面中找到這些東西,如果是以前pc上將的windows操作系統(tǒng),多半的東西都需要我們得新再裝。
3、把軟件內(nèi)核或應(yīng)用文件系統(tǒng)等東西燒到嵌入式系統(tǒng)硬件平臺(tái)中的rom中就實(shí)現(xiàn)了一個(gè)真正的“嵌入”。。
嵌入式系統(tǒng)分為4層,硬件層、驅(qū)動(dòng)層、操作系統(tǒng)層和應(yīng)用層
1、硬件層,是整個(gè)嵌入式系統(tǒng)的根本,如果現(xiàn)在單片機(jī)及接口這塊很熟悉,并且能用c和匯編語(yǔ)言來(lái)編程的話,從嵌入式系統(tǒng)的硬件層走起來(lái)相對(duì)容易,硬件層也是驅(qū)動(dòng)層的基礎(chǔ),一個(gè)優(yōu)秀的驅(qū)動(dòng)工程師是要能夠看懂硬件的電路圖和自行完成cpld的邏輯設(shè)計(jì)的,同時(shí)還要對(duì)操作系統(tǒng)內(nèi)核及其調(diào)度性相當(dāng)?shù)氖煜さ?。但硬件平臺(tái)是基礎(chǔ),增值還要靠軟件。 硬件層比較適合于,電子、通信、自動(dòng)化、機(jī)電一體、信息工程類專業(yè)的人來(lái)搞,需要掌握的專業(yè)基礎(chǔ)知識(shí)有,單片機(jī)原理及接口技術(shù)、微機(jī)原理及接口技術(shù)、c語(yǔ)言。
2、驅(qū)動(dòng)層,這部分比較難,驅(qū)動(dòng)工程師不僅要能看懂電路圖還要能對(duì)操作系統(tǒng)內(nèi)核十分的精通,以便其所寫(xiě)的驅(qū)動(dòng)程序在系統(tǒng)調(diào)用時(shí),不會(huì)獨(dú)占操作系統(tǒng)時(shí)間片,而導(dǎo)至其它任務(wù)不能動(dòng)行,不懂操作系統(tǒng)內(nèi)核架構(gòu)和實(shí)時(shí)調(diào)度性,沒(méi)有良好的驅(qū)動(dòng)編寫(xiě)風(fēng)格,按大多數(shù)書(shū)上所說(shuō)添加的驅(qū)動(dòng)的方式,很多人都能做到,但可能連個(gè)初級(jí)的驅(qū)動(dòng)工程師的水平都達(dá)不到,這樣所寫(xiě)的驅(qū)動(dòng)在應(yīng)用調(diào)用時(shí)就如同windows下我們打開(kāi)一個(gè)程序運(yùn)行后,再打開(kāi)一個(gè)程序時(shí),要不就是中斷以前的程序,要不就是等上一會(huì)才能運(yùn)行后來(lái)打開(kāi)的程序。想做個(gè)好的驅(qū)動(dòng)人員沒(méi)有三、四年功底,操作系統(tǒng)內(nèi)核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統(tǒng)四層中可是最高的。
驅(qū)動(dòng)層比較適合于電子、通信、自動(dòng)化、機(jī)電一體、信息工程類專業(yè)尤其是計(jì)算機(jī)偏體系結(jié)構(gòu)類專業(yè)的人來(lái)搞,除硬件層所具備的基礎(chǔ)學(xué)科外,還要對(duì)數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)原理、編譯原理都要十分精通了解。
3、操作系統(tǒng)層,對(duì)于操作系統(tǒng)層目前可能只能說(shuō)是簡(jiǎn)單的移植,而很少有人來(lái)自已寫(xiě)操作系統(tǒng),或者寫(xiě)出缺胳膊少腿的操作系統(tǒng)來(lái),這部分工作大都由驅(qū)動(dòng)工程師來(lái)完成。操作系統(tǒng)是負(fù)責(zé)系統(tǒng)任務(wù)的調(diào)試、磁盤和文件的管理,而嵌入式系統(tǒng)的實(shí)時(shí)性十分重要。據(jù)說(shuō),xp操作系統(tǒng)是微軟投入300人用兩年時(shí)間才搞定的,總時(shí)工時(shí)是600人年,中科院軟件所自己的女?huà)zhopen操作系統(tǒng)估計(jì)也得花遇幾百人年才能搞定。因此這部分工作相對(duì)來(lái)講沒(méi)有太大意義。
4、應(yīng)用層,相對(duì)來(lái)講較為容易的,如果會(huì)在windows下如何進(jìn)行編程接口函數(shù)調(diào)用,到操作系統(tǒng)下只是編譯和開(kāi)發(fā)環(huán)境有相應(yīng)的變化而已。如果涉及java方面的編程也是如此的。嵌入式系統(tǒng)中涉及算法的由專業(yè)算法的人來(lái)處理的,不必歸結(jié)到嵌入式系統(tǒng)范疇內(nèi)。但如果涉及嵌入式系統(tǒng)下面嵌入式數(shù)據(jù)庫(kù)、基于嵌入式系統(tǒng)的網(wǎng)絡(luò)編程和基于某此應(yīng)用層面的協(xié)議應(yīng)用開(kāi)發(fā)(比如基于sip、h.323、astrisk)方面又較為復(fù)雜,并且有難度了。
通過(guò)網(wǎng)上查詢我發(fā)現(xiàn)目前國(guó)內(nèi)外這方面的人都很稀缺。一方面,是因?yàn)檫@一領(lǐng)域入門門檻較高,不僅要懂較底層軟件(例如操作系統(tǒng)級(jí)、驅(qū)動(dòng)程序級(jí)軟件),對(duì)軟件專業(yè)水平要求較高(嵌入式系統(tǒng)對(duì)軟件設(shè)計(jì)的時(shí)間和空間效率要求較高),而且必須懂得硬件的工作原理,所以非專業(yè)it人員很難切入這一領(lǐng)域;另一方面,是因?yàn)檫@一領(lǐng)域較新,目前發(fā)展太快,很多軟硬件技術(shù)出現(xiàn)時(shí)間不長(zhǎng)或正在出現(xiàn)(如arm處理器、嵌入式操作系統(tǒng)等),掌握這些新技術(shù)的人當(dāng)然很少。嵌入式人才稀缺,身價(jià)自然就高,越有經(jīng)驗(yàn)價(jià)格就越高。其實(shí)嵌入式人才稀少,根本原因可能是大多數(shù)人無(wú)條件接觸,這需要相應(yīng)的嵌入式開(kāi)發(fā)板和軟件,另外需要有經(jīng)驗(yàn)的人進(jìn)行指導(dǎo)開(kāi)發(fā)流程。我們軟件系的人學(xué)習(xí)嵌入式,顯然應(yīng)偏重于嵌入式軟件,特別是嵌入式操作系統(tǒng)方面。對(duì)于搞嵌入式軟件的人,最重要的技術(shù)顯然是掌握主流嵌入式微處理器的結(jié)構(gòu)與原理,必須掌握一個(gè)嵌入式操作系統(tǒng),必須熟悉嵌入式軟件開(kāi)發(fā)流程并至少做過(guò)一個(gè)嵌入式軟件項(xiàng)目。
然而我們都沒(méi)有做過(guò)一個(gè)嵌入式軟件項(xiàng)目,甚至連嵌入式的開(kāi)發(fā)流程我也不清楚,我只了解了使用簡(jiǎn)單工具做一個(gè)簡(jiǎn)單的實(shí)驗(yàn)。只有去專研才能在嵌入式的領(lǐng)域站住腳,只有知道的比別人多才會(huì)更有競(jìng)爭(zhēng)力。通過(guò)網(wǎng)上了解,我查詢了嵌入式的入門和所需要的知識(shí),其中c語(yǔ)言尤為重要,不管是做嵌入式軟件還是硬件開(kāi)發(fā)的人員,對(duì)c語(yǔ)言的掌握這個(gè)是必需的,特別是對(duì)于以后致力于嵌入式軟件開(kāi)發(fā)的人,現(xiàn)在絕大部分都是用c語(yǔ)言。其次,應(yīng)該對(duì)操作系統(tǒng)有所了解,這對(duì)你對(duì)硬件和軟件的理解,絕對(duì)有很大的幫助。應(yīng)該把系統(tǒng)的管理理解一下,比如進(jìn)程、線程,系統(tǒng)如何來(lái)分配資源的,系統(tǒng)如何來(lái)管理硬件的;知道了c語(yǔ)言和操作系統(tǒng)之后,再來(lái)看看嵌入式系統(tǒng),我們主要學(xué)的是arm,用的是arm7, 深入理解arm不是件容易的事,只有在知道arm相關(guān)知識(shí)之后才能稱得上嵌入式已經(jīng)入門了。 與嵌入式有關(guān)的知識(shí)我也學(xué)了不少就是不能夠綜合在一起運(yùn)用,組成原理,數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng),c++,這3門與嵌入式密切相關(guān)的學(xué)科都系統(tǒng)的學(xué)了一遍,但由于長(zhǎng)時(shí)間沒(méi)用到都有點(diǎn)忘記了,從網(wǎng)上得知嵌入式的學(xué)習(xí)與這些書(shū)有很大關(guān)系之后,我把嵌入式與以前學(xué)過(guò)的知識(shí)結(jié)合起來(lái)發(fā)現(xiàn)嵌入式的實(shí)驗(yàn)中很多都是共通的,我對(duì)嵌入式有了初步的理解。
我以為學(xué)習(xí)嵌入式應(yīng)該分為2個(gè)部分:軟件和硬件。關(guān)于硬件方面我接觸到了數(shù)字電路教材和模擬電路方面的知識(shí),但由于沒(méi)有嵌入式cpu很難親自動(dòng)手來(lái)實(shí)現(xiàn)嵌入式的相關(guān)理論;嵌入式入門則需要不斷地實(shí)驗(yàn)與分析,我只在實(shí)驗(yàn)課時(shí)做幾個(gè)與所給的程序相關(guān)的小程序來(lái)實(shí)現(xiàn)一下;而軟件方面則學(xué)過(guò)c語(yǔ)言,里面通常的語(yǔ)法曾今熟悉過(guò);我通過(guò)下列方法來(lái)適應(yīng)c語(yǔ)言在嵌入式中應(yīng)用:首先重新翻看了下c的教材,看了些常見(jiàn)的語(yǔ)法,接著在編譯器的角度來(lái)看待c,編譯原理我剛學(xué)過(guò),其中將高級(jí)語(yǔ)言與低級(jí)語(yǔ)言的翻譯感覺(jué)在嵌入式中用到了很多;最后沖硬件的角度來(lái)看待c。嵌入式的核心包括嵌入式操作系統(tǒng),嵌入式軟件開(kāi)發(fā)平臺(tái)及工具以及嵌入式應(yīng)用軟件。這些決定怎樣才能開(kāi)發(fā)一個(gè)好的嵌入式系統(tǒng)。 下面談?wù)勎伊私獾那度胧降南嚓P(guān)知識(shí)與應(yīng)用:
首先,嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),且軟硬件可裁減,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式有如下幾個(gè)突出的有點(diǎn)1.系統(tǒng)內(nèi)核小,2專用性強(qiáng),3系統(tǒng)精簡(jiǎn)4高實(shí)時(shí)性os5嵌入式系統(tǒng)的應(yīng)用程序可以沒(méi)有操作系統(tǒng)直接在芯片上運(yùn)行,6嵌入式系統(tǒng)需要開(kāi)發(fā)工具和環(huán)境。
嵌入式系統(tǒng)是近幾年才風(fēng)靡起來(lái)的,但是這個(gè)概念并非新近才出現(xiàn)。從20世紀(jì)七十年代單片機(jī)(最早的單片機(jī)是intel公司的 8048,出現(xiàn)在1976年)的出現(xiàn)到今天各式各樣的嵌入式微處理器,微控制器的大規(guī)模應(yīng)用,嵌入式系統(tǒng)已經(jīng)有了近30年的發(fā)展歷史。經(jīng)過(guò)30年的發(fā)展,嵌入式技術(shù)已經(jīng)日趨成熟,在中國(guó)嵌入式機(jī)一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四個(gè)部分組成,用于實(shí)現(xiàn)對(duì)其他設(shè)備的控制、監(jiān)視或管理等功能。
其次,嵌入式系統(tǒng)無(wú)疑是當(dāng)前最熱門最有發(fā)展前途的it應(yīng)用領(lǐng)域之一。嵌入式系統(tǒng)用在一些特定專用設(shè)備上,通常這些設(shè)備的硬件資源(如處理器、存儲(chǔ)器等)非常有限,并且對(duì)成本很敏感,有時(shí)對(duì)實(shí)時(shí)響應(yīng)要求很高等。特別是隨著消費(fèi)家電的智能化,嵌入式更顯重要。 嵌入式系統(tǒng)是軟硬結(jié)合的學(xué)科,通常有兩類人會(huì)去專研嵌入式:一類是學(xué)電子工程、通信工程等偏硬件專業(yè)的,另一類是學(xué)軟件、計(jì)算機(jī)專業(yè)出身的人,主要從事嵌入式操作系統(tǒng)和應(yīng)用軟件的開(kāi)發(fā)。我是軟件專業(yè)的學(xué)習(xí)嵌入式,越是智能設(shè)備越是復(fù)雜系統(tǒng),軟件越起關(guān)鍵作用,而且這是目前的趨勢(shì)。嵌入式應(yīng)用在很多方面,具體的可以分為工業(yè)控制,交通管理,信息家電,家庭智能管理系統(tǒng),pos網(wǎng)絡(luò)及電子商務(wù),環(huán)境工程與自然,機(jī)器人,機(jī)電產(chǎn)品方面應(yīng)用等方面。其中目前在服務(wù)領(lǐng)域,如遠(yuǎn)程點(diǎn)菜器等已經(jīng)體現(xiàn)了嵌入式系統(tǒng)的優(yōu)勢(shì)。例外還有很多地方用到了嵌入式系統(tǒng),最近飛利浦和arm共同推出32位risc嵌入式控制器,適用于工業(yè)控制,采用最先進(jìn)的0.18微米cmos嵌入式閃存處理技術(shù),操作電壓可以低至1.2伏,它還能降低25%到30%的制造成本,在工業(yè)領(lǐng)域中對(duì)最終用戶而言是一套極具成本效益的解決方案。
那么該如何學(xué)好嵌入式我覺(jué)得應(yīng)該從以下幾點(diǎn)入手:
首先c語(yǔ)言,這個(gè)是毋庸置疑的,不管是做嵌入式軟件還是硬件開(kāi)發(fā)的人員,對(duì)c語(yǔ)言的掌握這個(gè)是必需的,特別是對(duì)于以后致力于嵌入式軟件開(kāi)發(fā)的人,現(xiàn)在絕大部分都是用c語(yǔ)言,你說(shuō)不掌握它可以嗎?至于如何學(xué)習(xí)c語(yǔ)言,我想這些基礎(chǔ)的知識(shí)每個(gè)人都有自己的方法,關(guān)鍵要去學(xué)習(xí),看書(shū)也好,網(wǎng)上找些視頻看也好。很多人會(huì)問(wèn),c語(yǔ)言要學(xué)到怎么樣,我覺(jué)得這沒(méi)有標(biāo)準(zhǔn)的答案。我想至少你在明白了一些基礎(chǔ)的概念后,就該寫(xiě)代碼了,動(dòng)手才是最重要的,當(dāng)你動(dòng)手了,遇到問(wèn)題了,再反過(guò)來(lái)學(xué)習(xí),反過(guò)來(lái)查查課本,那時(shí)的收獲就不是你死看書(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ū)就能把這些理解透,如果不是一時(shí)能理解,沒(méi)關(guān)系,多看看,結(jié)合以后的項(xiàng)目經(jīng)驗(yàn),會(huì)有更好的理解的。
還有應(yīng)該學(xué)習(xí)下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或者mips,很多人說(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)開(kāi)發(fā),那對(duì)你整個(gè)嵌入式開(kāi)發(fā)的非常有幫助的,可以的話,還可以學(xué)習(xí)下linux的源代碼,當(dāng)然如果你直接閱讀2.6的代碼,我想你會(huì)很痛苦的,可以先看看linux 代碼早期的版本,比如0.12 的代碼等等,麻雀雖小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
以上就是我在本學(xué)期學(xué)習(xí)嵌入式后的心得及感想。
【本文地址:http://www.aiweibaby.com/zuowen/445977.html】