嵌入式實習(xí)目的和報告范文
實習(xí):顧名思義,是在實踐中學(xué)習(xí)。在經(jīng)過一段時間的學(xué)習(xí)之后,或者說當(dāng)學(xué)習(xí)告一段落的時候,我們需要了解自己的所學(xué)需要或應(yīng)當(dāng)如何應(yīng)用在實踐中。小編與讀者分享嵌入式實習(xí)報告,歡迎大家參考借鑒。
一、嵌入式的概述:
隨著信息化技術(shù)的發(fā)展和數(shù)字化產(chǎn)品的普及,以計算機(jī)技術(shù)、芯片技術(shù)和軟件技術(shù)為核心的嵌入式系統(tǒng)再度成為當(dāng)前研究和應(yīng)用的熱點,通信、計算機(jī)、消費電子技術(shù)(3C)合一的趨勢正在逐步形成,無所不在的網(wǎng)絡(luò)和無所不在的計算(everything connecting, everywhere computing)正在將人類帶入一個嶄新的信息社會。
二、實習(xí)目的
學(xué)習(xí)和了解了嵌入式在生活中的重要作用和發(fā)展過程,熟練掌握ARM硬件體系結(jié)構(gòu),熟悉linux下的嵌入式編程流程,積累自己的軟件編寫經(jīng)驗,能夠參與并實現(xiàn)一個真實和完整的嵌入式項目,為今后的學(xué)習(xí)和將從事的技術(shù)工作打下堅實的基礎(chǔ)
三、實習(xí)任務(wù)
第一階段Linux操作和編程基礎(chǔ)
主要介紹Linux的基本命令和基礎(chǔ)編程知識,包括Linux
的文件操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調(diào)試器和Make項目管理工具等知識。
第二階段 嵌入式C語言編程基礎(chǔ)
主要介紹在嵌入式開發(fā)編程中C語言的重要概念和編程技巧中的重點難點,以復(fù)習(xí)串講和實例分析的形式,重點介紹包括函數(shù)與程序結(jié)構(gòu),指針、數(shù)組和鏈表,庫函數(shù)的使用等知識。
第三階段Linux上C強(qiáng)化編程訓(xùn)練
主要包括整數(shù)算法訓(xùn)練,遞歸和棧編程訓(xùn)練,位操作訓(xùn)練,指針訓(xùn)練,字符串訓(xùn)練和常用C庫函數(shù)編程接口實踐,強(qiáng)化學(xué)員對Linux下基本編程開發(fā)的理解和編碼調(diào)試的能力。
第四階段 Linux環(huán)境高級編程及項目開發(fā)編程實踐
主要包括系統(tǒng)編程(信號/系統(tǒng)調(diào)用/管道/FIFO/消息隊列/共享內(nèi)存等),文件I/O編程(文件描述符/文件讀寫接口/原子操作/阻塞與非阻塞IO等,多任務(wù)和多線程編程(進(jìn)程標(biāo)識/ 用戶標(biāo)識/fork與vfork/多線程概念/線程同步等),網(wǎng)絡(luò)編程(網(wǎng)絡(luò)基本概念/套接口編程/網(wǎng)絡(luò)字節(jié)次序/Client/Server結(jié)構(gòu)/UDP編程);掌握Linux下Socket編程的開發(fā)流程,熟悉網(wǎng)絡(luò)編程的調(diào)用接口函數(shù)和相關(guān)數(shù)據(jù)結(jié)構(gòu),使學(xué)員初步具備在Linux上進(jìn)行系統(tǒng)編程開發(fā)的能力。同時綜合之前所學(xué)內(nèi)容和編程技術(shù),以小組為單位進(jìn)行一個團(tuán)隊合作項目的開發(fā),考核內(nèi)容包括文件I/O編程,多線程編程,網(wǎng)絡(luò)編程和項目文檔編寫。
第五階段 嵌入式處理器體系結(jié)構(gòu)及編程實踐
主要介紹ARM體系結(jié)構(gòu)及其基本編程知識,包括指令分類,尋址方式、指令集、存儲系統(tǒng)、異常中斷處理、匯編語言以及CC++和匯編語言的混合編程等知識。同時結(jié)合ARM嵌入式開發(fā)板硬件設(shè)計原理和基本硬件設(shè)計流程,分析各種外設(shè)的工作原理和驅(qū)動機(jī)制,并自己動手實踐完成一個ARM開發(fā)板上的編程大作業(yè)。
第六階段 嵌入式Linux開發(fā)基礎(chǔ)及高級應(yīng)用
主要介紹嵌入式Linux開發(fā)應(yīng)用程序的基本流程和知識,包括嵌入式Linux基本概念和開發(fā)流程、Bootloader工作原理、內(nèi)核裁減配置和交叉編譯、根文件系統(tǒng)制作、網(wǎng)絡(luò)編程以及圖形界面和數(shù)據(jù)庫開發(fā)等知識。同時獨立完成一個基于嵌入式Linux GUI的應(yīng)用編程大作業(yè)。
第七階段 嵌入式 Linux驅(qū)動理論及驅(qū)動程序開發(fā)實踐
主要介紹嵌入式Linux上驅(qū)動程序開發(fā)規(guī)范,包括設(shè)備驅(qū)動程序概念、字符設(shè)備驅(qū)動程序、塊設(shè)備與網(wǎng)絡(luò)設(shè)備、網(wǎng)卡驅(qū)動以及常用嵌入式設(shè)備驅(qū)動開發(fā)等知識。同時獨立實現(xiàn)兩種嵌入式設(shè)備驅(qū)動程序的編寫,包括驅(qū)動模塊的調(diào)試和加載以及完整的項目開發(fā)文檔的編寫。
第八階段 嵌入式Linux項目團(tuán)隊開發(fā)實踐鍛煉
主要包括設(shè)計并實現(xiàn)一個真實和完整的嵌入式項目的開發(fā)流程,涉及到數(shù)據(jù)采集、網(wǎng)絡(luò)通訊、圖形用戶界面顯示以及嵌入式數(shù)據(jù)庫存儲系統(tǒng)等多種嵌入式Linux編程技術(shù)。要求學(xué)員建立起團(tuán)隊開發(fā)和協(xié)同工作的企業(yè)項目開發(fā)模式的概念和流程,強(qiáng)化學(xué)員對編寫項目概要設(shè)計文檔和詳細(xì)設(shè)計文檔的理解,為就業(yè)前的職業(yè)技能和素質(zhì)訓(xùn)練做好充分準(zhǔn)備。
四、實習(xí)內(nèi)容
1. 嵌入式的歷史與現(xiàn)狀
雖然嵌入式系統(tǒng)是近幾年才開始真正風(fēng)靡起來的,但事實上嵌入式這個概念卻很早就已經(jīng)存在了,從上個世紀(jì)70年代單片機(jī)的出現(xiàn)到今天各種嵌入式微處理器、微控制器的廣泛應(yīng)用,嵌入式系統(tǒng)少說也有了近30年的歷史。縱觀嵌入式系統(tǒng)的發(fā)展歷程,大致經(jīng)歷了以下四個階段:
無操作系統(tǒng)階段
嵌入式系統(tǒng)最初的應(yīng)用是基于單片機(jī)的,大多以可編程控制器的形式出現(xiàn),具有監(jiān)測、伺服、設(shè)備指示等功能,通常應(yīng)用于各類工業(yè)控制和飛機(jī)、導(dǎo)彈等武器裝備中,一般沒有操作系統(tǒng)的支持,只能通過匯編語言對系統(tǒng)進(jìn)行直接控制,運行結(jié)束后再清除內(nèi)存。這些裝置雖然已經(jīng)初步具備了嵌入式的應(yīng)用特點,但僅僅只是使用8位的CPU芯片來執(zhí)行一些單線程的程序,因此嚴(yán)格地說還談不上"系統(tǒng)"的概念。
這一階段嵌入式系統(tǒng)的主要特點是:系統(tǒng)結(jié)構(gòu)和功能相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由于這種嵌入式系統(tǒng)使用簡便、價格低廉,因而曾經(jīng)在工業(yè)控制領(lǐng)域中得到了非常廣泛的應(yīng)用,但卻無法滿足現(xiàn)今對執(zhí)行效率、存儲容量都有較高要求的信息家電等場合的需要。
簡單操作系統(tǒng)階段
20世紀(jì)80年代,隨著微電子工藝水平的提高,IC制造商開始把嵌入式應(yīng)用中所需要的微處理器、I/O接口、串行接口以及RAM、ROM等部件統(tǒng)統(tǒng)集成到一片VLSI中,制造出面向I/O設(shè)計的微控制器,并一舉成為嵌入式系統(tǒng)領(lǐng)域中異軍突起的新秀。與此同時,嵌入式系統(tǒng)的程序員也開始基于一些簡單的"操作系統(tǒng)"開發(fā)嵌入式應(yīng)用軟件,大大縮短了開發(fā)周期、提高了開發(fā)效率。 這一階段嵌入式系統(tǒng)的主要特點是:出現(xiàn)了大量高可靠、低功耗的嵌入式CPU(如Power PC等),各種簡單的嵌入式操作系統(tǒng)開始出現(xiàn)并得到迅速發(fā)展。此時的嵌入式操作系統(tǒng)雖然還比較簡單,但已經(jīng)初步具有了一定的兼容性和擴(kuò)展性,內(nèi)核精巧且效率高,主要用來控制系統(tǒng)負(fù)載以及監(jiān)控應(yīng)用程序的運行。
實時操作系統(tǒng)階段
20世紀(jì)90年代,在分布控制、柔性制造、數(shù)字化通信和信息家電等巨大需求的牽引下,嵌入式系統(tǒng)進(jìn)一步飛速發(fā)展,而面向?qū)崟r信號處理算法的DSP產(chǎn)品則向著高速度、高精度、低功耗的方向發(fā)展。隨著硬件實時性要求的提高,嵌入式系統(tǒng)的軟件規(guī)模也不斷擴(kuò)大,逐漸形成了實時多任務(wù)操作系統(tǒng)(RTOS),并開始成為嵌入式系統(tǒng)的主流。
這一階段嵌入式系統(tǒng)的主要特點是:操作系統(tǒng)的實時性得到了很大改善,已經(jīng)能夠運行在各種不同類型的微處理器上,具有高度的模塊化和擴(kuò)展性。此時的嵌入式操作系統(tǒng)已經(jīng)具備了文件和目錄管理、設(shè)備管理、多任務(wù)、網(wǎng)絡(luò)、圖形用戶界面(GUI)等功能,并提供了大量的應(yīng)用程序接口(API),從而使得應(yīng)用軟件的開發(fā)變得更加簡單。
面向Internet階段
21世紀(jì)無疑將是一個網(wǎng)絡(luò)的時代,將嵌入式系統(tǒng)應(yīng)用到各種網(wǎng)絡(luò)環(huán)境中去的`呼聲自然也越來越高。目前大多數(shù)嵌入式系統(tǒng)還孤立于Internet之外,隨著Internet的進(jìn)一步發(fā)展,以及
Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等的結(jié)合日益緊密,嵌入式設(shè)備與Internet的結(jié)合才是嵌入式技術(shù)的真正未來。
信息時代和數(shù)字時代的到來,為嵌入式系統(tǒng)的發(fā)展帶來了巨大的機(jī)遇,同時也對嵌入式系統(tǒng)廠商提出了新的挑戰(zhàn)。目前,嵌入式技術(shù)與Internet技術(shù)的結(jié)合正在推動著嵌入式技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)的研究和應(yīng)用產(chǎn)生了如下新的顯著變化:
1. 新的微處理器層出不窮,嵌入式操作系統(tǒng)自身結(jié)構(gòu)的設(shè)計更加便于移植,能夠在短時間內(nèi)支持更多的微處理器。
2. 嵌入式系統(tǒng)的開發(fā)成了一項系統(tǒng)工程,開發(fā)廠商不僅要提供嵌入式軟硬件系統(tǒng)本身,同時還要提供強(qiáng)大的硬件開發(fā)工具和軟件支持包。
3. 通用計算機(jī)上使用的新技術(shù)、新觀念開始逐步移植到嵌入式系統(tǒng)中,如嵌入式數(shù)據(jù)庫、移動代理、實時CORBA等,嵌入式軟件平臺得到進(jìn)一步完善。
4. 各類嵌入式Linux操作系統(tǒng)迅速發(fā)展,由于具有源代碼開放、系統(tǒng)內(nèi)核小、執(zhí)行效率高、網(wǎng)絡(luò)結(jié)構(gòu)完整等特點,很適合信息家電等嵌入式系統(tǒng)的需要,目前已經(jīng)形成了能與Windows CE、Palm OS等嵌入式操作系統(tǒng)進(jìn)行有力競爭的局面。
5. 網(wǎng)絡(luò)化、信息化的要求隨著Internet技術(shù)的成熟和帶寬的提高而日益突出,以往功能單一的設(shè)備如電話、手機(jī)、冰箱、微波
爐等功能不再單一,結(jié)構(gòu)變得更加復(fù)雜,網(wǎng)絡(luò)互聯(lián)成為必然趨勢。
6. 精簡系統(tǒng)內(nèi)核,優(yōu)化關(guān)鍵算法,降低功耗和軟硬件成本。
7. 提供更加友好的多媒體人機(jī)交互界面。
2.體系結(jié)構(gòu)
根據(jù)國際電氣和電子工程師協(xié)會(IEEE)的定義,嵌入式系統(tǒng)是"控制、監(jiān)視或者輔助設(shè)備、機(jī)器和車間運行的裝置"(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。一般而言,整個嵌入式系統(tǒng)的體系結(jié)構(gòu)可以分成四個部分:嵌入式處理器、嵌入式外圍設(shè)備、嵌入式操作系統(tǒng)和嵌入式應(yīng)用軟件。
嵌入式處理器
嵌入式系統(tǒng)的核心是各種類型的嵌入式處理器,嵌入式處理器與通用處理器最大的不同點在于,嵌入式CPU大多工作在為特定用戶群所專門設(shè)計的系統(tǒng)中,它將通用CPU中許多由板卡完成的任務(wù)集成到芯片內(nèi)部,從而有利于嵌入式系統(tǒng)在設(shè)計時趨于小型化,同時還具有很高的效率和可靠性。
嵌入式處理器的體系結(jié)構(gòu)經(jīng)歷了從CISC(復(fù)雜指令集)至RISC(精簡指令集)和Compact RISC的轉(zhuǎn)變,位數(shù)則由4位、8位、16位、32位逐步發(fā)展到64位。目前常用的嵌入式處理器可分為低端的嵌入式微控制器(Micro Controller Unit,MCU)、中高端的嵌入式微處理器(Embedded Micro Processor Unit,EMPU)、用于計算機(jī)通信領(lǐng)域的嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP)和高度集成的嵌入式片上系統(tǒng)(System On Chip,SOC)。
目前幾乎每個半導(dǎo)體制造商都生產(chǎn)嵌入式處理器,并且越來越多的公司開始擁有自主的處理器設(shè)計部門,據(jù)不完全統(tǒng)計,全世界嵌入式處理器已經(jīng)超過1000多種,流行的體系結(jié)構(gòu)有30多個系列,其中以ARM、PowerPC、MC 68000、MIPS等使用得最為廣泛。
嵌入式外圍設(shè)備
在嵌入系統(tǒng)硬件系統(tǒng)中,除了中心控制部件(MCU、DSP、EMPU、SOC)以外,用于完成存儲、通信、調(diào)試、顯示等輔助功能的其他部件,事實上都可以算作嵌入式外圍設(shè)備。目前常用的嵌入式外圍設(shè)備按功能可以分為存儲設(shè)備、通信設(shè)備和顯示設(shè)備三類。
存儲設(shè)備主要用于各類數(shù)據(jù)的存儲,常用的有靜態(tài)易失型
存儲器(RAM、SRAM)、動態(tài)存儲器(DRAM)和非易失型存儲器(ROM、EPROM、EEPROM、FLASH)三種,其中FLASH憑借其可擦寫次數(shù)多、存儲速度快、存儲容量大、價格便宜等優(yōu)點,在嵌入式領(lǐng)域內(nèi)得到了廣泛應(yīng)用。
目前存在的絕大多數(shù)通信設(shè)備都可以直接在嵌入式系統(tǒng)中應(yīng)用,包括RS-232接口(串行通信接口)、SPI(串行外圍設(shè)備接口)、IrDA(紅外線接口)、I2C(現(xiàn)場總線)、USB(通用串行總線接口)、Ethernet(以太網(wǎng)接口)等。
由于嵌入式應(yīng)用場合的特殊性,通常使用的是陰極射線管
(CRT)、液晶顯示器(LCD)和觸摸板(Touch Panel)等外圍顯示設(shè)備。
嵌入式操作系統(tǒng)
為了使嵌入式系統(tǒng)的開發(fā)更加方便和快捷,需要有專門負(fù)責(zé)管理存儲器分配、中斷處理、任務(wù)調(diào)度等功能的軟件模塊,這就是嵌入式操作系統(tǒng)。嵌入式操作系統(tǒng)是用來支持嵌入式應(yīng)用的系統(tǒng)軟件,是嵌入式系統(tǒng)極為重要的組成部分,通常包括與硬件相關(guān)的底層驅(qū)動程序、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形用戶界面(GUI)等。嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點,如能夠有效管理復(fù)雜的系統(tǒng)資源,能夠?qū)τ布M(jìn)行抽象,能夠提供庫函數(shù)、驅(qū)動程序、開發(fā)工具集等。但與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實時性、硬件依賴性、軟件固化性以及應(yīng)用專用性等方面,具有更加鮮明的特點。
嵌入式操作系統(tǒng)根據(jù)應(yīng)用場合可以分為兩大類:一類是面向消費電子產(chǎn)品的非實時系統(tǒng),這類設(shè)備包括個人數(shù)字助理
(PDA)、移動電話、機(jī)頂盒(STB)等;另一類則是面向控制、通信、醫(yī)療等領(lǐng)域的實時操作系統(tǒng),如WindRiver公司的VxWorks、QNX系統(tǒng)軟件公司的QNX等。實時系統(tǒng)(Real Time System)是一種能夠在指定或者確定時間內(nèi)完成系統(tǒng)功能,并且對外部和內(nèi)部事件在同步或者異步時間內(nèi)能做出及時響應(yīng)的系統(tǒng)。在實時系
第11/14頁
統(tǒng)中,操作的正確性不僅依賴于邏輯設(shè)計的正確程度,而且與這些操作進(jìn)行的時間有關(guān),也就是說,實時系統(tǒng)對邏輯和時序的要求非常嚴(yán)格,如果邏輯和時序控制出現(xiàn)偏差將會產(chǎn)生嚴(yán)重后果。
實時系統(tǒng)主要通過三個性能指標(biāo)來衡量系統(tǒng)的實時性,即響應(yīng)時間(Response Time)、生存時間(Survival Time)和吞吐量(Throughput):
o 響應(yīng)時間 是實時系統(tǒng)從識別出一個外部事件到做
出響應(yīng)的時間;
o 生存時間 是數(shù)據(jù)的有效等待時間,數(shù)據(jù)只有在這段時間內(nèi)才是有效的;
o 吞吐量 是在給定的時間內(nèi)系統(tǒng)能夠處理的事件
總數(shù),吞吐量通常比平均響應(yīng)時間的倒數(shù)要小一點。
實時系統(tǒng)根據(jù)響應(yīng)時間可以分為弱實時系統(tǒng)、一般實時系統(tǒng)和強(qiáng)實時系統(tǒng)三種。弱實時系統(tǒng)在設(shè)計時的宗旨是使各個任務(wù)運行得越快越好,但沒有嚴(yán)格限定某一任務(wù)必須在多長時間內(nèi)完成,弱實時系統(tǒng)更多關(guān)注的是程序運行結(jié)果的正確與否,以及系統(tǒng)安全性能等其他方面,對任務(wù)執(zhí)行時間的要求相對來講較為寬松,一般響應(yīng)時間可以是數(shù)十秒或者更長。一般實時系統(tǒng)是弱實時系統(tǒng)和強(qiáng)實時系統(tǒng)的一種折衷,它的響應(yīng)時間可以在秒的數(shù)量級上,廣泛應(yīng)用于消費電子設(shè)備中。強(qiáng)實時系統(tǒng)則要求各個任務(wù)不僅要保證執(zhí)行過程和結(jié)果的正確性,同時還要保證在限定的時
間內(nèi)完成任務(wù),響應(yīng)時間通常要求在毫秒甚至微秒的數(shù)量級上,這對涉及到醫(yī)療、安全、軍事的軟硬件系統(tǒng)來說是至關(guān)重要的。 時限(deadline)是實時系統(tǒng)中的一個重要概念,指的是對任務(wù)截止時間的要求,根據(jù)時限對系統(tǒng)性能的影響程度,實時系統(tǒng)又可以分為軟實時系統(tǒng)(soft real-time-system)和硬實時系統(tǒng)(hard real-time-system)。軟實時指的是雖然對系統(tǒng)響應(yīng)時間有所限定,但如果系統(tǒng)響應(yīng)時間不能滿足要求,并不會導(dǎo)致系統(tǒng)產(chǎn)生致命的錯誤或者崩潰;硬實時則指的是對系統(tǒng)響應(yīng)時間有嚴(yán)格的限定,如果系統(tǒng)響應(yīng)時間不能滿足要求,就會引起系統(tǒng)產(chǎn)生致命的錯誤或者崩潰。如果一個任務(wù)在時限到達(dá)之時尚未完成,對軟實時系統(tǒng)來說還是可以容忍的,最多只會降低系統(tǒng)性能,但對硬實時系統(tǒng)來說則是無法接受的,因為這樣帶來的后果根本無法預(yù)測,甚至可能是災(zāi)難性的。在目前實際運用的實時系統(tǒng)中,通常允許軟硬兩種實時性同時存在,其中一些事件沒有時限要求,另外一些事件的時限要求是軟實時的,而對系統(tǒng)產(chǎn)生關(guān)鍵影響的那些事件的時限要求則是硬實時的。
五、實習(xí)總結(jié)
計算機(jī)和網(wǎng)絡(luò)已經(jīng)全面滲透到日常生活的每一個角落,對于我們沒有個人來說,需要的已經(jīng)不再僅僅是放在桌面上處理文檔,進(jìn)
行工業(yè)管理和生產(chǎn)控制的計算機(jī)“機(jī)器”任何一個普通的人都可能擁有從小到大的各種嵌入式技術(shù)的電子產(chǎn)品,小到MP3PDA等微型數(shù)字化產(chǎn)品,大到網(wǎng)絡(luò)家電,智能家電等,各種各樣的新型嵌入式系統(tǒng)設(shè)備在應(yīng)用數(shù)量上已經(jīng)遠(yuǎn)遠(yuǎn)超過了通用計算機(jī),在工業(yè)和服務(wù)領(lǐng)域,使用嵌入式技術(shù)的數(shù)字機(jī)床、智能工具、工業(yè)機(jī)器人、服務(wù)機(jī)器人、正在逐漸的改變著傳統(tǒng)的工業(yè)生產(chǎn)和服務(wù)方式。而ARM芯片憑借強(qiáng)大的處理能力和極低的功耗,非常適合這些場合。所以現(xiàn)在越來越多的公司在產(chǎn)品選型的時候考慮到使用ARM處理器,從這個角度來說,對于在校大學(xué)生來說,如果你掌握了ARM開發(fā)技術(shù),對于尋找一份好的工作也十分有利。
【嵌入式實習(xí)目的和報告】相關(guān)文章:
嵌入式實習(xí)報告04-29
嵌入式實習(xí)報告01-21
金工實習(xí)的目的和意義08-05
大學(xué)生畢業(yè)實習(xí)報告實習(xí)目的和意義02-04
畢業(yè)實習(xí)報告目的04-26
實習(xí)報告目的的總結(jié)06-20
文員實習(xí)報告目的06-20
大三實習(xí)報告目的06-20