當前位置:才華齋>範例>實習>

嵌入式實習目的及報告範文

實習 閱讀(1.46W)

一、嵌入式的概述:

嵌入式實習目的及報告範文

隨著資訊化技術的發展和數字化產品的普及,以計算機

術、晶片技術和軟體技術為核心的嵌入式系統再度成為當前研究和應用的熱點,通訊、計算機、消費電子技術(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程式設計技術。要求學員建立起團隊開發和協同工作的企業專案開發模式的概念和流程,強化學員對編寫專案概要設計文件和詳細設計文件的理解,為就業前的職業技能和素質訓練做好充分準備。

四、實習內容

1. 嵌入式的歷史與現狀

雖然嵌入式系統是近幾年才開始真正風靡起來的,但事實上嵌入式這個概念卻很早就已經存在了,從上個世紀70年代微控制器的出現到今天各種嵌入式微處理器、微控制器的廣泛應用,嵌入式系統少說也有了近30年的歷史。縱觀嵌入式系統的發展歷程,大致經歷了以下四個階段:

? 無作業系統階段

嵌入式系統最初的應用是基於微控制器的,大多以可程式設計控制器的形式出現,具有監測、伺服、裝置指示等功能,通常應用於各類工業控制和飛機、導彈等武器裝備中,一般沒有作業系統的支援,只能通過組合語言對系統進行直接控制,執行結束後再清除記憶體。這些裝置雖然已經初步具備了嵌入式的應用特點,但僅僅只是使用8位的CPU晶片來執行一些單執行緒的程式,因此嚴格地說還談不上"系統"的.概念。

這一階段嵌入式系統的主要特點是:系統結構和功能相對單一,處理效率較低,儲存容量較小,幾乎沒有使用者介面。由於這種嵌入式系統使用簡便、價格低廉,因而曾經在工業控制領域中得到了非常廣泛的應用,但卻無法滿足現今對執行效率、儲存容量都有較高要求的資訊家電等場合的需要。

? 簡單作業系統階段

20世紀80年代,隨著微電子工藝水平的提高,IC製造商開始把嵌入式應用中所需要的微處理器、I/O介面、序列介面以及RAM、ROM等部件統統整合到一片VLSI中,製造出面向I/O設計的微控制器,並一舉成為嵌入式系統領域中異軍突起的新秀。與此同時,嵌入式系統的程式設計師也開始基於一些簡單的"作業系統"開發嵌入式應用軟體,大大縮短了開發週期、提高了開發效率。 這一階段嵌入式系統的主要特點是:出現了大量高可靠、低功耗的嵌入式CPU(如Power PC等),各種簡單的嵌入式作業系統開始出現並得到迅速發展。此時的嵌入式作業系統雖然還比較簡單,但已經初步具有了一定的相容性和擴充套件性,核心精巧且效率高,主要用來控制系統負載以及監控應用程式的執行。

? 實時作業系統階段

20世紀90年代,在分佈控制、柔性製造、數字化通訊和資訊家電等巨大需求的牽引下,嵌入式系統進一步飛速發展,而面向實時訊號處理演算法的DSP產品則向著高速度、高精度、低功耗的方向發展。隨著硬體實時性要求的提高,嵌入式系統的軟體規模也不斷擴大,逐漸形成了實時多工作業系統(RTOS),並開始成為嵌入式系統的主流。

這一階段嵌入式系統的主要特點是:作業系統的實時性得到了很大改善,已經能夠執行在各種不同型別的微處理器上,具有高度的模組化和擴充套件性。此時的嵌入式作業系統已經具備了檔案和目錄管理、裝置管理、多工、網路、圖形使用者介面(GUI)等功能,並提供了大量的應用程式介面(API),從而使得應用軟體的開發變得更加簡單。

? 面向Internet階段

21世紀無疑將是一個網路的時代,將嵌入式系統應用到各種網路環境中去的呼聲自然也越來越高。目前大多數嵌入式系統還孤立於Internet之外,隨著Internet的進一步發展,以及

Internet技術與資訊家電、工業控制技術等的結合日益緊密,嵌入式裝置與Internet的結合才是嵌入式技術的真正未來。

資訊時代和數字時代的到來,為嵌入式系統的發展帶來了巨大的機遇,同時也對嵌入式系統廠商提出了新的挑戰。目前,嵌入式技術與Internet技術的結合正在推動著嵌入式技術的飛速發展,嵌入式系統的研究和應用產生了如下新的顯著變化:

1. 新的微處理器層出不窮,嵌入式作業系統自身結構的設計更加便於移植,能夠在短時間內支援更多的微處理器。

2. 嵌入式系統的開發成了一項系統工程,開發廠商不僅要提供嵌入式軟硬體系統本身,同時還要提供強大的硬體開發工具和軟體支援包。

3. 通用計算機上使用的新技術、新觀念開始逐步移植到嵌入式系統中,如嵌入式資料庫、移動代理、實時CORBA等,嵌入式軟體平臺得到進一步完善。

4. 各類嵌入式Linux作業系統迅速發展,由於具有原始碼開放、系統核心小、執行效率高、網路結構完整等特點,很適合資訊家電等嵌入式系統的需要,目前已經形成了能與Windows CE、Palm OS等嵌入式作業系統進行有力競爭的局面。

5. 網路化、資訊化的要求隨著Internet技術的成熟和頻寬的提高而日益突出,以往功能單一的裝置如電話、手機、冰箱、微波

爐等功能不再單一,結構變得更加複雜,網路互聯成為必然趨勢。

6. 精簡系統核心,優化關鍵演算法,降低功耗和軟硬體成本。

7. 提供更加友好的多媒體人機互動介面。

2.體系結構

根據國際電氣和電子工程師協會(IEEE)的定義,嵌入式系統是"控制、監視或者輔助裝置、機器和車間執行的裝置"(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。一般而言,整個嵌入式系統的體系結構可以分成四個部分:嵌入式處理器、嵌入式外圍裝置、嵌入式作業系統和嵌入式應用軟體。

嵌入式處理器

嵌入式系統的核心是各種型別的嵌入式處理器,嵌入式處理器與通用處理器最大的不同點在於,嵌入式CPU大多工作在為特定使用者群所專門設計的系統中,它將通用CPU中許多由板卡完成的任務整合到晶片內部,從而有利於嵌入式系統在設計時趨於小型化,同時還具有很高的效率和可靠性。

嵌入式處理器的體系結構經歷了從CISC(複雜指令集)至RISC(精簡指令集)和Compact RISC的轉變,位數則由4位、8位、16位、32位逐步發展到64位。目前常用的嵌入式處理器可分為低端的嵌入式微控制器(Micro Controller Unit,MCU)、中高階的嵌入式微處理器(Embedded Micro Processor Unit,EMPU)、用於計算機通訊領域的嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP)和高度整合的嵌入式片上系統(System On Chip,SOC)。

目前幾乎每個半導體制造商都生產嵌入式處理器,並且越來越多的公司開始擁有自主的處理器設計部門,據不完全統計,全世界嵌入式處理器已經超過1000多種,流行的體系結構有30多個系列,其中以ARM、PowerPC、MC 68000、MIPS等使用得最為廣泛。

? 嵌入式外圍裝置

在嵌入系統硬體系統中,除了中心控制部件(MCU、DSP、EMPU、SOC)以外,用於完成儲存、通訊、除錯、顯示等輔助功能的其他部件,事實上都可以算作嵌入式外圍裝置。目前常用的嵌入式外圍裝置按功能可以分為儲存裝置、通訊裝置和顯示裝置三類。

儲存裝置主要用於各類資料的儲存,常用的有靜態易失型

儲存器(RAM、SRAM)、動態儲存器(DRAM)和非易失型儲存器(ROM、EPROM、EEPROM、FLASH)三種,其中FLASH憑藉其可擦寫次數多、儲存速度快、儲存容量大、價格便宜等優點,在嵌入式領域內得到了廣泛應用。

目前存在的絕大多數通訊裝置都可以直接在嵌入式系統中應用,包括RS-232介面(序列通訊介面)、SPI(序列外圍裝置介面)、IrDA(紅外線介面)、I2C(現場匯流排)、USB(通用序列匯流排介面)、Ethernet(乙太網介面)等。

由於嵌入式應用場合的特殊性,通常使用的是陰極射線管

(CRT)、液晶顯示器(LCD)和觸控板(Touch Panel)等外圍顯示裝置。

? 嵌入式作業系統

為了使嵌入式系統的開發更加方便和快捷,需要有專門負責管理儲存器分配、中斷處理、任務排程等功能的軟體模組,這就是嵌入式作業系統。嵌入式作業系統是用來支援嵌入式應用的系統軟體,是嵌入式系統極為重要的組成部分,通常包括與硬體相關的底層驅動程式、系統核心、裝置驅動介面、通訊協議、圖形使用者介面(GUI)等。嵌入式作業系統具有通用作業系統的基本特點,如能夠有效管理複雜的系統資源,能夠對硬體進行抽象,能夠提供庫函式、驅動程式、開發工具集等。但與通用作業系統相比較,嵌入式作業系統在系統實時性、硬體依賴性、軟體固化性以及應用專用性等方面,具有更加鮮明的特點。

嵌入式作業系統根據應用場合可以分為兩大類:一類是面向消費電子產品的非實時系統,這類裝置包括個人數字助理

(PDA)、行動電話、機頂盒(STB)等;另一類則是面向控制、通訊、醫療等領域的實時作業系統,如WindRiver公司的VxWorks、QNX系統軟體公司的QNX等。實時系統(Real Time System)是一種能夠在指定或者確定時間內完成系統功能,並且對外部和內部事件在同步或者非同步時間內能做出及時響應的系統。在實時系

第11/14頁

統中,操作的正確性不僅依賴於邏輯設計的正確程度,而且與這些操作進行的時間有關,也就是說,實時系統對邏輯和時序的要求非常嚴格,如果邏輯和時序控制出現偏差將會產生嚴重後果。

實時系統主要通過三個效能指標來衡量系統的實時性,即

響應時間(Response Time)、生存時間(Survival Time)和吞吐量(Throughput):

o 響應時間 是實時系統從識別出一個外部事件到做

出響應的時間;

o 生存時間 是資料的有效等待時間,資料只有在這段時間內才是有效的;

o 吞吐量 是在給定的時間內系統能夠處理的事件

總數,吞吐量通常比平均響應時間的倒數要小一點。

實時系統根據響應時間可以分為弱實時系統、一般實時系統和強實時系統三種。弱實時系統在設計時的宗旨是使各個任務執行得越快越好,但沒有嚴格限定某一任務必須在多長時間內完成,弱實時系統更多關注的是程式執行結果的正確與否,以及系統安全效能等其他方面,對任務執行時間的要求相對來講較為寬鬆,一般響應時間可以是數十秒或者更長。一般實時系統是弱實時系統和強實時系統的一種折衷,它的響應時間可以在秒的數量級上,廣泛應用於消費電子裝置中。強實時系統則要求各個任務不僅要保證執行過程和結果的正確性,同時還要保證在限定的時

間內完成任務,響應時間通常要求在毫秒甚至微秒的數量級上,這對涉及到醫療、安全、軍事的軟硬體系統來說是至關重要的。 時限(deadline)是實時系統中的一個重要概念,指的是對任務截止時間的要求,根據時限對系統性能的影響程度,實時系統又可以分為軟實時系統(soft real-time-system)和硬實時系統(hard real-time-system)。軟實時指的是雖然對系統響應時間有所限定,但如果系統響應時間不能滿足要求,並不會導致系統產生致命的錯誤或者崩潰;硬實時則指的是對系統響應時間有嚴格的限定,如果系統響應時間不能滿足要求,就會引起系統產生致命的錯誤或者崩潰。如果一個任務在時限到達之時尚未完成,對軟實時系統來說還是可以容忍的,最多隻會降低系統性能,但對硬實時系統來說則是無法接受的,因為這樣帶來的後果根本無法預測,甚至可能是災難性的。在目前實際運用的實時系統中,通常允許軟硬兩種實時性同時存在,其中一些事件沒有時限要求,另外一些事件的時限要求是軟實時的,而對系統產生關鍵影響的那些事件的時限要求則是硬實時的。

五、實結

計算機和網路已經全面滲透到日常生活的每一個角落,對於我們沒有個人來說,需要的已經不再僅僅是放在桌面上處理文件,進

行工業管理和生產控制的計算機“機器”任何一個普通的人都可能擁有從小到大的各種嵌入式技術的電子產品,小到MP3PDA等微型數字化產品,大到網路家電,智慧家電等,各種各樣的新型嵌入式系統裝置在應用數量上已經遠遠超過了通用計算機,在工業和服務領域,使用嵌入式技術的數字機床、智慧工具、工業機器人、服務機器人、正在逐漸的改變著傳統的工業生產和服務方式。而ARM晶片憑藉強大的處理能力和極低的功耗,非常適合這些場合。所以現在越來越多的公司在產品選型的時候考慮到使用ARM處理器,從這個角度來說,對於在校大學生來說,如果你掌握了ARM開發技術,對於尋找一份好的工作也十分有利。