


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、沈陽理工大學(xué)課程設(shè)計(jì)專用紙摘要嵌入式系統(tǒng)(EmbeddedSystem)是一種包括硬件和軟件的完整的計(jì)算機(jī)系統(tǒng),嵌入式系統(tǒng)所用的計(jì)算機(jī)是嵌入到被控對象中的專用微處理器,但是功能比通用計(jì)算機(jī)專門化,具有通用計(jì)算機(jī)所不能具備的針對某個方面特別設(shè)計(jì)的、合適的運(yùn)算速度、高可靠性和較低比較成本的專用計(jì)算機(jī)系統(tǒng)。隨著移動設(shè)備的流行和發(fā)展,嵌入式系統(tǒng)已經(jīng)成為一個熱點(diǎn)。嵌入微控制芯片的設(shè)備和系統(tǒng)越來越多,從而使得這種技術(shù)越來越引人注目0windowsCE之所以脫穎而出,是因?yàn)閃indowsCE的高級特性,諸如網(wǎng)絡(luò)、通信以及圖形功能,和模塊化設(shè)計(jì)結(jié)合在一起,為中級開發(fā)人員創(chuàng)建高復(fù)雜度嵌入式系統(tǒng)提供了理想的環(huán)境。
2、同時,WindowsCE提供一個穩(wěn)定、靈活且被廣泛支持的操作系統(tǒng)來處理建立在嵌入式系統(tǒng)上的多種多樣的硬件平臺和軟件應(yīng)用程序。本文所要研究的就是基丁ARM嵌入式系統(tǒng)的DMA控制器驅(qū)動程序的設(shè)計(jì)。關(guān)鍵字:嵌入式,ARM,DMA,嵌入式系統(tǒng)沈陽理工大學(xué)課程設(shè)計(jì)專用紙目錄第1章、設(shè)計(jì)目的1第2章、設(shè)計(jì)思路22.1 ARM實(shí)驗(yàn)箱硬件資源概述2ARM的DMA控制器3第3章、關(guān)鍵技術(shù)43.1 ARM9處理器43.2嵌入式C語言開發(fā)技術(shù)43.3 ADS開發(fā)環(huán)境53.4.1 DMA控制器7DMA控制器工作原理7DMA方式的具體過程73.5實(shí)驗(yàn)詳解8第4章、程序流程9第5章、主要源代碼105.1主函數(shù)設(shè)計(jì)10第6
3、章、運(yùn)行結(jié)果及結(jié)論126.1運(yùn)行結(jié)果126.2結(jié)論13第7章、參考文獻(xiàn)14第1章、設(shè)計(jì)目的通過課程設(shè)計(jì),了解并熟悉DM而勺概念及其工作原理,掌握ARM目應(yīng)的寄存器配置,熟悉基丁ARM散處理器的嵌入式系統(tǒng)開發(fā)的過程,掌握嵌入式系統(tǒng)開發(fā)的知識。針對某一嵌入式微處理器進(jìn)行實(shí)際開發(fā),鍛煉實(shí)踐動手能力。能夠用C編寫相應(yīng)的程序。第2章、設(shè)計(jì)思路ARM實(shí)驗(yàn)箱硬件資源概述EL-ARM-830型教學(xué)實(shí)驗(yàn)系統(tǒng)屆丁一種綜合的教學(xué)實(shí)驗(yàn)系統(tǒng),該系統(tǒng)采用了目前在國內(nèi)普遍認(rèn)同的ARM920T核,32位微處理器,實(shí)現(xiàn)了多模塊的應(yīng)用實(shí)驗(yàn)。它是集學(xué)習(xí)、應(yīng)用編程、開發(fā)研究丁一體ARM實(shí)驗(yàn)教學(xué)系統(tǒng)。用戶可根據(jù)自己的需求選用不同類型的
4、CPU適配板,兼容ARM7與ARM9,而不需要改變?nèi)魏闻渲?,同時,實(shí)驗(yàn)系統(tǒng)上的Tech_V總線能夠拓展較為豐富的實(shí)驗(yàn)接口板。用戶在了解Tech_V標(biāo)準(zhǔn)后,更能研發(fā)出不同用途的實(shí)驗(yàn)接口板。除此之外,在實(shí)驗(yàn)板上有豐富的外圍擴(kuò)展資源(數(shù)字、模擬信號發(fā)生器,數(shù)字量IO輸入輸出,語音編解碼、人機(jī)接口等單元),可以完成ARM的基礎(chǔ)實(shí)驗(yàn)、算法實(shí)驗(yàn)和數(shù)據(jù)通信實(shí)驗(yàn)、以太網(wǎng)實(shí)驗(yàn)。網(wǎng)口音額錄祉USB設(shè)備L設(shè)畚以主USBUART1HART:E_LM接口信號原GPSrGPRS的總線接口標(biāo)準(zhǔn)健盤P5II鼠標(biāo)摟口SD-k(MMC)JIDE褒盤摟口4X4健盤8位斂內(nèi)管/模擬數(shù)學(xué)量輸入輸出圖2.1EL-ARM-830實(shí)驗(yàn)教學(xué)系
5、統(tǒng)的功能框圖色LCD3刀寸32OX踴。320X24014I(,鎮(zhèn)屏小1.1 ARM的DMA控制器中斷方式是在CPU的控制下進(jìn)行的,中斷方式盡管可以實(shí)時的響應(yīng)外部中斷源的請求,但由丁它需要額外的開銷時間,以及中斷處理服務(wù)時間,使得的中斷的響應(yīng)頻率受到限制。當(dāng)高速外設(shè)與計(jì)算機(jī)系統(tǒng)進(jìn)行信息交換時,若采用中斷方式,CPU將會頻繁的出現(xiàn)中斷而不能完成主要任務(wù)或者根本來不及響應(yīng)中斷而造成數(shù)據(jù)的丟失現(xiàn)象,因而傳輸速率受CPU運(yùn)行指令速度的限制。采取DMA方式,即(DirectMemoryAcess),可以確保外設(shè)和計(jì)算機(jī)系統(tǒng)進(jìn)行高速信息交換。這種方式是存儲器與外設(shè)在DMA控制器的控制下,直接傳送數(shù)據(jù)而不通過
6、CPU,傳輸速率主要取決丁存儲器存取速度。它為高速I/O設(shè)備和存儲器之間的批量數(shù)據(jù)交換提供了直接的傳輸通道。這里,“直接”的含義是在DMA傳輸過程中,DMA控制器負(fù)責(zé)管理整個操作,CPU不參與管理。S3C2410有4個通道控制器,作為簡單的事例,闡述原理。本程序是用DMA方法實(shí)現(xiàn)申口數(shù)據(jù)的發(fā)送,故使用BDMA。3.1 第3章、關(guān)鍵技術(shù)ARM9處理器新一代的ARM9處理器,通過全新的設(shè)計(jì),采用了更多的晶體管,能夠達(dá)到兩倍以上丁ARM7處理器的處理能力。這種處理能力的提高是通過增加時鐘頻率和減少指令執(zhí)行周期實(shí)現(xiàn)的。ARM9系列包括三種處理器:ARM926EJ-S、ARM946E-S和ARM968E
7、-S。ARM9特點(diǎn)以ARM9E-S為例介紹ARM9處理器的特點(diǎn)。其主要特點(diǎn)如下:a)32bit定點(diǎn)RISC處理器,改進(jìn)型ARM/Thumb代碼交織,增強(qiáng)性乘法設(shè)計(jì)。支持實(shí)時(real-time)調(diào)試;b)片內(nèi)指令和數(shù)據(jù)告訴緩沖器(cache溶量從4K字節(jié)到1M字節(jié);c)設(shè)置保護(hù)單元(protcctionunit),非常適合嵌入式應(yīng)用中隊(duì)存儲器進(jìn)行分段和保護(hù);d)支持外部協(xié)處理器,指令和數(shù)據(jù)總線有簡單的握手信令支持;e)支持標(biāo)準(zhǔn)基本邏輯單元掃描測試方法學(xué),而且支持BIST;f)支持嵌入式跟蹤宏單元,支持實(shí)時跟蹤指令和數(shù)據(jù)。g)片內(nèi)指令和數(shù)據(jù)SRAM,而且指令和數(shù)據(jù)的存儲器容量可調(diào);h)采用AMB
8、AAHB總線接口,為外設(shè)提供統(tǒng)一的地址和數(shù)據(jù)總線;3.2嵌入式C語言開發(fā)技術(shù)不同丁一般形式的軟件編程,嵌入式系統(tǒng)編程建立在特定的硬件平臺上,勢必要求其編程語言具備較強(qiáng)的硬件直接操作能力。無疑,匯編語言具備這樣的特質(zhì)。但是,由丁匯編語言開發(fā)的復(fù)雜性,它并不是嵌入式系統(tǒng)開發(fā)的一般選擇。而與之相比,C語言一種“高級的低級”語言則成為嵌入式系統(tǒng)開發(fā)的最佳選擇。在C語言中,宏是產(chǎn)生內(nèi)嵌代碼的唯一方法,對丁嵌入式系統(tǒng)而言,為了能達(dá)到性能要求,宏是一種很好的代替函數(shù)的方法。嵌入式開發(fā)的核心就是利用最少的資源最高的效的實(shí)現(xiàn)所需功能C語言在嵌入式中控制系統(tǒng)開發(fā)中的優(yōu)勢匯編語言有其執(zhí)行效率高的優(yōu)點(diǎn),但其可移植性和
9、可讀性差,以及它本身就是一種編程效率低下的低級語言,這些都使他的編程和維護(hù)極不方便,從而導(dǎo)致整個系統(tǒng)的可靠性也較差,而使用c語言進(jìn)行嵌入式控制系統(tǒng)的開發(fā),有著匯編語言不可比擬的優(yōu)勢。1、編程調(diào)試靈活方便C語言具有靈的編程方式,當(dāng)前幾乎看了所有的嵌入式控制系統(tǒng)都有相應(yīng)的C語言級別的仿真調(diào)試系統(tǒng),使得調(diào)試十分方便。2、生成的代碼編譯效率高。3、編寫的程序完全模塊化。4、可移植性好一種語言所編寫的C語言程序,只需將部分與相關(guān)的地方進(jìn)行適度的修改,就可方便的移植到另外一種系列上。5、便與項(xiàng)目維護(hù)管理用C語言發(fā)的代碼便與開發(fā)小組計(jì)劃項(xiàng)目,靈活管理,分工工作,以及后期維護(hù),基本上可以杜絕因開發(fā)人員變化而給
10、項(xiàng)目進(jìn)度或后期維護(hù)或升級帶來影響。3.3 ADS開發(fā)環(huán)境ADS(ARMDeveloperSuite),是在1993年由Metrowerks公司開發(fā),是ARM處理器下最重要的開發(fā)工具。ADS是全套的實(shí)時開發(fā)軟件工具,包編譯器生成的代碼密度和執(zhí)行速度優(yōu)異??煽焖俚蛢r地創(chuàng)建ARM結(jié)構(gòu)應(yīng)用。ADS對匯編、C/C+、java支持的均很好,是目前最成熟的ARM開發(fā)工具。很多ARM開發(fā)軟件也是借用的ADS的編譯器。1、ADS包括三種調(diào)試器:AXD(ARMeXtendedDebugger):ARM擴(kuò)展調(diào)試器;Armsd(ARMSymbolicDebugger):ARM符號調(diào)試器;與老版本兼容的Windows或
11、Unix下的ARM調(diào)試工具,ADW/ADU(ApplicationDebuggerWindows/Unix)。其中AXD不僅擁有低版本ARM調(diào)試器的所有功能,還新添了圖形用戶界面,更方便的視窗管理數(shù)據(jù)顯示,格式化和編輯以及全套的命令行界面。該產(chǎn)品還包括RealMonitorTM(可以再前臺調(diào)試的同時斷點(diǎn)續(xù)存并且在不中斷應(yīng)用的情況下讀寫內(nèi)存跟蹤調(diào)試工具)。2、組成介紹a) 編譯器:ADS提供多種編譯器,以支持ARM和Thumb指令的變異。armcc是ARMC編譯器tcc是ThumbC編譯器armcpp是ARMC+編譯器tcpp是ThumbC+編譯器armasm是ARM和Thumb的編譯器鏈接器:
12、armlink是ARM鏈接器。該命令既可以將編譯得到的一個或多個目標(biāo)文件和相關(guān)的一個或多個庫文件進(jìn)行鏈接,生成一個可執(zhí)行文件,也可以將多個目標(biāo)文件部分鏈接成一個目標(biāo)文件,以供進(jìn)一步的鏈接。b) 符號調(diào)試器:armsd是ARM和Thumb的符號調(diào)試器。它能夠進(jìn)行源碼級的程序調(diào)試。用戶可以再用C或匯編語言寫的代碼中進(jìn)行單步調(diào)試、設(shè)置斷點(diǎn)、查看變量值和內(nèi)存單元的內(nèi)容。c) fromELF:將ELF格式的文件轉(zhuǎn)換為各種格式的輸出文件,包括bin格式的映像文件、Motorola32位S格式影像文件、Intel32位格式映像文件和Verilog十六進(jìn)制文件。armar:armar是ARM庫函數(shù)生成器,它將
13、一系歹UELF格式的目標(biāo)文件以庫函數(shù)的形式集合在一起。用戶可以把一個庫傳遞給一個鏈接器以代替幾個ELF文件。d) CodeWarrior:CodeWarrior集成開發(fā)環(huán)境(IDE)為管理和開發(fā)項(xiàng)目提供了簡單多樣化的圖形用戶界面,用戶可以使用ADS的CodeWarriorIDE為ARM和Thumb處理器開發(fā)用C、C+或者ARM匯編語言編寫的程序代碼。e) C和C+庫:ADS提供ANSIC庫函數(shù)和C+庫函數(shù),支持被編譯的C和C+大面。用戶可以把C庫中的與目標(biāo)相關(guān)的函數(shù)作為自己應(yīng)用程序中的一部分,重新進(jìn)行代碼的實(shí)現(xiàn)。3.4.1 DMA控制器DMA控制器工作原理所謂DMA方式,即直接存儲器存取,是指
14、存儲器與外設(shè)在DMA控制器的控制下,直接傳送數(shù)據(jù)而不通過CPU,傳輸速率主要取決丁存儲器存取速度。這里,直接的含義是指在DMA傳送過程中,DMA控制器負(fù)責(zé)管理整個操作,CPU不參與管理。DMA方式為高速I/O設(shè)備和存儲器之間的批量數(shù)據(jù)交換提供了直接的傳輸通道。3.4.2 DMA方式的具體過程1. 外設(shè)向DMA控制器發(fā)出DMA請求。2. DMA控制器向CPU發(fā)出總線請求信號。3. CPU執(zhí)行完現(xiàn)行的總線周期后,向DMA控制器發(fā)出響應(yīng)請求的回答信號。4. CPU將控制總線、地址總線及數(shù)據(jù)總線讓出,由DMA控制器進(jìn)行控制。5. DMA控制器向外部設(shè)備發(fā)出DMA請求回答信號。6. 進(jìn)行DMA傳送。7.
15、 數(shù)據(jù)傳送完畢,DMA控制器通過中斷請求線發(fā)出中斷信號。CPU在接收到中斷信號后,轉(zhuǎn)入中斷處理程序進(jìn)行后續(xù)處理。8. 中斷處理結(jié)束后,CPU返回到被中斷的程序繼續(xù)執(zhí)行。CPU重新獲得總線控制權(quán)3.5實(shí)驗(yàn)詳解首先,要正確的對S3C2410相關(guān)寄存器的進(jìn)行配置:配置DCONn(n=0,1,2,3)寄存器,見表3.5表3.5DCONn位描述DMD_HS31選擇請求模式或握手模式0:請求模式1:握手模式SYNC30選擇同步模式0:DREQ和DACK與APB時鐘同步1:DREQ和DACK與AHB時鐘同步INT29當(dāng)計(jì)數(shù)器到達(dá)0時是否使能中斷0:禁止中斷1:使能中斷TSZ28選擇傳輸單位的大小0:單位傳輸
16、1:長度為4的猝發(fā)式傳輸SERVMODE27選擇服務(wù)模式0:單服務(wù)模式1:整服務(wù)模式HWSRCSEL26:24為DMA設(shè)置DMA請求源.DCON0:000:nXDREQ0001:UART0010:SDI011:Timer100:USBdeviceEP1DCON1:000:nXDREQ1001:UART1010:I2SSDI011:SPI100:USBdeviceEP2DCON2:000:I2SSDO001:I2SSDI010:SDI011:Timer100:USBdeviceEP3DCON3:000:UART2001:SDI010:SPI011:Timer100:USBdeviceEP4SWH
17、W_SEL23在DMA軟件請求源和硬件請求源之間選擇0:軟件請求模式,DMA通過設(shè)置DMASKTRIG寄存器SW_TRIG位觸發(fā)1:硬件請求模式,DMA通過本寄存器的HWSRCSEL位設(shè)置來觸發(fā)RELOAD22當(dāng)當(dāng)前計(jì)數(shù)器值等于零后是否重新加載0:自動加載1:DMA通道關(guān)閉,不重新加載DSZ21:20傳輸數(shù)據(jù)的大小0:字節(jié)1:半字2:字3:保留TC19:0初始化計(jì)數(shù)器,在這里設(shè)置計(jì)數(shù)器的值。第4章、程序流程該程序的流程是,在ADS調(diào)試環(huán)境下,在主程序Main函數(shù)中的rDMASKTRIG0=(11);處設(shè)置斷點(diǎn),全速運(yùn)行映象文件到該處。下一步單步運(yùn)行,在申口助手的接收欄中,將接收50個字符,在申
18、口助手的最下欄可以看到接收的字符數(shù),而此時CPU已經(jīng)停止,但是申口仍然在發(fā)送數(shù)據(jù),這些數(shù)據(jù)的傳送就是通過DMA控制器發(fā)送的,它沒有通過CPU,這說明了DMA的直接存儲器訪問的功能得以實(shí)現(xiàn)。程序流程圖如下:圖4.1程序流程圖第5章、主要源代碼5.1主函數(shù)設(shè)計(jì)#include#include.INCconfig.h#defineSEND_DATA(*(volatileunsignedchar*)0x30200000)#defineSEND_ADDR(volatileunsignedchar*)0x30200000)voidMain(void)volatileunsignedchar*p=SEND_
19、ADDR;inti;Target_Init();Delay(1000);SEND_DATA=0x46;for(i=0;i128;i+)*p+=0x46+i;/*Uart設(shè)置成DMA形式*/rUCON0=rUCON0&0xff3|0x8;/*DMA0Initialize*/rDISRC0=(U32)(SEND_ADDR);rDISRCC0=(01)|(00);/Src=AHB,IncrementrDIDST0=(U32)UTXH0;/TxFIFOaddressrDIDSTC0=(11)|(10);/Dst=APB,Fixed;rDCON0=(031)|(030)|(129)|(028)|(027)|(124)|(123)|(122)|(020)|(58);/handshake,Sync=APB,IntEn,unit,single,dst=UART0,HwReqMode,NoAutoReload,Halfword,rDMASKTRIG0=(11);/DMA0En*/while(1);第6章、運(yùn)行結(jié)果及結(jié)論6.1運(yùn)行結(jié)果申口助手的最下欄顯示接收的字符。設(shè)置啟始字符為F,字符申長度為58圖6.1運(yùn)行結(jié)果圖6.2結(jié)論這次的ARM9嵌入式系統(tǒng)課程設(shè)計(jì)需要我們綜合運(yùn)用“ARM9嵌入式系統(tǒng)”課程的知識,通過研究、查閱資料、方案論證與
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題開題報(bào)告:黃炎培職業(yè)教育目的觀研究與實(shí)踐
- 課題開題報(bào)告:紅色文化教育在線教學(xué)資源建設(shè)研究
- 課題開題報(bào)告:公益性文化事業(yè)單位體制機(jī)制研究
- 2025年核子及核輻射測量儀器合作協(xié)議書
- 通信設(shè)備批發(fā)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報(bào)告
- 消毒用品批發(fā)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 床上用針織品專門零售企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 收割機(jī)械批發(fā)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 煤磚批發(fā)企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報(bào)告
- 身體護(hù)理化妝品企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 服務(wù)器巡檢報(bào)告模版
- 【員工創(chuàng)新績效研究文獻(xiàn)綜述】
- 2023年高中生物新教材人教版(2023年)必修二全冊教案
- 【高考核心詞匯考前沖刺】介詞短語辨析+單選100題高考英語詞匯查漏補(bǔ)缺沖刺訓(xùn)練
- 2023年供貨方案 醫(yī)療器械供貨方案(四篇)
- 夫妻吵架復(fù)合合同書
- 六年級上冊心理健康教育課件-健康上網(wǎng)快樂多 北師大版
- GB/T 23641-2018電氣用纖維增強(qiáng)不飽和聚酯模塑料(SMC/BMC)
- 情報(bào)信息收集報(bào)知
- 簡約國潮行業(yè)通用中國風(fēng)鎏金PPT模板
- (省優(yōu))課件閩教版六下Unit-8-Farewell-Part-B課件
評論
0/150
提交評論