當前位置:才華齋>範例>心得體會>

嵌入式實訓心得體會(精選10篇)

心得體會 閲讀(8.91K)

在平日裏,心中難免會有一些新的想法,可以將其記錄在心得體會中,它可以幫助我們瞭解自己的這段時間的學習、工作生活狀態。那麼要如何寫呢?以下是小編為大家收集的嵌入式實訓心得體會,歡迎閲讀與收藏。

嵌入式實訓心得體會(精選10篇)

嵌入式實訓心得體會 篇1

學期開始,我們開始學習《嵌入式系統及應用》,由於初次接觸嵌入式系統,感覺蠻難的,所以收穫不是很大,很多的概念都比較模糊,等到學期結束開始做嵌入式課程設計時,真是茫然無從下手,自從拿到設計主題後,我就像熱鍋上的螞蟻,一個字"急"。最後實在沒有辦法,逼着自己去學習,查資料,總算對嵌入式有了淺層理解。

嵌入式系統本身是一個相對模糊的定義,一個手持的Mp3和一個pC104的微型工業控制計算機都可以認為是嵌入式系統。總體來説,嵌入式系統是"用於控制,監視或者輔助操作機器和設備的裝備"。

一個典型的桌面Linux系統包括3個主要的軟件層———linux內核、C庫和應用程序代碼。內核是唯一可以完全控制硬件的層,內核驅動程序代表應用程序與硬件之間進行會話。內核之上是C庫,負責把pOSIXApI轉換為內核可以識別的形式,然後調用內核,從應用程序向內核傳遞參數。應用程序依靠驅動內核來完成特定的任務。

在瞭解了基礎知識之後,我開始進行上機操作,當然,其中遇到很多的難題,很多東西都是第一次接觸,又沒有別人在旁邊指導操作,完全憑藉自己去摸索練習。其中的困難可想而知。

然而堅持就是勝利,牙一咬眼一閉堅持做下去,而通過本次實驗,我感覺收穫還是蠻多的。可能我對於嵌入式的知識學習的還是不太多,但是這之外的東西收穫頗豐。

它讓我學會了如何通過自己的努力去認知一個新事物,更重要的是端正自己的學習態度,只有真正下功夫去學習,才能有收穫,正所謂"一份耕耘,一份收穫。"沒有付出,何談回報呢?

再者,通過本次實驗,我也學會了如何去分析問題,如何找出自己設計中的不足,繼而去排除解決問題,這就是一個自我學習的過程。當我們通過實驗去學習理論知識時,自己動手得出的結論,不僅能加深我們對嵌入式的理解,更能加深我們對此的記憶。

當然,在這其中,我也發現自己的許多不足之處,由於學期伊始我沒有好好學習,才落到如此地步,這也可以説是一個教訓吧!我相信在以後的學習工作中,我一定會端正自己的學習態度,一絲不苟的去對待每一件事。只有做好足夠的準備,才能事半功倍!

嵌入式實訓心得體會 篇2

20xx年8月我參加了學校安排的課題實訓,基地在北京,學院安排我們集體坐火車一同前去,浩浩蕩蕩的隊伍開始出發了。剛來北京的時候,映入眼綿的都是高樓大廈,一直想到的地方終於到了,好多以前的同學聽説我要去北京實訓都很羨慕不已,我自己也隱隱感到自豪。

我參加的課題實訓是嵌入式方向的,開課的內容主要是嵌入式開發方面的,C語言,數據結構,LINUX基本操作,網絡編程,操作系統和彙編語言,這些都是嵌入式不可缺少的。每個專業技能都決定了你以後找工過。我們班分了很多小組,每組都有小組長,小組長直接對我們負責。教課老師很認真,都是從很基礎的開始講;同學們聽課也很認真,由於代碼操作比較多,鍵盤的聲音源源不斷的在響。好久沒有感覺到這種濃重的學習氣氛了,而在這緊張而充實的學習氛圍中我獲益匪淺,感受頗多。

授課過程中老師們也傳授了一些找工作方面的經驗,比如簡介的樣式和寫法,面試中的一些着裝,禮貌用語和技巧,對此基地的老師還精心的為我們安排了一場模擬面試,在其中我們學到了很多有關於面試方面的經驗。

通過這幾個月的實訓我學到了很多,同時也讓我們意識到我們要學的更多。從程序的設計到編寫、畫圖、調試、修改、完善、到最後的實訓報告,每個人都付出了時間和精力去做好自己的任務幫助隊友,所以團隊的合作和隊友之間的相互協助非常重要。通過實訓讓我們更深一步的對自己的專業,對自己的能力,對自己所學的有正確的認識,並且能在以後的學習工作中不斷提高和完善自己。特別是講C語言和進程通信中老師給了我們每個小組的幾個小項目,讓我學到了更多項目經驗,這在學校之前是沒有的。這次實訓也碰到了些問題,比如項目文檔的寫法,代碼的規範,流程圖的畫法,這些都有講究,在老師和同學的幫助下,我不斷的提高了在這些方面的學習。

生活上班主任郭老師和王老師對我們關懷備至,讓我們沒有感覺在外面的那種不適感,同學們也互幫互助,所以生活上大致沒什麼問題,這讓我們更好的去學專業。很感謝學校有這樣的實訓安排。

總的來説,這次實訓還是比較成功的,無論是個人動手能力還是團隊協作能力都得到了很好的鍛鍊。在實訓過程中老師也交給我們很多簡單實用的技巧。我們也學到了,做好做對一個項目固然重要,同時美觀程度也是必不可少的,無論是從參觀者的角度還是自己看的角度都很重要。

嵌入式實訓心得體會 篇3

我們學習的課本是嵌入式系統應用教程。我學習的體會是這樣的:

開始時,由於是剛剛入門,對老師説的好多東西很好奇,列如C語言也是新鮮的,不過不太懂什麼意思。但是慢慢的,瞭解深入後讓我有了更深的感觸和體會。在嵌入式的學習過程中,讓我瞭解了什麼是嵌入式系統。它就是以應用為中心,以計算機技術為基礎,軟硬件可定製,適用於不同應用場合,對功能、可靠性、成本、體積、功耗有嚴格要求的計算機系統。他一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統、用户應用程序四個部分組成,用於實現對其他設備的控制、監視或管理功能。嵌入式系統已經應用於科學研究、工業控制、軍事技術、交通通信、醫療衞生、消費娛樂等領域,人們日常使用的手機、PDA、汽車、智能家電、GPS等均是嵌入式系統的典型代表。

在學習命令的過程中,只要你認真的看着老師操作還有認真聽着他講,你就會發現有些命令的操作還是很簡單的,不過在操作的過程中,有時也會遇到困難,有時你按照書上學習的例子,命令輸入終端時會出現你不想要的結果,也就是錯誤的結果。這是問問旁邊的同學或是懂得的同學就可以解決了。

在對於這部分的學習中,讓我知道了命令對於嵌入式的重要性。它是linux的重要內容,linux中所有的功能都是通過命令執行。在實際應用中,為了減少系統開銷,經常不使用圖形界面,此時,對系統的所有操作都需要以命令方式來執行。在嵌入式系統開發過程中,由於目標機的性能和配置比較低,因此,一般情況下標機僅具有命令窗口而沒有圖形界面,對目標機的所有操作都通過命令來實現。還有的那就是進一步學習與嵌入式系統開發相關的linux的服務,他們的啟動、設置等的操作和應用。而在學習之中,我們主要介紹的是嵌入式系統中開發工程使用的TFTP、Telent和NFS服務。第一個實現的是上機位與下機位之間文件的傳輸、無磁盤網絡設備的啟動等功能;第二個實現的是遠程登錄功能;第三個實現的是網絡文件系統功能。

從以上的內容之中,並不難感受到我們的學習過程是由淺入深的,這對於我們的學習也有了較好的幫助。當然,我們學習的不僅僅是這麼幾個內容,其中還有相關的實驗內容。在我們基礎的學習過程之中,我有了這麼一點的感受,總的來説就是概念加專業名詞還有介紹加實驗。不過你絕對不能小看那些概念和介紹,它對我們有着很重要的指導作用哦!實驗那就更不用説了,它提高我們的動手能力,在實驗的過程中還能讓你更加理解書中的理念,這就是我學習嵌入式的感受。

學習是可貴的,培訓是精彩的。通過這次可貴而精彩的培訓學習,我們向嵌入式邁進了一步。感歎與憧憬之餘,我想我們只有靠自己的聰明與才智、努力與勤奮去追求我們的美好生活。

嵌入式實訓心得體會 篇4

現在嵌入式做為計算機發展的一個新的方向越來越得到社會的重視。隨之而來的是很多培訓班的誕生,但是如何能在琳琅滿目的培訓機構中找到一個能真正學到東西的培訓班呢,這是擺在眾多想學嵌入式的人面前的第一個問題。我在瞭解了眾多培訓機構並且試聽之後,最終選擇了Tocore嵌入式培訓,之所以選擇,是因為我看重老師的實際能力和認真負責的態度。我非常榮幸能夠成為Tocore中的一員。

嵌入式開發,做為一個新的計算機發展方向,已經越來越受到社會的重視,社會上的需要也十分巨大,可是真正懂得嵌入式開發的人才缺不是很多,歸結去原因主要是一下幾個方面:

一、因為它是新興的一個發展方向,懂得的人自然不多。

二、學習嵌入式需要比較龐雜的知識結構。操作系統、微機原理、C/C++語言、數據結構等。

三、嵌入式學習,上手很困難,不知道從哪裏着手去學習。

在剛開始接觸的時候,我也是抱着本書,自己摸索,可是越看越迷茫,連很多書裏的名詞都不知道是什麼意思,去網上查也沒有得到答案。可是在Tocore我得到了很好的指點,在這裏,由於老師都是十分有經驗的項目經理,他們懂得如何去學習,從哪裏開始入手,這對於我這樣的背景知識比較薄弱又接觸時間比較短的人來説實在是太有幫助了。

雖然課程還沒有完,可是在這段時間的學習中,我按照老師的指導在完善的課程體系下進行系統的學習,已經掌握了U-boot、kernel以及linux移植的基本框架,(我想在今後的學習中一定會對這些知識更加熟悉以至精通!)這對於2個月前什麼都不懂的我來説已經是很大的提高了!用得是ARM9的板子,這也是市場上現在比較新的,比較流行的板子,很多公司在實際的產品開發中就用的是ARM9。在課堂上,老師的講解和我們的練習相結合,理論聯繫實際。老師除了講解知識外,還結合了大量的實際案例和操作,這對於我對問題的理解和知識的記憶有很大幫助。

最後談談對學習態度的一點看法。嵌入式學習,是比較耗時的,前期需要很多知識做鋪墊,有很多人在這個過程中走了不少彎路,於是開始失去耐心、失去信心,以至最終放棄學習。所以我想有必要強調一下問題,在剛開始的時候,自己什麼都不懂,可是學習的願望很強烈,每次上課都希望上完課就能如何如何,可是下來發現自己好像離自己原本的目標還很遠,於是心裏着急,自己跑到網上搜了很多資料,每天亂看,可是並沒有很大的幫助。我想説的是,學習嵌入式一定要有耐心和毅力,不能急躁,按照課程的安排自己多做一些總結和練習,等到知識慢慢的積累下來就會有一種豁然開朗的感覺。

嵌入式實訓心得體會 篇5

本人大學學的是電子信息科學與技術專業,其實這個專業和嵌入式沒有多大的關係,要説有關係就是簡單的講了下C語言語法,學完之後還不知道什麼是C語言,只記住了,char,int,string等佔幾個字節,if,for,while循環什麼的,感覺也就能算一些國小就會的題目,全國計算機等級二級也就糊塗的過了。我這個專業沒學過C++,一開始不知道什麼是向對象,什麼叫面向過程,這可能讓大家笑話了。不過這説的是實話,大學的時候比較喜歡動手,喜歡硬件方面的東西,也喜歡看書。

在大一的時候就聽學長説,單片機很難學,在沒事的時候就從圖書管借了本關於51的書,一開始還真是不怎麼懂,然後硬着頭皮去看,當我把51的結構看完了,就不像一開始那樣一頭霧水了,自己在紙上把51的結構圖默畫一遍,然後再把各個寄存器功能寫一下,各個功能口的結構也畫一遍,然後就不覺得51有什麼難了。其實有些時候不是這個東西你不會,而是在不會的時候自己先告訴自己這個太難了,自己先放棄了。我們學習51芯片,是為了以後的打基礎,知道是怎麼通過配置寄存器來實現功能。

大二下學期的時候,我們開了51的課,這個課幾乎就沒怎麼去,因為我認為沒有必要去聽自己會的東西了。後來聽別人説avr的資源會比51的豐富的很多,所以就想試試,看看有什麼難的,就從網上買了本馬潮老師《AVR單片機嵌入式系統原理與應用實踐》,一邊看書,一邊想自己畫一個板了,一開始想實現一個點陣屏,實現滾動效果,後來想想做個板也花不少錢呢,為什麼不多加一些功能呢,還能多學到些知識,所以就加了温感,紅外,鐵電存儲器等並把所有的擴展口都擴展了出來,備以後用,那時還挺自豪的呢,同學們都很羨慕,不過現在想想其實也沒什麼了。

大學也聽説過嵌入式這個詞,不過不太明白是什麼意思,20xx年的時候從網上找到中嵌視頻,有四張DVD(大約13G),下載下來後,從頭到尾的看了一遍,沒什麼印象,只記得講一些不知所云的函數,然後莫名其妙的講怎麼使用那個44b0的開發板,不過聽完了,還是有很大收穫的,就有一種想裝一個linux的衝動,我是大二下學期才有的自己電腦,不過電腦的配置比較低,1g內存,跑虛擬機就像個蝸牛,所以就想着怎麼才能裝個linux,自己用XP習慣了,如果全換了又捨不得,那時從書上知道linux的文件系統和windows不一樣,只有一個根分區,所以也害怕一裝linux全盤就被格式化了,不過最後還是慾望戰勝了擔心,買了張redhat 9的光盤,小心的裝這個系統,裏邊的英文也不是太難,還是知道大概意思的,所以一步步的裝,最後裝到我的硬盤的最後空間,重新啟動,竟可以選擇進入哪一個系統了,從這之後,自己就不害怕怎麼裝系統了,應了那句言,紙上得來終覺淺,絕知此事要躬行。

所以我認為,買一個開發板是完全有必要的,拿到實物操作一下就不會感覺太抽象了。

後來也想學學arm,但不知道arm是什麼東西,所以就買了本《從51到arm》,講的是關於arm的大體結構,看完後感覺,原來arm就是一個速度更快,接口更豐富的單片機啊。

如果想做linux設備驅動的同學應該對arm硬件有一些瞭解。如果對驅動不感興趣,完全沒有必要去看。交叉編譯器會幫我們做好這些事情,他比我們更瞭解arm結構嵌入式學習。

大三下學期開始準備考研了,所以自己這些興趣就先放下了,報的北郵的信通學院通信專業,當時就是想一定要上個好學校好專業,也沒想太多,結果考了的成績差了點,沒有被錄取,也不想調劑一個二流的學校,然後就參加工作了,工作中每天都用的到開發板,當我看到一個小板上還可以跑系統的時候感覺很不可思議,以為要很大工程。後來邊工作邊學習,每天都要看電腦看到眼發疼,晚上也都差不多十二點時才睡覺。感覺到累,不過也感覺到自己在進步,閒話有點多了,説了很多都是自己大學那點破事。

聽很多的初學者説不知道從哪裏開始,學習嵌入都要學哪些東西,從網上搜了一下,一大堆的東西要學,一下就推薦十幾本書,説看完這本書怎麼怎麼樣,看完那本書怎麼怎麼樣,一下子就給初學者給嚇住了,其實完全沒必要把網上的那些東西全部看一遍,那樣又費時,又感覺工程太大,讓初學者沒有信心去把每一種都看完。網上説的些方面都要知道,不一定全部都掌握,我們可以退成求其次,每一個都知道一些,當然會的越多越好。今天學點這個明天學點那,換着樣來也不會覺得煩。而且還能感覺到每天都有收穫。

嵌入式實訓心得體會 篇6

這學期才接觸嵌入式系統感覺還稱不上入門,我通過學習知道了嵌入式的發展前景很大,各個領域都用到了嵌入式,學好嵌入式不愁沒飯吃。

廣義上講,凡是帶有微處理器的專用軟硬件系統都是嵌入式系統。如各類單片機和DSP系統。從狹義上講,那些使用嵌入式微處理器構成獨立系統,具有自己操作系統,具有特定功能,用於特定場合的專用軟硬件系統稱為嵌入式系統。嵌入式系統由嵌入式硬件與嵌入式軟件組成; 嵌入式硬件以芯片、模板、組件、控制器形式埋藏於設備內部。

理解“嵌入”的概念 主要從三個方面上來理解。

1、從硬件上,將基於CPU的處圍器件,整合到CPU芯片內部,比如早期基於X86體系結構下的計算機,CPU只是有運算器和累加器的功能,一切芯片要造外部橋路來擴展實現,象串口之類的都是靠外部的16C550/2的串口控制器芯片實現,而目前的這種串口控制器芯片早已集成到CPU內部,還有PC機有顯卡,而多數嵌入式處理器都帶有LCD控制器,但其種意義上就相當於顯卡。比較高端的ARM類Intel Xscale架構下的IXP網絡處理器CPU內部集成PCI控制器(可配成支持4個PCI從設備或配成自身為CPI從設備);還集成3個NPE網絡處理器引擎,其中兩個對應於兩個MAC地址,可用於網關交換用,而另外一個NPE網絡處理器引擎支持DSL,只要外面再加個PHY芯片即可以實現DSL上網功能。IXP系列最高主頻可以達到1.8G,支持2G內存,1Gx10或10Gx1的以太網口或Febre channel的光通道。IXP系列應該是目標基於ARM體系統結構下由intel進行整合後成Xscale內核的最高的處理器了。

2、從軟件上前,就是在定製操作系統內核裏將應用一併選入,編譯後將內核下載到ROM中。而在定製操作系統內核時所選擇的應用程序組件就是完成了軟件的“嵌入”,比如WinCE在內核定製時,會有相應選擇,其中就是wordpad,PDF,MediaPlay等等選擇,如果我們選擇了,在CE啟動後,就可以在界面中找到這些東西,如果是以前PC上將的windows操作系統,多半的東西都需要我們得新再裝。

3、把軟件內核或應用文件系統等東西燒到嵌入式系統硬件平台中的ROM中就實現了一個真正的“嵌入”。

嵌入式系統分為4層,硬件層、驅動層、操作系統層和應用層:

1、硬件層,是整個嵌入式系統的根本,如果現在單片機及接口這塊很熟悉,並且能用C和彙編語言來編程的話,從嵌入式系統的硬件層走起來相對容易,硬件層也是驅動層的基礎,一個優秀的驅動工程師是要能夠看懂硬件的電路圖和自行完成CPLD的邏輯設計的,同時還要對操作系統內核及其調度性相當的熟悉的。但硬件平台是基礎,增值還要靠軟件。 硬件層比較適合於,電子、通信、自動化、機電一體、信息工程類專業的人來搞,需要掌握的專業基礎知識有,單片機原理及接口技術、微機原理及接口技術、C語言。

2、驅動層,這部分比較難,驅動工程師不僅要能看懂電路圖還要能對操作系統內核十分的精通,以便其所寫的驅動程序在系統調用時,不會獨佔操作系統時間片,而導至其它任務不能動行,不懂操作系統內核架構和實時調度性,沒有良好的驅動編寫風格,按大多數書上所説添加的驅動的方式,很多人都能做到,但可能連個初級的驅動工程師的水平都達不到,這樣所寫的驅動在應用調用時就如同windows下我們打開一個程序運行後,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運行後來打開的程序。想做個好的驅動人員沒有三、四年功底,操作系統內核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統四層中可是最高的。

驅動層比較適合於電子、通信、自動化、機電一體、信息工程類專業尤其是計算機偏體系結構類專業的人來搞,除硬件層所具備的基礎學科外,還要對數據結構與算法、操作系統原理、編譯原理都要十分精通了解。

3、操作系統層,對於操作系統層目前可能只能説是簡單的移植,而很少有人來自已寫操作系統,或者寫出缺胳膊少腿的操作系統來,這部分工作大都由驅動工程師來完成。操作系統是負責系統任務的調試、磁盤和文件的管理,而嵌入式系統的實時性十分重要。據説,XP操作系統是微軟投入300人用兩年時間才搞定的,總時工時是600人年,中科院軟件所自己的女媧Hopen操作系統估計也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。

4、應用層,相對來講較為容易的,如果會在windows下如何進行編程接口函數調用,到操作系統下只是編譯和開發環境有相應的變化而已。如果涉及Java方面的編程也是如此的。嵌入式系統中涉及算法的由專業算法的人來處理的,不必歸結到嵌入式系統範疇內。但如果涉及嵌入式系統下面嵌入式數據庫、基於嵌入式系統的網絡編程和基於某此應用層面的協議應用開發(比如基於SIP、H.323、Astrisk)方面又較為複雜,並且有難度了。

通過網上查詢我發現目前國內外這方面的人都很稀缺。一方面,是因為這一領域入門門檻較高,不僅要懂較底層軟件(例如操作系統級、驅動程序級軟件),對軟件專業水平要求較高(嵌入式系統對軟件設計的時間和空間效率要求較高),而且必須懂得硬件的工作原理,所以非專業IT人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,很多軟硬件技術出現時間不長或正在出現(如ARM處理器、嵌入式操作系統等),掌握這些新技術的人當然很少。嵌入式人才稀缺,身價自然就高,越有經驗價格就越高。其實嵌入式人才稀少,根本原因可能是大多數人無條件接觸,這需要相應的嵌入式開發板和軟件,另外需要有經驗的人進行指導開發流程。我們軟件系的人學習嵌入式,顯然應偏重於嵌入式軟件,特別是嵌入式操作系統方面。對於搞嵌入式軟件的人,最重要的技術顯然是掌握主流嵌入式微處理器的結構與原理,必須掌握一個嵌入式操作系統,必須熟悉嵌入式軟件開發流程並至少做過一個嵌入式軟件項目。

然而我們都沒有做過一個嵌入式軟件項目,甚至連嵌入式的開發流程我也不清楚,我只瞭解了使用簡單工具做一個簡單的實驗。只有去專研才能在嵌入式的領域站住腳,只有知道的比別人多才會更有競爭力。通過網上了解,我查詢了嵌入式的入門和所需要的知識,其中C語言尤為重要,不管是做嵌入式軟件還是硬件開發的人員,對C語言的掌握這個是必需的,特別是對於以後致力於嵌入式軟件開發的人,現在絕大部分都是用C語言。其次,應該對操作系統有所瞭解,這對你對硬件和軟件的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如進程、線程,系統如何來分配資源的,系統如何來管理硬件的`;知道了c語言和操作系統之後,再來看看嵌入式系統,我們主要學的是ARM,用的是ARM7, 深入理解ARM不是件容易的事,只有在知道ARM相關知識之後才能稱得上嵌入式已經入門了。 與嵌入式有關的知識我也學了不少就是不能夠綜合在一起運用,組成原理,數據結構,操作系統,C++,這3門與嵌入式密切相關的學科都系統的學了一遍,但由於長時間沒用到都有點忘記了,從網上得知嵌入式的學習與這些書有很大關係之後,我把嵌入式與以前學過的知識結合起來發現嵌入式的實驗中很多都是共通的,我對嵌入式有了初步的理解。

我以為學習嵌入式應該分為2個部分:軟件和硬件。關於硬件方面我接觸到了數字電路教材和模擬電路方面的知識,但由於沒有嵌入式CPU很難親自動手來實現嵌入式的相關理論;嵌入式入門則需要不斷地實驗與分析,我只在實驗課時做幾個與所給的程序相關的小程序來實現一下;而軟件方面則學過C語言,裏面通常的語法曾今熟悉過;我通過下列方法來適應C語言在嵌入式中應用:首先重新翻看了下C的教材,看了些常見的語法,接着在編譯器的角度來看待C,編譯原理我剛學過,其中將高級語言與低級語言的翻譯感覺在嵌入式中用到了很多;最後衝硬件的角度來看待C。嵌入式的核心包括嵌入式操作系統,嵌入式軟件開發平台及工具以及嵌入式應用軟件。這些決定怎樣才能開發一個好的嵌入式系統。 下面談談我瞭解的嵌入式的相關知識與應用:

首先,嵌入式系統是以應用為中心,以計算機技術為基礎,且軟硬件可裁減,適應應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式有如下幾個突出的有點:

1.系統內核小

2.專用性強

3.系統精簡

4.高實時性OS

5.嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行

6.嵌入式系統需要開發工具和環境。

嵌入式系統是近幾年才風靡起來的,但是這個概念並非新近才出現。從20世紀七十年代單片機(最早的單片機是Intel公司的 8048,出現在1976年)的出現到今天各式各樣的嵌入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的發展歷史。經過30年的發展,嵌入式技術已經日趨成熟,在中國嵌入式機一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用户的應用程序等四個部分組成,用於實現對其他設備的控制、監視或管理等功能。

其次,嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,並且對成本很敏感,有時對實時響應要求很高等。特別是隨着消費家電的智能化,嵌入式更顯重要。 嵌入式系統是軟硬結合的學科,通常有兩類人會去專研嵌入式:

一類是學電子工程、通信工程等偏硬件專業的。

另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。我是軟件專業的學習嵌入式,越是智能設備越是複雜系統,軟件越起關鍵作用,而且這是目前的趨勢。嵌入式應用在很多方面,具體的可以分為工業控制,交通管理,信息家電,家庭智能管理系統,POS網絡及電子商務,環境工程與自然,機器人,機電產品方面應用等方面。其中目前在服務領域,如遠程點菜器等已經體現了嵌入式系統的優勢。例外還有很多地方用到了嵌入式系統,最近飛利浦和ARM共同推出32位RISC嵌入式控制器,適用於工業控制,採用最先進的0.18微米CMOS嵌入式閃存處理技術,操作電壓可以低至1.2伏,它還能降低25%到30%的製造成本,在工業領域中對最終用户而言是一套極具成本效益的解決方案。

那麼該如何學好嵌入式我覺得應該從以下幾點入手:

首先C語言,這個是毋庸置疑的,不管是做嵌入式軟件還是硬件開發的人員,對C語言的掌握這個是必需的,特別是對於以後致力於嵌入式軟件開發的人,現在絕大部分都是用C語言,你説不掌握它可以嗎?至於如何學習C語言,我想這些基礎的知識每個人都有自己的方法,關鍵要去學習,看書也好,網上找些視頻看也好。很多人會問,C語言要學到怎麼樣,我覺得這沒有標準的答案。我想至少你在明白了一些基礎的概念後,就該寫代碼了,動手才是最重要的,當你動手了,遇到問題了,再反過來學習,反過來查查課本,那時的收穫就不是你死看書能得到的。

其次,應該對操作系統有所瞭解,這對你對硬件和軟件的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如進程、線程,系統如何來分配資源的,系統如何來管理硬件的,當然,不是看書就能把這些理解透,如果不是一時能理解,沒關係,多看看,結合以後的項目經驗,會有更好的理解的。

還有應該學習下linux或者wince下的編程,這些對以後做應用的編程很有幫助,當然,如果做手機的話,那可以學習MTK、塞班、Android等操作系統,Android是以後發展的趨勢,現在很熱門,Android也是基於linux系統封裝的,所以建議先學習下linux。

還有,應該學習下單片機或者ARM或者MIPS,很多人説我沒有單片機的經驗,直接學ARM可以嗎?我覺得那完全沒有問題的,當然如果你學習過單片機,那最好不過了,以後學習ARM就更簡單了。

最後如果你把以上的知識都有所瞭解後,就該去閲讀閲讀一些優秀的代碼,比如結合arm芯片手冊學習去學習下UBOOT的源代碼,瞭解下最小的系統開發,那對你整個嵌入式開發的非常有幫助的,可以的話,還可以學習下linux的源代碼,當然如果你直接閲讀2.6的代碼,我想你會很痛苦的,可以先看看linux 代碼早期的版本,比如0.12 的代碼等等,麻雀雖小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。

嵌入式實訓心得體會 篇7

一、嵌入式系統開發與應用概述

在今日,嵌入式ARM 技術已經成為了一門比較熱門的學科,無論是在電子類的什麼領域,你都可以看到嵌入式ARM 的影子。如果你還停留在單片機級別的學習,那麼實際上你已經落下時代腳步了,ARM 嵌入式技術正以幾何的倍數高速發展,它幾乎滲透到了幾乎你所想到的領域。本章節就是將你領入ARM 的學習大門,開始嵌入式開發之旅。以嵌入式計算機為技術核心的嵌入式系統是繼網絡技術之後,又一個IT領域新的技術發展方向。由於嵌入式系統具有體積小、性能強、功耗低、可靠性高以及面向行業具體應用等突出特徵, 目前已經廣泛地應用於軍事國防、消費電子、信息家電、網絡通信、工業控制等各個領域。嵌入式的廣泛應用可以説是無所不在。

嵌入式微處理器技術的基礎是通用計算機技術。現在許多嵌入式處理器也是從早期的PC 機的應用發展演化過來的,如早期PC 諸如TRS-80、Apple II 和所用的Z80 和6502 處理器,至今仍為低 端的嵌入式應用。在應用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。嵌入式處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM 等系列。

在早期實際的嵌入式應用中,芯片選擇時往往以某一種微處理器內核為核心,在芯片內部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口總線及總線控制邏輯、定時/計數器、WatchDog、I/O、串行口、脈寬調製輸出、A/D、D/A 等各種必要的功能和外設。

二、實習設備

硬件:Embest EduKit-IV實驗平台、ULINK2仿真器套件、PC機

軟件:mu;Vision IDE for ARM集成開發環境、Windows 98/2000/NT/XP

三、實習目的

1.初步掌握液晶屏的使用及其電路設計方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務調用的方法把液晶顯示函數添加到uC/OS-II中;通過實驗掌握液晶顯示文本及圖形的方法與程序設計。

2.瞭解S3C2410X處理器UART相關控制寄存器的使用; 熟悉ARM處理器系統硬件電路中UART接口的設計方法:掌握ARM處理器串行通信的軟件編程方法。

3.掌握有關音頻處理的基礎知識;通過實驗瞭解IIS音頻接口的工作原理;通過實驗掌握對處理器S3C2410X中IIS模塊電路的控制方法;通過實驗掌握對常用IIS接口音頻芯片的控制方法。

4.瞭解mu;C/OS-II移植條件和內核基本結構;掌握將mu;C/OS-II內核移植到ARM9處理器上的方法和步驟。

四、實習要求

通過對mu;C/OS-II移植實驗、mu;C/OS-II LCD顯示實驗、串口通信實驗、IIS音頻實驗、液晶顯示實驗的學習,並將各部分內容合併,最終得出實習結果,實習要求在鍵盤上輸入學號,在液晶顯示屏上顯示相應的學生信息。學生信息包括顯示每個人的照片和姓名系別等,並用鍵控設置學生輸出的順序,輸入學號就顯示那個學生的信息,然後過一段時間就順序循環播放。

移植mu;C/OS-II內核到ARM處理器S3C2410,在IDE中觀察其運行狀況編寫S3C2410X處理器的串口通信程序;監視串行口UART1動作;將從UART1接收到的字符串回送顯示。將從UART1接收到的字符串回送顯示。

通過使用Embest EduKit-IV實驗板的彩色液晶屏(800*480)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,並編寫任務函數在uC/OS-II系統中實現位圖顯示。在uC/OS-II中建立五個任務Tast1和Tast2,其中Tast1順序熄滅四個LED,延遲一會在順序點亮四個LED。Tast2在LCD屏幕上循環顯示三幅圖片,並打印一些文字信息和背景音樂。過使用Embest EduKit-III實驗板的256 色彩色液晶屏(320x240)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,並編寫程序實現:畫出多個矩形框;顯示ASCII字符;顯示漢字字符;顯示彩色位圖。

五、實習步驟

1. 準備實驗環境

使用ULINK2仿真器連接Embest EduKit-IV實驗平台的主板JTAG接口;使用Embest EduKit-IV實驗平台附帶的交叉串口線,連接實驗平台主板上的COM2和PC機的串口(一般PC只有一個串口,如果有多個請自行選擇,筆記本沒有串口設備的可購買USB轉串口適配器擴充);使用Embest EduKit-IV實驗平台附帶的電源適配器,連接實驗平台主板上的電源接口。

2. 串口接收設置

在PC機上運行windows自帶的超級終端串口通信程序,或者使用實驗平台附帶光盤內設置好了的超級終端,設置超級終端:波特率115200、1位停止位、無校驗位、無硬件流控制,或者使用其它串口通信程序。(注:超級終端串口的選擇根據用户的PC串口硬件不同,請自行選擇,如果PC機只有一個串口,一般是COM1)

3. 打開實驗例程

1)打開實驗程序

2)運行mu;Vision IDE for ARM軟件

3)默認打開的工程在源碼編輯窗口會顯示實驗例程的説明文件,詳細閲讀並理解實驗內容。

4)工程提供了兩種運行方式:一是下載到SDRAM中調試運行,二是固化到Nor Flash中運行。用户可以在工具欄Select Target下拉框中選擇在RAM中調試運行還是固化Flash中運行。下面實驗將介紹下載到SDRAM中調試運行,所以我們在Select Target下拉框中選擇UART Test IN RAM。

5)接下來開始編譯鏈接工程,在菜單欄“Projiet”選擇“Build target”或者“Rebuild all target files”編譯整個工程。

6)編譯完成後,在輸出窗口可以看到編譯提示信息,比如“"MUART " - 0 Error(s), 1 Warning(s).”,如果顯示“0 Error(s)”即表示編譯成功。

7)撥動實驗平台電源開關,給實驗平台上電,單擊菜單欄Debug->Start/Stop Debug Session項將編譯出來的映像文件下載到SDRAM中,或者單擊工具欄“”按鈕來下載。

8)下載完成後,單擊菜單欄Debug->Run項運行程序,或者單擊工具欄“”按鈕來全速運行程序。用户也可以使用進行單步調試程序。

9)全速運行後,用户可以在超級終端看到程序運行的信息。

10)用户可以Stop程序運行,使用mu;Vision IDE for ARM的一些調試窗口跟蹤查看程序運行的信息。 注:如果在第4)步用户選擇在Flash中運行,則編譯鏈接成功後,單擊菜單欄Flash->Download項將程序固化到NorFlash中,從實驗平台的主板拔出JTAG線,給實驗平台重新上電,程序將自動運行。

部分程序圖:

串口通信實驗:

IIS音頻實驗:

六、實習體會

在嵌入式系統中,除了課本上的基礎知識外,還學會了軟件編程的基本思路,掌握了液晶屏的使用及其電路設計方法;掌握有關音頻處理的基礎知識;掌握液晶顯示文本及圖形的方法與程序設計。

通過這次設計,掌握了液晶顯示實驗、mu;C/OS-II移植、mu;C/OS-IILCD顯示的工作原理及串口通信實驗的工作過程,學會了使用仿真軟件Embest EduKit-IV實驗平台及ULINK2仿真器套件,並學會通過應用軟件仿真來實現各種通信系統的設計,對以後的學習和工作都起到了一定的作用,加強了動手能力和學業技能。雖然花了很長時間編寫軟件程序設計,但這一切還是理論上的。希望學校能提供機會和條件,讓我們能夠去真正地將理論和實踐相結合。通過這次程序,感覺自己所掌握的知識是那麼的有限,還有許多需要改進和不足的地方,同時也幫助了我怎樣學好這門課程,增加了我對這門學科的興趣。總體來説,這次實習我受益匪淺。在摸索該如何設計電路使之實現所需功能的過程中特別有趣,培養了我的設計思維,增加了實際操作能力。在讓我體會到了設計電路的艱辛的同時,更讓我體會到成功的喜悦和快樂。通過這次實習通信系統的設計,使我更加清楚以後的發展及學習的方向。

嵌入式實訓心得體會 篇8

一、嵌入式的概述:

隨着信息化技術的發展和數字化產品的普及,以計算機技術、芯片技術和軟件技術為核心的嵌入式系統再度成為當前研究和應用的熱點,通信、計算機、消費電子技術(3C)合一的趨勢正在逐步形成,無所不在的網絡和無所不在的計算(everything connecting, everywhere computing)正在將人類帶入一個嶄新的信息社會。

二、實習目的

學習和了解了嵌入式在生活中的重要作用和發展過程,熟練掌握ARM硬件體系結構,熟悉linux下的嵌入式編程流程,積累自己的軟件編寫經驗,能夠參與並實現一個真實和完整的嵌入式項目,為今後的學習和將從事的技術工作打下堅實的基礎。

三、實習任務

第一階段Linux操作和編程基礎

主要介紹Linux的基本命令和基礎編程知識,包括Linux的文件操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調試器和Make項目管理工具等知識。

第二階段 嵌入式C語言編程基礎

主要介紹在嵌入式開發編程中C語言的重要概念和編程技巧中的重點難點,以複習串講和實例分析的形式,重點介紹包括函數與程序結構,指針、數組和鏈表,庫函數的使用等知識。

第三階段Linux上C強化編程訓練

主要包括整數算法訓練,遞歸和棧編程訓練,位操作訓練,指針訓練,字符串訓練和常用C庫函數編程接口實踐,強化學員對Linux下基本編程開發的理解和編碼調試的能力。

第四階段 Linux環境高級編程及項目開發編程實踐

主要包括系統編程(信號/系統調用/管道/FIFO/消息隊列/共享內存等),文件I/O編程(文件描述符/文件讀寫接口/原子操作/阻塞與非阻塞IO等,多任務和多線程編程(進程標識/ 用户標識/fork與vfork/多線程概念/線程同步等),網絡編程(網絡基本概念/套接口編程/網絡字節次序/Client/Server結構/UDP編程);掌握Linux下Socket編程的開發流程,熟悉網絡編程的調用接口函數和相關數據結構,使學員初步具備在Linux上進行系統編程開發的能力。同時綜合之前所學內容和編程技術,以小組為單位進行一個團隊合作項目的開發,考核內容包括文件I/O編程,多線程編程,網絡編程和項目文檔編寫。

第五階段嵌入式處理器體系結構及編程實踐

主要介紹ARM體系結構及其基本編程知識,包括指令分類,尋址方式、指令集、存儲系統、異常中斷處理、彙編語言以及CC++和彙編語言的混合編程等知識。同時結合ARM嵌入式開發板硬件設計原理和基本硬件設計流程,分析各種外設的工作原理和驅動機制,並自己動手實踐完成一個ARM開發板上的編程大作業。

第六階段嵌入式Linux開發基礎及高級應用

主要介紹嵌入式Linux開發應用程序的基本流程和知識,包括嵌入式Linux基本概念和開發流程、Bootloader工作原理、內核裁減配置和交叉編譯、根文件系統製作、網絡編程以及圖形界面和數據庫開發等知識。同時獨立完成一個基於嵌入式Linux GUI的應用編程大作業。

第七階段嵌入式 Linux驅動理論及驅動程序開發實踐

主要介紹嵌入式Linux上驅動程序開發規範,包括設備驅動程序概念、字符設備驅動程序、塊設備與網絡設備、網卡驅動以及常用嵌入式設備驅動開發等知識。同時獨立實現兩種嵌入式設備驅動程序的編寫,包括驅動模塊的調試和加載以及完整的項目開發文檔的編寫。

第八階段嵌入式Linux項目團隊開發實踐鍛鍊

主要包括設計並實現一個真實和完整的嵌入式項目的開發流程,涉及到數據採集、網絡通訊、圖形用户界面顯示以及嵌入式數據庫存儲系統等多種嵌入式Linux編程技術。要求學員建立起團隊開發和協同工作的企業項目開發模式的概念和流程,強化學員對編寫項目概要設計文檔和詳細設計文檔的理解,為就業前的職業技能和素質訓練做好充分準備。

嵌入式實訓心得體會 篇9

從實習到現在搞嵌入式開發快一年了,驀然回首好像一年過得挺快,挺順利的。細細品味,發現這一年還是有很多值得回憶和總結的東西。至少這一年看書挺多,大概二十幾本,當然和那些一年看一百多本書的人沒法比,但是我已經超越了自己。這是我大學畢業的第一年,初次走上社會,很想一展身手,可是.....其實也不用可是了,和很多朋友一樣碰了很多釘子,現在我和老闆的關係就挺一般的,只是我性格還不錯,做優秀員工看來還得慢慢學。

今年最大的收穫就是做了一個半項目,是在uClinux下面跑的。半個是SNMP-Agent的實現,因為我去的時候snmpd已經跑起來了,我只是實現部分管理功能;一個是基於Web的管理系統,使公司的主打產品微波通信設備上網。這個項目是我一手策劃,一手實現(界面設計是一位女同事,很優秀的程序員),從中學到的東西也最多,感情不可謂不深。

SNMP即簡單網絡管理協議,其實一點都不簡單。在我所知的網絡協議裏面,它僅僅比OSI的CMIP簡單一點,而CMIP直到現在還沒得到廣泛應用。我們能夠實現SNMP-Agent不能不感謝CarnegieMellon大學免費發佈的ucd-snmp軟件包。它使得開發人員專注於實現對特定設備的管理功能。

我在項目中的工作主要是擴展MIB,實現相應的管理功能以及網絡功能的擴展。我們公司的MIB庫比較龐大,但是程序運行還是挺快的。因為ucd-snmp軟件包中大量使用回調函數,而且它將MIB樹以二叉樹形式表示,但是每個結點不是單個的MIB結點,而是一個表,包括了多個結點。回調函數和兩層表示法的使用是操作快速的主要因素。

基於Web的管理系統我原本是打算在設備外實現SNMP-Manager的功能,因為設備中已經嵌入了Agent。這樣管理人員可以在世界各地通過WWW登錄公司的管理平台,實現對所有設備的管理。但是老闆想在設備中嵌入一個管理系統,可以通過www管理單個設備就行,這樣工作又輕鬆了一點,就按老闆的意思做了。

我用的http服務器是BOA,它比現在市場佔有率第一的Apache速度要快。目前還只支持CGI,我就用C寫CGI程序,古老了點。但是在開發過程中感覺用CGI比用現在流行的ASP,JSP要爽,可以隨心所欲,而且這也是用CC++語言的優點。CGI程序很簡單,它的輸入就是標準輸入,它的輸出就是標準輸出。BOA在uClinux上面跑總要出點問題的,出問題好,出了問題我就能找到問題,一來一往,我對socket編程,I/O多路等編程技術瞭解也就越來越深了。

在Linux下面搞了一年,不愛上Linux都難,個人認為軟件開發人員在Linux下面進步是最快的。那麼多優秀的開源代碼供我們研究,猶如每天與世界上最優秀的程序員打交道,進步於不經意間。正所謂“熟讀唐詩三百首,不會作詩也會吟”。GCC編譯器的優秀不用多説,我覺得寫Makefile也是很件開心的事。不推薦程序員搞開發都用IDE,隔靴捎癢很不爽。但是Linux缺點也很明顯,聽歌、看碟、玩遊戲不如Windows。恰巧公司的電腦沒音箱,乾脆我就懶得用Windows了。

用Linux而不講開源是不道德的,我們程序員享受着開源的好處,自然也要為開源做點貢獻。我開發的所有軟件都開源,但是我也有個“怪癖”:不喜歡別人在我代碼未完成的時候問我要源代碼。

做嵌入式開發一年,稍稍有點心得。總結了一下,有以下幾點經驗:

1.不要玩Linux。這一點主要是對像我這樣在Linux下面開發的程序員來説的。因為Linux對程序員的吸引力很大,但它下面可以直接用的軟件還是比較少。於是我們總想到網上找一些開源的軟件裝到我們的機器上,從無到有讓人很有成就感的。要是裝上的不是最新版本的還不滿意,於是又開始忙升級。在Windows下這個過程大概沒什麼意思,全都next了。在Linux下就不一樣了,直接拿過來的源代碼很多編譯都不能通過,最新版本更是這樣,得我們自己改,而且往往時改了又改。這個過程很花時間,我就在這方面浪費了很多時間,本來有個月工作比較輕鬆,打算閲讀Linuxkernel代碼(也想成高手),當時我機子上沒有好的閲讀工具,於是先弄了個sourcenavigator,覺得不夠又裝了個openoffice,然後又找來了幾份不同版本的kernel代碼。結果一個月過去了,一個文件夾還沒看完。後面工作緊了,只能把看kernel當休息,直到現在才粗略看完fs,mm兩個文件夾。

2.不要滿足於C語言。C語言很優秀,也很簡單。程序設計能力不等同於用C語言能力。嵌入式開發程序員要有紮實的數據結構基礎,要積極的學習操作系統,積極的學習網絡編程,要是想進行驅動開發還需要積極的學習硬件知識。

3.瞭解幾種芯片體系結構。嵌入式不像PC領域x86一統天下,在嵌入式領域ARM、MIPS、M68k等各顯神通。例如ARM7是沒有MMU的,uClinux在它上面跑是最合適了,但是沒有MMU我們也必須實現簡單的MM功能,同時沒有MMU一些常用庫函數是不能實現的,這些嵌入式開發程序員必須要了解。

4.編寫無錯的C程序。關於這一點建議閲讀SteveMaguire的《WritingCleanCode》。我對MS沒有好感,但這不影響我對MS裏面大牛們的尊敬。嵌入式的調試是非常麻煩的,很耗時。雖然有gdbserver這類工具,但是你用的開發工具鏈中不一定包括它,而且就算用上了調試仍然是很花時間的。所以要是不想天天通宵調程序呢,那就要時時以編寫無錯程序為目標。

5.瞭解一點編譯知識。這對編寫高性能程序很有幫助。

6.學習設計模式。設計模式一般在高級語言中討論較多,但是好東西應該大家一起分享。學習設計模式對提高我們的設計能力非常有幫助。用C語言也可以實現一些模式思想,例如我們常用的回調函數,就可看作是Command模式的C語言版本。

7.要有前瞻性,要積極學習新技術。目前的嵌入式開發一般都是將PC應用加以剪裁,移植到嵌入式系統中。但是隨着通信技術的發展,IPv6的廣泛應用,設備上網是大勢所趨。許多新技術有可能在嵌入式領域率先應用。把握住這個趨勢,嵌入式程序員大有可為。

現在很多公司招程序員要求有嵌入式開發經驗,其實本質上嵌入式開發和我們平常的開發沒什麼不同,只是要求嚴格一點。我寫下這些希望對學習嵌入式開發的朋友們有所幫助。

嵌入式ARM軟件開發設計流程:

一、項目總體任務描述:

設計GPS/北斗接收顯示終端平台,為數據的接收(NEMA格式),處理,圖形顯示等後端應用軟件提供平台支持。

二、項目功能要求:

1.以PXA270微處理器配合LCD模塊開發出獨立的接收顯示終端硬件平台;

2.在該硬件平台架構LINUX,

E操作系統

三、嵌入式軟件開發上手知識儲備和開發流程

(注:由於我們開發時買了一個樣機,這樣可以節省我們項目開發中的許多時間和降低了開發的複雜度,我們在看資料的時候,作為學習時,可以認真仔細的看每個細節,但作為開發時,有時會碰到一些無關緊要的細節問題,這時可以採用黑匣子辦法,只要會用就行了,我的理解是做項目時並不一定需要知道每個具體細節,要學會分清“系統學習”和“實踐應用”的範疇。比方説,操作系統,我們只需要拿別人的一個樣板來修改達到自己需要的要求就可以,而沒必要自己去編操作系統,一般來講,一個人自己去編寫那東西是不大現實的。所以以下我都是從實用的角度出發,總節我這段時間ARM的學習體會,從而讓對嵌入式不瞭解的新手如何迅速掌握開發中的重點以及達到開發的能力。總之,我的理解是搞開發就是大量廣泛看好的資料,一份好的資料可以節省你開發中的好多時間。不必等資料都看完再動手,那樣時間不夠,可以一邊動手一邊學習資料,需要什麼方面的知識,不懂的當即查下看懂即可。)

嵌入式軟件開發整體流程:

Uboot啟動代碼的編寫->各模塊驅動程序的開發->操作系統的移植->應用程序的開發

以下是上手的一些基本知識儲備:

1)彙編語言的學習可參見文件夾“我的ARM”->“ARM彙編指令”集,不需要都掌握,只要知道有哪些指令功能,用的時候查閲就可以了。這部分的學習對用匯編編寫的“uboot”啟動代碼的理解比較重要,啟動代碼的詳細介紹可參見“StudyARMboot”這本書,裏面講的非常詳細。(注:如沒特殊説明,資料指的是都是“我的ARM”文件夾裏的資料)

2)C語言只需我們本科學的就夠用了,大致過一遍應用時去查就可以了。沒必要再深入系統的學習。搞Wince操作系統移植的同學有必要把C++快速學一遍,掌握C++的三大特性(抽象性,繼承和派生,多態),因為操作系統Wince的程序代碼都是按C++的編程格式組織起來的,如果不懂C++的那些特性,比較難看懂程序。這方面的資料請看見文件夾“VC++學習”,裏面資料相當詳細。

3)各模塊驅動程序的開發。這方面首先要熟讀芯片資料,要理解軟件程序是怎樣控制硬件的。(簡單的理解就是往寄存器裏寫不同的值以驅使硬件實現不同的功能。)剛開始不必把芯片中的每個模塊都搞透,只需熟悉一些常用的模塊即可,比方説串口,I/O口,IIC總線,LCD驅動控制和顯示等等,這些跟我們當前的項目都是緊密聯繫的。看各個模塊芯片資料的時候可以對照示例程序結合起來看,首先要理解這個模塊的工作原理,然後看程序中每個寄存器所設的參數,邊看邊思考這些程序如果我用在其他的地方該如何修改。其他的模塊的學習都是觸類旁通的,關鍵是思路,可以把本科我們所做的單片機,DSP等實驗聯想結合起來。資料可參見文件夾“44b0實驗資料”和“實驗指導書”。

4)操作系統的移植。主要是理解操作系統的一些基本概念(如對信號量,鎖,進程同步,進程間的通信,臨界資源使用,驅動管理,文件存儲等等),然後知道這些概念在程序中是如何反映出它們的功能的。我們以UCOS-II這個操作系統作為理解學習,具體資料參見文件夾“uCOSII-en”,裏面資料講得非常詳細。項目中要求的是用Wince和Linux兩套操作系統,由於我們買了成套開發板,代碼都有,我們要做的工作就是對它們進行修改和移植,所以只有當你瞭解了操作系統的一些基本概念,你才可能對它們進行修改。Linux開發難度要大些,不僅操作複雜些,而且開發用的命令行的方式,這方面的資料可參考文件夾“linux學習”和“ucLinux核心(中文手冊)”,由於嵌入式大部分用的是嵌入式linux操作系統,從學習的角度來講,這方面要多下功夫。

至於應用程序的開發,那就要看具體的應用了,這個難度不是很大。

嵌入式實訓心得體會 篇10

大二下學期,大學裏的同學都面臨着一次選擇,考研或者就業,培訓機構紛紛到學校來招生,很多人都猶豫了,也包括我。因為要花一部分費用,而且自己還沒畢業,考慮到父母的經濟能力,在反覆和家裏商量後,因為就業形勢嚴峻,而自己又不想考研,我意識到了這是自己走向社會一個關鍵的轉折點,也可能是人生的轉折點,所以我選擇參加了培訓。

剛出來的時候對這些行業我們也不是很瞭解,以前甚至都不知道嵌入式是什麼,通過老師的介紹和自己在網上看到的一些資料,發現嵌入式軟件開發的前景很好,目前嵌入式軟件工程師也是緊缺人才,通信工程從事這方面也有專業優勢,自己大學裏學習的知識都可以在以後的工作中得到應用,於是我們選擇了來港灣做嵌入式軟件工程師的培訓。這裏有非常濃厚的學習氛圍。這裏能夠感受到社會上工作的壓力,來這裏學習的同學不全是大學剛畢業或者是還沒有畢業的大學生,有的是在工作幾年之後又回來學習的,可能他們也感覺社會在快速發展,自己也應該多學點有用的知識,以便更好地立足社會。從他們身上我能感覺到壓力,能感覺到自己的不足,讓我感覺自己學習不再只是為了一場考試,而是今後工作和生活的實力與能力。

嵌入式技術的掌握是需要一個過程的。實事求是的説,嵌入式技術的全面掌握是有相當難度的。可以輕輕鬆鬆學會嵌入式技術的説法是誇大其詞了。這個就像學英語一樣,學英語無論怎樣學,不管是“瘋狂學”還是用新理念來學,真正掌握的話還是需要一步步積累才能熟練掌握。要想在幾天內學會嵌入式,成為這方面的高手。這些想法本身是不太現實的。

現在我需要主意的是:

第一:把心踏實下來,做好打硬仗的準備。

第二:注意學習方法。儘量不要走彎路,爭取一鼓作氣入門。一旦入門了以後呢就好辦了。嵌入式技術的掌握,本身呢就比較難,要是再走些彎路,時間上會浪費,甚至會影響學習的信心。

第三:不能影響我平時的課程。不能拿了芝麻,丟了西瓜。

根據我在論壇的瞭解,我選擇學習嵌入式linux,剛好我們學校也重視嵌入式linux,有一些專業課也是相關的。

暑假的時間十分寶貴。當培訓沒有開始時,我電腦就裏安裝了linux就開始看linux內核方面的書了。我就開始看那本説,大家説linux內核情景分析不錯,我就買了上下冊,後來又買了 《深入理解linux內核》,最後也買了毛德操的《嵌入式系統》也是分析linux內核代碼的,主要講arm相關的。

看內核期間是個非常痛苦的過程,看情景分析有種在森林中找出路,其間我組織了一些同學學習內核,幾乎沒有幾個能堅持下來的。我認為我是堅持下來了。情景分析在看第一、第二遍是幾乎沒有摸到門道,我分析有三個方面的原因:

1、自己的基礎差,這是最要害的。

2、內核本身很難。

3、沒有交流和高人指點。到了第三遍時我才摸到門,才差不多知道個linux的大概脈絡,很多細節也是稀裏糊塗。

學習linux總結,學習嵌入式的重點和難點要害在操作系統,假如沒有把握操作系統,我認為很難把握一個嵌入式系統。即使在做嵌入式開發中,作應有層的開發幾乎可以不知道操作系統也可以開發,我認為那是浮在表面的。很難深入和提高自己的層次。學習嵌入式,兩個重點,cpu和操作系統,目前比較流行arm,所以學習arm.操作系統很多,但是我在實踐中發現,做linux的技術路線很難,在windows幾乎不會有的問題,在linux開發中幾乎遍地陷阱。一掉進去劃很長時間出來,一旦解決自己又長進了!

在剛開始接觸的時候,我也是抱着本書,自己摸索,可是越看越迷茫,連很多書裏的名詞都不知道是什麼意思 ,去網上查也沒有得到答案。可是在培訓的時候我得到了很好的指點,在這裏,由於老師都是十分有經驗的項目經理,他們懂得如何去學習,從哪裏開始入手,這對於我這樣的背景知識比較薄弱又接觸時間比較短的人來説實在是太有幫助了。

學習嵌入式,XX 很重要,以前在學校的時候,XX學得並不紮實,一開始老師帶着我們把XX 從頭過了一遍,才感覺到自己確實基礎不行,於是又認真的把XX 過了一遍,在暑假的這些日子裏,學習一直很緊張,進度很快,不過老師們很負責,我們遇到的問題都會認真得給解決,學習過程中我接觸到了很多新鮮的知識和技術,確實開了不少眼界,瞭解了嵌入式開發的基本流程,學習過程中,可能是第一次接觸到這些以前根本沒見過的知識,一開始學很吃力,好多東西都聽不懂,更別説把它們聯繫起來,所以一開始一直很苦惱。

嵌入式學習,是比較耗時的,前期需要很多知識做鋪墊,有很多人在這個過程中走了不少彎路,於是開始失去耐心、失去信心,以至最終放棄學習。所以我想有必要強調一下問題,在剛開始的時候,自己什麼都不懂,可是學習的願望很強烈,每次上課都希望上完課就能如何如何,可是下來發現自己好像離自己原本的目標還很遠,於是心裏着急,自己跑到網上搜了很多資料,每天亂看,可是並沒有很大的幫助。我想説的是,學習嵌入式一定要有耐心和毅力,不能急躁,按照課程的安排自己多做一些總結和練習,等到知識慢慢的積累下來就會有一種豁然開朗的感覺。

雖然課程還沒有完,可是在這段時間的學習中,我按照老師的指導在完善的課程體系下進行系統的學習,已經掌握了U-boot、kernel以及linux移植的基本框架,(我想在今後的學習中一定會對這些知識更加熟悉以至精通!)這對於2個月前什麼都不懂的我來説已經是很大的提高了!用得是ARM9的板子,這也是市場上現在比較新的,比較流行的板子,很多公司在實際的產品開發中就用的是ARM9。在課堂上,老師的講解和我們的練習相結合,理論聯繫實際。老師除了講解知識外,還結合了大量的實際案例和操作,這對於我對問題的理解和知識的記憶有很大幫助。開學後我還需要繼續參加培訓學習。一個暑假有意義的培訓實踐,我相信在我以後的求職,工作中,這個暑假給與我的,不僅僅只是個好工作,還有各種學習熱情,方法:通過培訓,使我認識到:新課程標準下教師是學生學習的合作者,參與者,引導者。21世紀是信息網絡時代,學生很容易從學校外部資源中獲得信息和知識,教師角色不再主要是信息和知識的傳播者、講授者,而是學生學習的合作者。

傳統的教學方法以教師為中心,教師提問,學生回答。學生被動接受,頭腦幾乎成了知識倉庫,而新課標要求以學生為主體,以培養能力為主線。

1.課堂上努力營造一個民主平等、寬鬆和諧的學習氛圍

2.創設情境,激勵學生主動參與教學過程

3.課堂上變教師講授為學生討論、合作學習,還學生學習的主動權

4.教師應努力培養學生的學習興趣,培養學生終身學習的觀念

5.教師應關注學生的個體差異,使每個學生都得到充分的發展

6.教師應充分利用現代教育技術輔助教學,提高教學效益

幫助學生確立適當的學習目標,指導學生形成良好的學習習慣,為學生服務,建立良好融洽的課堂氣氛。

總之無論我們多麼習慣和喜歡從前的教學模式,無論有多大的艱難險阻,新課標已經為我們指明瞭新的方向,只有跟着新課標的方向,我們也才不會迷失自己的方向。