嵌入式實習總結

一段忙碌又充實的實習生活又告一段落了,回顧這段時間的實習,知識和能力都得到了很大提高,這時候最關鍵的一步就是寫實習總結了。那麼好的實習總結是什麼樣的呢?下面是小編爲大家收集的嵌入式實習總結,歡迎閱讀,希望大家能夠喜歡。

嵌入式實習總結

嵌入式實習總結1

嵌入式是我的夢想,我很羨慕能夠在嵌入式方面獨檔一面的高手,希望有一天我也能像他們那樣自信自如的在嵌入式這片熱土上揮灑着自己的青春和浪漫。帶着無比豪邁的心情和繽紛的夢想來到易嵌學習嵌入式,在新的老師、新的同學和新的環境中,我開始了我的嵌入式學習,開始了新一輪的拼搏。

在易嵌短暫的兩個月,我們從linux基礎入手,強化了c語言編程,學習了linux系統編程和網絡編程。時間雖短,但成長很快,無論是理論知識還是實踐能力都得到了大幅度的提高。在這裏將理論和實踐相結合,相互促進,相互補充,使得學習更加透徹。通過用不同方法實現同一個項目,不斷深入,層層推進,學以致用!

在易嵌的這個暑假,我過得充實而快樂。在這裏有着同學間的探討、師生間的互動和魔鬼般的訓練!在我豐富多彩的人生路上留下了永遠亮麗與難忘的記憶!

實踐報告正文:看着四年的大學生活就快要結束了,心中隱隱有一種傷感與失落,我陷入了沉思:該挺直腰桿走自己的路了!學習嵌入式是我的夢想,我很羨慕能夠在嵌入式方面獨檔一面的高手,希望有一天我也能像他們那樣自信自如的在嵌入式這片熱土上揮灑着自己的青春和浪漫。

當我決定好好利用這個暑假,學習我一直都想去學的嵌入式的時候,就註定要在我豐富多彩的人生路上留下永遠亮麗與難忘的記憶!算算畢業的時間,我已經聞到了離別的氣息,在這即將遠離大學時代的時刻,才真正懂得回眸的意義。想想走過的路,想想現在的路,想想來時的路,不知道未來能否成功,既然選擇了遠方,就註定要風雨兼程!帶着無比豪邁的心情和繽紛的夢想來到易嵌學習嵌入式,希望在這嶄新的一頁留下人生的美好!在新的老師、新的同學和新的環境中,我開始了我的嵌入式學習,開始了新一輪的拼搏。

無論現在多麼努力都無法追回失去的金色年華,所以在開班典禮的時候,我便爲自己制定了目標!我將好好利用最後一個暑假,多學些知識鍛鍊自己,爲自己儲備一些精神食糧並不斷開拓視野和提升自己的能力,讓自己能夠在畢業的時候成爲學校的驕傲!

在易嵌短暫的兩個月,我們從linux基礎入手,強化了c語言編程,學習了linux系統編程和網絡編程。時間雖短,但成長很快,無論是理論知識還是實踐能力都得到了大幅度的提高。

通過對linux操作系統的學習,我初步掌握了linux基礎。剛開始我對linux只是有一點兒瞭解,但並沒有真正的去接觸。在這段時間裏,從linux系統安裝開始着手,瞭解linux的發展,相比其他系統,它有很多優點。在安裝好系統後,學習了linux的分區命名、linux的常用命令、文本編輯器vi、shell的使用、源代碼的編譯和調試、多模塊的編譯和鏈接以及管理工具。通過這些學習,我基本能夠在linux系統下通過vi編輯器編寫c語言程序,通過一些常用命令來調試、查看程序。

能夠在這麼短的時間內初步掌握linux,與在學校學習一門課程意義完全不同,通過老師的講解,自己的練習,同學之間的交流,能夠加深印象,熟練操作。

學習linux基礎只是我嵌入式學習歷程的一個開始,雖然有好多命令還不太熟悉,有好多命令都還沒有去嘗試過,但我相信隨着後期的學習,我將逐漸熟練掌握。在c語言學習階段,我學到了很多新的知識,變量、函數、數組、指針、指針函數、函數指針、指針數組、數組指針、結構體、結構體指針數組、關鍵字……,從模塊到整體,從寫代碼的風格到代碼優化……通過這段時間的.學習,我感覺自己寫出的代碼比以前更直觀,更注重細節,bug也更少了!

在半個月時間的c語言學習中,我從剛開始的重溫c語言到後來的位運算、堆棧、單向鏈表、雙向鏈表以及list_head。新知識以及注意點漸漸增多,在這段時間,我創造了很多個記錄,比如11小時完成30道編程題,獨自完成一個功能比較齊全的學生選課管理系統等,特別是剛接觸到鏈表和list_head的時候,不在像前面那樣輕鬆了,還記得那段時間,每到晚上熱醒的時候,又想起了我的學生管理系統,本來就少的可憐的睡覺時間,又被……,真可謂苦我心志矣!

不過,等我美美的睡上一覺,醒來回想起這段時間的學習,真是一個大豐收!雖然不能說是很精通c語言,至少可以說真的入門了……,我又向自己的目標邁出了堅實的一步!這段時間,我時常會想,如果一切可以重來,我會選擇另外一種學習方式,從一開始就夯實基礎!可是這是不現實的,經歷了無數次的風雨後,柔弱的我早已學會了堅強。通過不斷的交流與學習,我懂得了生活,懂得了學習,懂得了時間,懂得了成長,懂得了奮鬥和拼搏。現在知道,爲時不晚,從現在開始,我將爲自己開闢一條適合自己的道路。

伴隨着烈日,我們又開始了新的征程,開始深入學習linux系統程序設計,在這個階段,我們學習了操作系統基礎、併發性、linux系統接口、進程和線程以及進程間的通信。通過這階段的學習,我對linux有了更加深入的瞭解,能夠熟練進行多線程多進程的操作。

緊接着就進入了網絡編程學習階段,從網絡基礎到linux網絡編程,我更加深入的學習了tcp/ip協議和osi模型,理解了數據報的傳輸過程,對網絡在嵌入式方面的應用進行了深入的學習,學會了socket編程。學完後重新對學生選課管理系統進行了改寫,用c/s模型改寫成多用戶登錄,利用線程實現資源共享。在項目改寫中,不僅融合了前面的c語言知識,還充分的應用了linux系統編程和socket編程,將理論和實踐相結合,相互促進,相互補充,使得學習更加透徹。通過用不同方法實現同一個項目,不斷深入,層層推進,學以致用!

在易嵌的這個暑假,我過得充實而快樂。在這裏有着同學間的探討、師生間的互動和魔鬼般的訓練!軍隊通過紮實的訓練培養出來一代代革命軍人,相信不久的將來,我也會成爲一名優秀的嵌入式工程師!

嵌入式實習總結2

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

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

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

1、從硬件上,將基於CPU的處圍器件,整合到CPU芯片內部,比如早期基於X86體系結構下的計算機,CPU只是有運算器和累加器的功能,一切芯片要造外部橋路來擴展實現,象串口之類的都是靠外部的16C550/2的串口控制器芯片實現,而目前的這種串口控制器芯片早已集成到CPU內部,還有PC機有顯卡,而多數嵌入式處理器都帶有LCD控制器,但其種意義上就相當於顯卡。比較高端的ARM類IntelXscale架構下的IXP網絡處理器CPU內部集成PCI控制器(可配成支持4個PCI從設備或配成自身爲CPI從設備);還集成3個NPE網絡處理器引擎,其中兩個對應於兩個MAC地址,可用於網關交換用,而另外一個NPE網絡處理器引擎支持DSL,只要外面再加個PHY芯片即可以實現DSL上網功能。IXP系列最高主頻可以達到1.8G,支持2G內存,1G×10或10G×1的以太網口或Febrechannel的光通道。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高實時性OS5嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行,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的代碼等等,麻雀雖小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。

以上就是我在本學期學習嵌入式後的心得及感想。