- 相關(guān)推薦
嵌入式實(shí)習目的及報告范文
一、嵌入式的概述:
隨著(zhù)信息化技術(shù)的發(fā)展和數字化產(chǎn)品的普及,以計算機技
術(shù)、芯片技術(shù)和軟件技術(shù)為核心的嵌入式系統再度成為當前研究和應用的熱點(diǎn),通信、計算機、消費電子技術(shù)(3C)合一的趨勢正在逐步形成,無(wú)所不在的網(wǎng)絡(luò )和無(wú)所不在的計算(everything connecting, everywhere computing)正在將人類(lèi)帶入一個(gè)嶄新的信息社會(huì )。
二、實(shí)習目的
學(xué)習和了解了嵌入式在生活中的重要作用和發(fā)展過(guò)程,熟練掌握ARM硬件體系結構,熟悉linux下的嵌入式編程流程,積累自己的軟件編寫(xiě)經(jīng)驗,能夠參與并實(shí)現一個(gè)真實(shí)和完整的嵌入式項目,為今后的學(xué)習和將從事的技術(shù)工作打下堅實(shí)的基礎
三、實(shí)習任務(wù)
第一階段Linux操作和編程基礎
主要介紹Linux的基本命令和基礎編程知識,包括Linux
的文件操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調試器和Make項目管理工具等知識。
第二階段 嵌入式C語(yǔ)言編程基礎
主要介紹在嵌入式開(kāi)發(fā)編程中C語(yǔ)言的重要概念和編程技巧中的重點(diǎn)難點(diǎn),以復習串講和實(shí)例分析的形式,重點(diǎn)介紹包括函數與程序結構,指針、數組和鏈表,庫函數的使用等知識。
第三階段Linux上C強化編程訓練
主要包括整數算法訓練,遞歸和棧編程訓練,位操作訓練,指針訓練,字符串訓練和常用C庫函數編程接口實(shí)踐,強化學(xué)員對Linux下基本編程開(kāi)發(fā)的理解和編碼調試的能力。
第四階段 Linux環(huán)境高級編程及項目開(kāi)發(fā)編程實(shí)踐
主要包括系統編程(信號/系統調用/管道/FIFO/消息隊列/共享內存等),文件I/O編程(文件描述符/文件讀寫(xiě)接口/原子操作/阻塞與非阻塞IO等,多任務(wù)和多線(xiàn)程編程(進(jìn)程標識/ 用戶(hù)標識/fork與vfork/多線(xiàn)程概念/線(xiàn)程同步等),網(wǎng)絡(luò )編程(網(wǎng)絡(luò )基本概念/套接口編程/網(wǎng)絡(luò )字節次序/Client/Server結構/UDP編程);掌握Linux下Socket編程的開(kāi)發(fā)流程,熟悉網(wǎng)絡(luò )編程的調用接口函數和相關(guān)數據結構,使學(xué)員初步具備在Linux上進(jìn)行系統編程開(kāi)發(fā)的能力。同時(shí)綜合之前所學(xué)內容和編程技術(shù),以小組為單位進(jìn)行一個(gè)團隊合作項目的開(kāi)發(fā),考核內容包括文件I/O編程,多線(xiàn)程編程,網(wǎng)絡(luò )編程和項目文檔編寫(xiě)。
第五階段 嵌入式處理器體系結構及編程實(shí)踐
主要介紹ARM體系結構及其基本編程知識,包括指令分類(lèi),尋址方式、指令集、存儲系統、異常中斷處理、匯編語(yǔ)言以及C\C++和匯編語(yǔ)言的混合編程等知識。同時(shí)結合ARM嵌入式開(kāi)發(fā)板硬件設計原理和基本硬件設計流程,分析各種外設的工作原理和驅動(dòng)機制,并自己動(dòng)手實(shí)踐完成一個(gè)ARM開(kāi)發(fā)板上的編程大作業(yè)。
第六階段 嵌入式Linux開(kāi)發(fā)基礎及高級應用
主要介紹嵌入式Linux開(kāi)發(fā)應用程序的基本流程和知識,包括嵌入式Linux基本概念和開(kāi)發(fā)流程、Bootloader工作原理、內核裁減配置和交叉編譯、根文件系統制作、網(wǎng)絡(luò )編程以及圖形界面和數據庫開(kāi)發(fā)等知識。同時(shí)獨立完成一個(gè)基于嵌入式Linux GUI的應用編程大作業(yè)。
第七階段 嵌入式 Linux驅動(dòng)理論及驅動(dòng)程序開(kāi)發(fā)實(shí)踐
主要介紹嵌入式Linux上驅動(dòng)程序開(kāi)發(fā)規范,包括設備驅動(dòng)程序概念、字符設備驅動(dòng)程序、塊設備與網(wǎng)絡(luò )設備、網(wǎng)卡驅動(dòng)以及常用嵌入式設備驅動(dòng)開(kāi)發(fā)等知識。同時(shí)獨立實(shí)現兩種嵌入式設備驅動(dòng)程序的編寫(xiě),包括驅動(dòng)模塊的調試和加載以及完整的項目開(kāi)發(fā)文檔的編寫(xiě)。
第八階段 嵌入式Linux項目團隊開(kāi)發(fā)實(shí)踐鍛煉
主要包括設計并實(shí)現一個(gè)真實(shí)和完整的嵌入式項目的開(kāi)發(fā)流程,涉及到數據采集、網(wǎng)絡(luò )通訊、圖形用戶(hù)界面顯示以及嵌入式數據庫存儲系統等多種嵌入式Linux編程技術(shù)。要求學(xué)員建立起團隊開(kāi)發(fā)和協(xié)同工作的企業(yè)項目開(kāi)發(fā)模式的概念和流程,強化學(xué)員對編寫(xiě)項目概要設計文檔和詳細設計文檔的理解,為就業(yè)前的職業(yè)技能和素質(zhì)訓練做好充分準備。
四、實(shí)習內容
1. 嵌入式的歷史與現狀
雖然嵌入式系統是近幾年才開(kāi)始真正風(fēng)靡起來(lái)的,但事實(shí)上嵌入式這個(gè)概念卻很早就已經(jīng)存在了,從上個(gè)世紀70年代單片機的出現到今天各種嵌入式微處理器、微控制器的廣泛應用,嵌入式系統少說(shuō)也有了近30年的歷史?v觀(guān)嵌入式系統的發(fā)展歷程,大致經(jīng)歷了以下四個(gè)階段:
無(wú)操作系統階段
嵌入式系統最初的應用是基于單片機的,大多以可編程控制器的形式出現,具有監測、伺服、設備指示等功能,通常應用于各類(lèi)工業(yè)控制和飛機、導彈等武器裝備中,一般沒(méi)有操作系統的支持,只能通過(guò)匯編語(yǔ)言對系統進(jìn)行直接控制,運行結束后再清除內存。這些裝置雖然已經(jīng)初步具備了嵌入式的應用特點(diǎn),但僅僅只是使用8位的CPU芯片來(lái)執行一些單線(xiàn)程的程序,因此嚴格地說(shuō)還談不上"系統"的概念。
這一階段嵌入式系統的主要特點(diǎn)是:系統結構和功能相對單一,處理效率較低,存儲容量較小,幾乎沒(méi)有用戶(hù)接口。由于這種嵌入式系統使用簡(jiǎn)便、價(jià)格低廉,因而曾經(jīng)在工業(yè)控制領(lǐng)域中得到了非常廣泛的應用,但卻無(wú)法滿(mǎn)足現今對執行效率、存儲容量都有較高要求的信息家電等場(chǎng)合的需要。
簡(jiǎn)單操作系統階段
20世紀80年代,隨著(zhù)微電子工藝水平的提高,IC制造商開(kāi)始把嵌入式應用中所需要的微處理器、I/O接口、串行接口以及RAM、ROM等部件統統集成到一片VLSI中,制造出面向I/O設計的微控制器,并一舉成為嵌入式系統領(lǐng)域中異軍突起的新秀。與此同時(shí),嵌入式系統的程序員也開(kāi)始基于一些簡(jiǎn)單的"操作系統"開(kāi)發(fā)嵌入式應用軟件,大大縮短了開(kāi)發(fā)周期、提高了開(kāi)發(fā)效率。 這一階段嵌入式系統的主要特點(diǎn)是:出現了大量高可靠、低功耗的嵌入式CPU(如Power PC等),各種簡(jiǎn)單的嵌入式操作系統開(kāi)始出現并得到迅速發(fā)展。此時(shí)的嵌入式操作系統雖然還比較簡(jiǎn)單,但已經(jīng)初步具有了一定的兼容性和擴展性,內核精巧且效率高,主要用來(lái)控制系統負載以及監控應用程序的運行。
實(shí)時(shí)操作系統階段
20世紀90年代,在分布控制、柔性制造、數字化通信和信息家電等巨大需求的牽引下,嵌入式系統進(jìn)一步飛速發(fā)展,而面向實(shí)時(shí)信號處理算法的DSP產(chǎn)品則向著(zhù)高速度、高精度、低功耗的方向發(fā)展。隨著(zhù)硬件實(shí)時(shí)性要求的提高,嵌入式系統的軟件規模也不斷擴大,逐漸形成了實(shí)時(shí)多任務(wù)操作系統(RTOS),并開(kāi)始成為嵌入式系統的主流。
這一階段嵌入式系統的主要特點(diǎn)是:操作系統的實(shí)時(shí)性得到了很大改善,已經(jīng)能夠運行在各種不同類(lèi)型的微處理器上,具有高度的模塊化和擴展性。此時(shí)的嵌入式操作系統已經(jīng)具備了文件和目錄管理、設備管理、多任務(wù)、網(wǎng)絡(luò )、圖形用戶(hù)界面(GUI)等功能,并提供了大量的應用程序接口(API),從而使得應用軟件的開(kāi)發(fā)變得更加簡(jiǎn)單。
面向Internet階段
21世紀無(wú)疑將是一個(gè)網(wǎng)絡(luò )的時(shí)代,將嵌入式系統應用到各種網(wǎng)絡(luò )環(huán)境中去的呼聲自然也越來(lái)越高。目前大多數嵌入式系統還孤立于Internet之外,隨著(zhù)Internet的進(jìn)一步發(fā)展,以及
Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等的結合日益緊密,嵌入式設備與Internet的結合才是嵌入式技術(shù)的真正未來(lái)。
信息時(shí)代和數字時(shí)代的到來(lái),為嵌入式系統的發(fā)展帶來(lái)了巨大的機遇,同時(shí)也對嵌入式系統廠(chǎng)商提出了新的挑戰。目前,嵌入式技術(shù)與Internet技術(shù)的結合正在推動(dòng)著(zhù)嵌入式技術(shù)的飛速發(fā)展,嵌入式系統的研究和應用產(chǎn)生了如下新的顯著(zhù)變化:
1. 新的微處理器層出不窮,嵌入式操作系統自身結構的設計更加便于移植,能夠在短時(shí)間內支持更多的微處理器。
2. 嵌入式系統的開(kāi)發(fā)成了一項系統工程,開(kāi)發(fā)廠(chǎng)商不僅要提供嵌入式軟硬件系統本身,同時(shí)還要提供強大的硬件開(kāi)發(fā)工具和軟件支持包。
3. 通用計算機上使用的新技術(shù)、新觀(guān)念開(kāi)始逐步移植到嵌入式系統中,如嵌入式數據庫、移動(dòng)代理、實(shí)時(shí)CORBA等,嵌入式軟件平臺得到進(jìn)一步完善。
4. 各類(lèi)嵌入式Linux操作系統迅速發(fā)展,由于具有源代碼開(kāi)放、系統內核小、執行效率高、網(wǎng)絡(luò )結構完整等特點(diǎn),很適合信息家電等嵌入式系統的需要,目前已經(jīng)形成了能與Windows CE、Palm OS等嵌入式操作系統進(jìn)行有力競爭的局面。
5. 網(wǎng)絡(luò )化、信息化的要求隨著(zhù)Internet技術(shù)的成熟和帶寬的提高而日益突出,以往功能單一的設備如電話(huà)、手機、冰箱、微波
爐等功能不再單一,結構變得更加復雜,網(wǎng)絡(luò )互聯(lián)成為必然趨勢。
6. 精簡(jiǎn)系統內核,優(yōu)化關(guān)鍵算法,降低功耗和軟硬件成本。
7. 提供更加友好的多媒體人機交互界面。
2.體系結構
根據國際電氣和電子工程師協(xié)會(huì )(IEEE)的定義,嵌入式系統是"控制、監視或者輔助設備、機器和車(chē)間運行的裝置"(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。一般而言,整個(gè)嵌入式系統的體系結構可以分成四個(gè)部分:嵌入式處理器、嵌入式外圍設備、嵌入式操作系統和嵌入式應用軟件。
嵌入式處理器
嵌入式系統的核心是各種類(lèi)型的嵌入式處理器,嵌入式處理器與通用處理器最大的不同點(diǎn)在于,嵌入式CPU大多工作在為特定用戶(hù)群所專(zhuān)門(mén)設計的系統中,它將通用CPU中許多由板卡完成的任務(wù)集成到芯片內部,從而有利于嵌入式系統在設計時(shí)趨于小型化,同時(shí)還具有很高的效率和可靠性。
嵌入式處理器的體系結構經(jīng)歷了從CISC(復雜指令集)至RISC(精簡(jiǎn)指令集)和Compact RISC的轉變,位數則由4位、8位、16位、32位逐步發(fā)展到64位。目前常用的嵌入式處理器可分為低端的嵌入式微控制器(Micro Controller Unit,MCU)、中高端的嵌入式微處理器(Embedded Micro Processor Unit,EMPU)、用于計算機通信領(lǐng)域的嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP)和高度集成的嵌入式片上系統(System On Chip,SOC)。
目前幾乎每個(gè)半導體制造商