付費(fèi)下載
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄1引言(或緒論)12系統(tǒng)的主要功3硬件電路設(shè)計(jì)及描述23.1 S3c2410與串口通信概述23.1.1 S3c2410處理器概述23.2 方案設(shè)計(jì).63.3 電路設(shè)計(jì)73.3.1 電源設(shè)計(jì)73.3.2 晶振電路83.3.3 復(fù)位電路83.3.4 JTAG接口93.3.5 存儲(chǔ)器設(shè)計(jì)93.3.6用口電路114軟件設(shè)計(jì)流程及描述125實(shí)驗(yàn)步驟.146源程序代碼.157課程設(shè)計(jì)體會(huì)368參考文獻(xiàn).36一引言(或緒論)本課題以嵌入式系統(tǒng)設(shè)計(jì)原理和實(shí)際應(yīng)用為核心,從理論上和技術(shù)方法上開(kāi)展了一系列研究。主要工作有:1、全面系統(tǒng)地概述了嵌入式系統(tǒng)的發(fā)展過(guò)程和分類,及其在各個(gè)領(lǐng)域內(nèi)的應(yīng)用,以及嵌入式系統(tǒng)的
2、發(fā)展方向;2、基于嵌入式系統(tǒng)設(shè)計(jì)原理的嵌入式開(kāi)發(fā)平臺(tái)的設(shè)計(jì)的總體方案,從硬件和軟件兩個(gè)方面講述了嵌入式系統(tǒng)的設(shè)計(jì)思想和方法,及其可行性的論證;3、嵌入式系統(tǒng)硬件平臺(tái)的設(shè)計(jì)與調(diào)試,著重?cái)⑹隽擞布脚_(tái)的整體設(shè)計(jì)方案,包括模塊的選型與接口電路的設(shè)計(jì);總之,本文完成了嵌入式系統(tǒng)的硬件平臺(tái)構(gòu)架、實(shí)時(shí)嵌入式操作系統(tǒng)的移植,為今后嵌入式系統(tǒng)的后繼開(kāi)發(fā)提供了一個(gè)嵌入式平臺(tái)?;谇度胧较到y(tǒng)設(shè)計(jì)原理的嵌入式開(kāi)發(fā)平臺(tái)的設(shè)計(jì)的總體方案,從硬件和軟件兩個(gè)方面講述了嵌入式系統(tǒng)的設(shè)計(jì)思想和方法,及其可行性的論證。嵌入式系統(tǒng)硬件平臺(tái)的設(shè)計(jì)與調(diào)試,著重?cái)⑹隽擞布脚_(tái)的整體設(shè)計(jì)方案,包括各個(gè)設(shè)計(jì)模塊的選型與接口電路的設(shè)計(jì)。隨著世
3、界科技水平的發(fā)展,嵌入式系統(tǒng)以其小型、專用、易攜帶、可靠性高的特點(diǎn),已經(jīng)在各個(gè)領(lǐng)域得到了廣泛的應(yīng)用,如軍事國(guó)防、消費(fèi)電子、通信設(shè)備、工業(yè)控制等。隨著嵌入式系統(tǒng)軟硬件技術(shù)的飛速發(fā)展,其應(yīng)用領(lǐng)域必將更為廣闊,嵌入式系統(tǒng)的研究將會(huì)有非常廣泛的前景。本課題既可以使電子專業(yè)學(xué)生對(duì)ARM920T的嵌入式串口通信系統(tǒng)的實(shí)際應(yīng)用有深入的了解,更重要的是培養(yǎng)了學(xué)生的軟硬件動(dòng)手能力,是對(duì)學(xué)生所學(xué)專業(yè)知識(shí)、理論、技能和培養(yǎng)學(xué)生獨(dú)立完成基本科研任務(wù)能力的一個(gè)綜合檢驗(yàn),具有一定的效果和意義。二系統(tǒng)的主要功能2.1 申行數(shù)據(jù)的輸入和輸出、顯示、存儲(chǔ);2.2 顯示當(dāng)前時(shí)間日期、輸入和輸出數(shù)據(jù)的顯示和存儲(chǔ)、串行傳輸;2.3
4、參數(shù)設(shè)置:傳輸字符長(zhǎng)度、存儲(chǔ)位置;2.4 菜單功能:如開(kāi)始、結(jié)束、暫停、設(shè)置環(huán)境參數(shù)等;2.5 文件操作:讀文件、寫文件等1實(shí)驗(yàn)周說(shuō)明書三硬件電路設(shè)計(jì)及描述3.1 S3c2410與串口通信概述3.1.1 S3c2410處理器概述ARM微處理器結(jié)構(gòu)1) RISC體系結(jié)構(gòu)RISC結(jié)構(gòu)優(yōu)先選取使用頻率最高的簡(jiǎn)單指令,避免復(fù)雜指令;將指令長(zhǎng)度固定,指令格式和尋址方式種類減少;以控制邏輯為主,不用或少用微碼控制等措施來(lái)達(dá)到上述目的。到目前為止,RISC體系結(jié)構(gòu)也還沒(méi)有嚴(yán)格的定義,一般認(rèn)為,RISC體系結(jié)構(gòu)應(yīng)具采用固定長(zhǎng)度的指令格式,指令歸整、簡(jiǎn)單、基本尋址方式有23種;使用單周期指令,便于流水線操作執(zhí)行
5、;大量使用寄存器,數(shù)據(jù)處理指令只對(duì)寄存器進(jìn)行操作,只有加載/存儲(chǔ)指令可以訪問(wèn)存儲(chǔ)器,以提高指令的執(zhí)行效率等特點(diǎn)。2) ARM微處理器的寄存器結(jié)構(gòu)ARM處理器共有37個(gè)寄存器,被分為若干個(gè)組(BANK),同時(shí),ARM處理器又有7種不同的處理器模式,如下表22在每一種處理器模式下均有一組相應(yīng)的寄存器與之對(duì)應(yīng)。表1ARM處理器的7種處理器模式處理藩模式描述用戶慢式<Useriusr)正常程序執(zhí)行的模式快速中斷模式”15fiq)用T高速數(shù)據(jù)傳輸和畫也處理外部中斷模式URQ.irq)用于通常的中斷處理特權(quán)模式(S.ervisonSve)供操作系統(tǒng)使冊(cè)的神像m模式數(shù)據(jù)訪問(wèn)中生根式Abort,abt)
6、用感損存情及存儲(chǔ)保護(hù)kt工拈勺中畏式(Undefined.mdJ用于支耨制過(guò)軟件傷在硼件的處處理器系統(tǒng)模式(System>sys)用運(yùn)行特權(quán)級(jí)的梯作鼐統(tǒng)住專3) ARM微處理器的指令結(jié)構(gòu)ARM微處理器的在較新的體系結(jié)構(gòu)中支持兩種指令集:ARM指令集和Thumb指令集。其中,ARM指令為32位的長(zhǎng)度,Thumb指令為16位長(zhǎng)度。Thumb指令集為ARM指令集的功能子集,但與等價(jià)的ARM代碼相比較,可節(jié)省30%40%以上的存儲(chǔ)空間,同時(shí)具備32位代碼的所2實(shí)驗(yàn)周說(shuō)明書有優(yōu)點(diǎn)。S3c2410是Samsung公司基于ARM920T內(nèi)核的嵌入式微處理器.本文以S3c2410為核心,配置了最基本外圍
7、電路構(gòu)成了最小的嵌入式系統(tǒng),并在ADS上開(kāi)發(fā)了啟動(dòng)程序,完成硬件初始化,配置運(yùn)行環(huán)境,申日調(diào)試功能。Samsung公司推出的16/32位RISC處理器S3c2410A,為手持設(shè)備和一般類型應(yīng)用提供了低價(jià)格、低功耗、高性能小型微控制器的解決方案。為了降低整個(gè)系統(tǒng)的成本,S3C2410A提供了以下豐富的內(nèi)部設(shè)備:分開(kāi)的16KB的指令Cache和16KB數(shù)據(jù)Cache,MMU虛擬存儲(chǔ)器管理,LCD控制器(支持STN&TFT),支持NANDFlash系統(tǒng)引導(dǎo),系統(tǒng)管理器(片選邏輯和SDRAM控制器),3通道UART,4通道DMA,4通道PWM定時(shí)器,I/O端口,RTC,8通道10位ADC和觸摸
8、屏接口,IIC-BUS接口,IIC-BUS接口,USB主機(jī),USB設(shè)備,SD主卡&MMC卡接口,2通道的SPI以及內(nèi)部PLL時(shí)鐘倍頻器。S3c2410A采用了ARM920T內(nèi)核,0.18um工藝的CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)器單元。它的低功耗、精簡(jiǎn)和出色的全靜態(tài)設(shè)計(jì)特別適用于對(duì)成本和功耗敏感的應(yīng)用。同樣它還采用一種叫做AdvancedMicrocontrollerBusArchitecture(AMBA)新型總線結(jié)構(gòu)。S3c2410A的顯著特性是它的CPU核心,是一個(gè)由AdvancedRISCMachines(ARM)有限公司設(shè)計(jì)的16/32位ARM920TRISC處理器。ARM920T實(shí)
9、現(xiàn)了MMU,AMBABUS和Harvard高速緩沖體系結(jié)構(gòu)。這一結(jié)構(gòu)具有獨(dú)立的16KB指令Cache和16KB數(shù)據(jù)Cache,每個(gè)都是由8字長(zhǎng)的行(line)構(gòu)成。3.1.2 用口通信串口通信的概念,即由口按位(bit)發(fā)送和接收字節(jié)通信協(xié)議是指通信雙方按照約定的數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟等規(guī)程來(lái)進(jìn)行數(shù)據(jù)傳輸本次采用異步通信,其特點(diǎn)是通信雙方以一個(gè)字符(包括特定附加位)作為數(shù)據(jù)傳輸單位,且發(fā)送方傳送字符的間隔時(shí)間是不定的。在傳輸一個(gè)字符時(shí)總是從起始位開(kāi)始,以停止位結(jié)束。如圖1所示:3實(shí)驗(yàn)周說(shuō)明書圖1.1申行數(shù)據(jù)幀格式S3c2410的UART提供3個(gè)獨(dú)立的異步串行通信端口,每個(gè)端口可
10、以基于中斷或者DMA進(jìn)行操作。換句話說(shuō),UART控制器可以在CPU和UART之間產(chǎn)生一個(gè)中斷或者DMA請(qǐng)求來(lái)傳輸數(shù)據(jù)。UART在系統(tǒng)時(shí)鐘下運(yùn)行可支持高達(dá)230.4K的波特率,如果使用外部設(shè)備提供的UEXTCLK,UART的速度還可以更高。每個(gè)UART通道各含有兩個(gè)16位的接收和發(fā)送FIFO。S3c2410的UART包括可編程的波特率,紅外接收/發(fā)送,一個(gè)或兩個(gè)停止位插入,5-8位數(shù)據(jù)寬度和奇偶校驗(yàn)。每個(gè)UART包括一個(gè)波特率發(fā)生器、一個(gè)發(fā)送器、一個(gè)接收器和一個(gè)控制單元,如圖11-1所示。波特率發(fā)生器的輸入可以是PCLK或者UEXTCLK。發(fā)送器和接收器包含16位的FIFO和移位寄存器,數(shù)據(jù)被送
11、入FIFO,然后被復(fù)制到發(fā)送移位寄存器準(zhǔn)備發(fā)送,然后數(shù)據(jù)按位從發(fā)送數(shù)據(jù)引腳TxDn輸出。同時(shí),接收數(shù)據(jù)從接收數(shù)據(jù)引腳RxDn按位移入接收移位寄存器,并復(fù)制到FIFOo特性一RxD0,TxD0,RxD1,TxD1,RxD2,和TxD2基于中斷或者DMA操作一UARTCh0,1,和2具有IrDA1.0&16字節(jié)FIFO一UARTCh0和1具有nRTS0,nCTS0,nRTS1,和nCTS1一支持發(fā)生/接收握手2 .串行接口的物理層標(biāo)準(zhǔn)時(shí)間里*j;射<第卜十丁口1I。1卜降邊沿!ftH卜一個(gè)字符的JT始I*描I【ff平卜卜起始明n個(gè)字符Mr>*t個(gè)?希1JDlift)0I)0ID
12、1®實(shí)驗(yàn)周說(shuō)明書1)EIARS232C它在一種25針插彳(DB-25)上定義了串行通信的有關(guān)信號(hào)。在實(shí)際異步串行通信中,并不要求用全部的RS-232C信號(hào),許多PC/XT兼容機(jī)僅用15針接插件(DB-15)來(lái)引出其異步串行I/O信號(hào),而PC中更是大量采用9針接插件(DB-9)來(lái)?yè)?dān)當(dāng)此任。圖1.3DB-25和DB-9引腳定義表2引腳說(shuō)明RXD口而冬>1CD6DSRC2RXD73T7;DW-V3CTSt4DTR*RI5SG引腳序安1號(hào)轉(zhuǎn)林符號(hào)流向功能發(fā)送散相TXDDTE-DCKDTE發(fā)送串后散榭3接收RXDDTE-DCEMI接收串If數(shù)第謝求發(fā)話RTSDTE*DCEDTE睛求比西將
13、線路切換利發(fā)運(yùn)方式5r允薇揖CTSPTE-PCE|DC!告好口值也略己偃劉叮以U'送數(shù)據(jù)6收據(jù)設(shè)看準(zhǔn)犒好DSKDCEDCE準(zhǔn)符好他號(hào)地倒號(hào)公共地8枝波門加DCDDTE'DCE表生收包迎那次出20陞據(jù)蟬密排備好DTRDTEDCE1ME海芾好22振仲指點(diǎn)RIDTE-DCE代小DCE:獨(dú)翳|。1乳出昵掘片2)信號(hào)電平規(guī)定RS-232C規(guī)定了雙極性的信號(hào)邏輯電平,它是一套負(fù)邏輯定義:-3V到-25V之間的電平表示邏輯“1:+3V至IJ+25V之間的電平表示邏輯”0:以上標(biāo)準(zhǔn)稱為EIA電平。PC/XT系列使用的信號(hào)電平是-12V和+12V,符合EIA標(biāo)準(zhǔn),但在計(jì)算機(jī)內(nèi)部流動(dòng)的信號(hào)都是TT
14、L電平,因此這中間需要用電平轉(zhuǎn)換電路。常用專門的RS-232接口芯片,如SP3232SP3220等,在TTL電平和EIA電平之間實(shí)現(xiàn)相互轉(zhuǎn)換。PC/XT系列以這種方式進(jìn)行串行通信時(shí),在波特率5實(shí)驗(yàn)周說(shuō)明書不高于9600bps的情況下,理論上通信線的長(zhǎng)度限制為15米。3 .S3c2410由行口控制器S3c2410自帶3個(gè)異步由行口控制器,每個(gè)控制器有16字節(jié)的FIFO(先入先出寄存器),最大波特率115.2Kbps。每個(gè)UART有7種狀態(tài):溢出錯(cuò)誤,校驗(yàn)錯(cuò)誤,幀錯(cuò)誤,暫停態(tài),接收緩沖區(qū)準(zhǔn)備好,發(fā)送緩沖區(qū)空,發(fā)送移位緩沖器空,這些狀態(tài)可以由相應(yīng)的UTRSTATn或UERSTATn寄存器表示,并且與
15、發(fā)送接收緩沖區(qū)相對(duì)應(yīng)的有錯(cuò)誤緩沖區(qū)。串行接口:波特率的大小由一個(gè)專用的UART波特率分頻寄存器(UBRDIVn)控制,計(jì)算公式如下:UBRDIVn=(int)MCLK/(bps>16)-1其中:MCLK是系統(tǒng)時(shí)鐘,UBRDIVn的伯:必須在1(216-1)之間.例如:在40MHz的情況下,當(dāng)波特率取115200時(shí),UBRDIVn=(int)40000000/(115200X6)-1=(int)(21.7)-1=21-1=203.2 方案設(shè)計(jì)本系統(tǒng)是以嵌入式芯片S3c2410為核心的最小嵌入式系統(tǒng)構(gòu)建方法,給出了S3c2410的復(fù)位電路、調(diào)試接口、電源電路、存儲(chǔ)器電路和串口電路等硬件組成。
16、6實(shí)驗(yàn)周說(shuō)明書圖1.5通信系統(tǒng)的組成框圖3.3 電路設(shè)計(jì)3.3.1 電源設(shè)計(jì)S3c2410工作時(shí)內(nèi)核需要1.8V電壓,I/。端口和外設(shè)需要3.3V電壓.VDDi/VDDiarm引腳口是供S3c2410內(nèi)核的1.8V電壓;VDDalive引腳是功能復(fù)位和端口狀態(tài)寄存器電壓.M12弓|腳RTCVDD是RTC模塊的1.8V電壓,用電池供電保證系統(tǒng)的掉電后保持實(shí)時(shí)時(shí)鐘.VDDOP引腳是I/O端口3.3V電壓;VDDMOP引腳是存儲(chǔ)器I/。端口電壓;還有一系列VSS引腳需要接到電源地上.3.3V電壓從SV用AMS1117-3.3轉(zhuǎn)換;1.8V從3.3V通過(guò)MIC5207-1.8轉(zhuǎn)換得到。實(shí)驗(yàn)周說(shuō)明書圖1
17、.6電源電路3.3.2晶振電路S3c2410內(nèi)部有時(shí)鐘管理模塊,有2個(gè)鎖相環(huán),其中MPLL能夠產(chǎn)生CPU卞頻FCLK,AHB總線外設(shè)時(shí)鐘HCLK和APB總線外設(shè)時(shí)鐘PCLK;UPLL產(chǎn)生USB模塊的時(shí)鐘。OM3,OM2都接地時(shí),主時(shí)鐘源和USB模塊時(shí)鐘源都由外接晶振產(chǎn)生。在XTIpll和XTOpll之間連接主品振,可以選擇12MHz品振,通過(guò)內(nèi)部寄存器的設(shè)置產(chǎn)生不同頻率的FOLK,HCLK和PCLK;在XTIrtc和XTOrtc上需要接32.768kHz的晶振供RTC模塊使用.同時(shí)在MPLLCAP和UPLLCAP上也要外接5pF的環(huán)路濾波電容0圖1.7晶振電路8圖1.8復(fù)位電路實(shí)驗(yàn)周說(shuō)明書3.
18、3.3復(fù)位電路S3c2410的J12引腳為nRESET復(fù)位弓I腳,nRESET上給4個(gè)FOLK時(shí)間的低電平后就可以復(fù)位.可以設(shè)計(jì)如圖5所小的復(fù)位電路,其中上電復(fù)位是靠RC電路特性完成,開(kāi)關(guān)二極管1N4148在手動(dòng)復(fù)位時(shí)對(duì)電容起快速放電的作用,因此可以把復(fù)位電平快速拉到OV。反響門74HC14可以起到延時(shí)作用,保證有足夠的復(fù)位時(shí)間。11OiF此:NTESTO!»!IUIKlWA-|3.3.4 JTAG接口S3c2410有標(biāo)準(zhǔn)的JTAG接口,TCI(H6)為測(cè)試時(shí)鐘輸入;TDI(J1)為測(cè)試數(shù)據(jù)輸入;TDO(JS)為測(cè)試數(shù)據(jù)輸出;TMS(J3)為測(cè)試模式選擇,TMS用來(lái)設(shè)置JTAG接日處
19、于某種特定的測(cè)試式;nTRST(H5)為測(cè)試復(fù)位,輸入引腳,低電平有效。其nTRST,TMS,TCK,TDI需要接10K的上拉電阻。通過(guò),JTAG日可以完成芯片測(cè)試或在線編程。3.3.5 存儲(chǔ)器設(shè)計(jì)S3c2410有32根數(shù)據(jù)線和27根地址線,因此地址線的尋址范圍為128M;但是S3C24109實(shí)驗(yàn)周說(shuō)明書還有8根存儲(chǔ)器芯片片選信號(hào)線nGCSO-nGCS7,因此總的尋址空間為128M*8=1G。NandFlash啟動(dòng)模式下復(fù)位時(shí)S3c2410的存儲(chǔ)器映射。如當(dāng)訪問(wèn)物理地址0x08000000-0x10000000內(nèi)的地址則nGCSl自動(dòng)為低電平,以此類推??芍猄DRAM只能連接在nGCS6和nG
20、CS7片選弓唧上。S3c2410提供了SDRAM的接口,其中包括nSRAS:行信號(hào)鎖存;nSCAS:列信號(hào)鎖存;nSCS酰是nGCS6):片選信號(hào);SROMSHUM涮用4t01SRON4IUM相Him(hlSOOOOOO(h20X100)00000000(h.WMXX)(hwnooMdJkEOiKKXUOOO口皿據(jù)如hUKOJOOl-MMi42)nCC<3i1匾riGCS5iriGC57|表3DQM3:0:數(shù)據(jù)屏蔽;SCLI1:0;時(shí)鐘;SCKE:時(shí)鐘有效;nBE3:0:高/低字節(jié)有效;nWBE3:0:寫有效。MT48LC16M16A2P是4塊16位32M的SDRAM存儲(chǔ)器。MT48LC
21、16M16A2P的行地址13位為A0-A12,列地址9位為CAO-CA8,行和列地址是復(fù)用的。MT48LC16M16A2P包括4個(gè)塊,通過(guò)BA0,BA1的組合選擇塊。MT48LC16M16A2P是16位存儲(chǔ)器,因此數(shù)據(jù)線為DQ0-DQ15,還有CS片選,CLK時(shí)鐘,CKE時(shí)鐘使能,RAS行鎖存,CAS歹鎖存,WE寫使能等引腳.MT48LC16M16A2P和S3c2410的連接方法,其中BA0,BA1需要連接ADD24和ADDR25,通過(guò)S3c2410的說(shuō)明可知,因?yàn)閮?nèi)存總大小是64M因此塊選擇信號(hào)必須使用ADDR24和ADDR25。S3c2410內(nèi)部有NANDFlash控制器,支持從NADNF
22、lash啟動(dòng).K9F120864MFlash芯片和S3c2410的連接方式.S3c2410采用一組內(nèi)部寄存器來(lái)完成NANDFlash的操作.10實(shí)驗(yàn)周說(shuō)明書圖1.9存儲(chǔ)器連接電路3.3.6 用口電路S3c2410的DART提供了二個(gè)同步串行IO日,COMO的連接方式。串口數(shù)據(jù)的收發(fā)有查詢方式、中斷方式和DMA方式等,這些可以在UCONO寄存器中設(shè)置。UTXH0把要發(fā)送的數(shù)據(jù)寫入此寄存器。URXH0讀此寄存器獲得用日接收的數(shù)據(jù)。申日一般可以用程序運(yùn)行信息的輸出和程序調(diào)試。圖1.10串口連接電路11實(shí)驗(yàn)周說(shuō)明書四軟件設(shè)計(jì)流程及描述用口在嵌入式系統(tǒng)中是一個(gè)重要的資源,常用來(lái)做輸入輸出設(shè)備,在后續(xù)的實(shí)
23、驗(yàn)中也將使用串口的功能。用口的基本操作有三個(gè):由口初始化、發(fā)送數(shù)據(jù)和接收數(shù)據(jù),這些操作都是通過(guò)訪問(wèn)上節(jié)中描述的串口控制寄存器進(jìn)行,下面將分別說(shuō)明:1)由口初始化程序MMU_Init();初始化內(nèi)存管理單元/設(shè)置系統(tǒng)時(shí)鐘ChangeClockDivider(1,1);/1:2:4ChangeMPllValue(0xa1,0x3,0x1);/FCLK=202.8MHzPort_Init();初始化I/O口Uart_Init(0,115200);初始化由口Uart_Select(0);/選擇串口02)發(fā)送數(shù)據(jù)while(!(rUTRSTAT0&0x2);/等待發(fā)送緩沖空rUTXH0=data
24、;/將數(shù)據(jù)寫到數(shù)據(jù)端口3)接收數(shù)據(jù)while(rUTRSTAT0&0x1=0x0);/等待數(shù)據(jù)data=rURXH0;/讀取數(shù)據(jù)(三)設(shè)計(jì)步驟1 .硬件連接;2 .新建工程UART.mcp,編輯并添加以下三類文件:1) .s文件:2410init.s,2410slib.s;2) .h文件:def.h,option.h,2410addr.h,2410lib.h,2410slib.h,mmu.h;3) .c(C)文件:2410lib.c,Main.C,mmu.c;*文件說(shuō)明:2410iMt.s初始化cpu、內(nèi)存等狀態(tài),完成后跳轉(zhuǎn)到C語(yǔ)言入口;2410swis.s軟中斷處理相關(guān);2410sl
25、ib.s一庫(kù)中內(nèi)存管理等函數(shù)的調(diào)用;def.h宏定義;option.h一定義時(shí)鐘、地址、總線寬度等;2410addr.h-寄存器地址狀態(tài)定義;12實(shí)驗(yàn)周說(shuō)明書2410lib.h,2410lib.c-(C語(yǔ)言)前者聲明函數(shù)庫(kù)變量,后者定義庫(kù)中常用函數(shù)(如審口函數(shù));2410slib.h,2410slib.s-(匯編語(yǔ)言)前者聲明函數(shù)庫(kù)變量,后者定義庫(kù)中常用函數(shù)(如內(nèi)存管理等);mmu.h,mmu.c內(nèi)存管理單元的聲明和函數(shù)定義;test.c,Main.c,*.c定義系統(tǒng)運(yùn)行方式(*.c表示以工程名命名的c文件以及其他可能用到的c文件);*3 .修改工程設(shè)置,如圖1.11、1.12所示:圖1.11
26、13實(shí)驗(yàn)周說(shuō)明書圖1.124 .編譯UART;5 .運(yùn)行超級(jí)終端,選擇正確的串口號(hào),并將串口設(shè)置為:波特率(115200)6 .運(yùn)行程序,在超級(jí)終端中輸入的數(shù)據(jù)將回顯到超級(jí)終端上。五實(shí)驗(yàn)步驟1 .本實(shí)驗(yàn)使用實(shí)驗(yàn)教學(xué)系統(tǒng)的CPU板,蟲口。在進(jìn)行本實(shí)驗(yàn)時(shí),LCD電源開(kāi)關(guān)、音頻的左右聲道開(kāi)關(guān)、AD通道選擇開(kāi)關(guān)、觸摸屏中斷選擇開(kāi)關(guān)等均應(yīng)處在關(guān)閉狀態(tài)。2 .在PC機(jī)并口和實(shí)驗(yàn)箱的CPU板上的JTAG接口之間,連接仿真調(diào)試電纜。使用串口線連接PC機(jī)串口1和實(shí)驗(yàn)箱CPU板的串口,使用直連線連接底板由口2和PC機(jī)上的串口2之間的電纜。3 .打開(kāi)超級(jí)終端,配置串口的屬性(如COM1),配置波特率為115200,
27、校驗(yàn)位無(wú),數(shù)據(jù)位為8,停止位為1,數(shù)據(jù)控制流為無(wú);檢查連接是否可靠,可靠后,接入電源線,系統(tǒng)上電,同時(shí)按住空格”鍵,進(jìn)入VIVI狀態(tài)。4 .打開(kāi)ADS1.2開(kāi)發(fā)環(huán)境,從里面打開(kāi)實(shí)驗(yàn)程序?qū)嶒?yàn)八uart.mcp項(xiàng)目文件,進(jìn)行編譯。5 .編譯通過(guò)后,進(jìn)入ADS1.2調(diào)試界面,加載實(shí)驗(yàn)程序?qū)嶒?yàn)八UART_DataDebug中的映象文件程序映像UART.axf。fDebufRelSrttiBC*L*戶口*LixlincsEiLruEfuiiCoiw-iui-dLi&«infctvtalx0x3000000)Ffbu;里0x30400000*firit24L0lFilt«(LE
28、llt)Output與tionj8Tidr£«tStHifWlitll日*ThreatS«<tih£iBuildZxtrtiBuntingS«ltL&csFiltWbtir七電Tre*sUMTy-SitlifLCSAfMCCMpilerAN1C+Co«pil«rThunhCCeApilerThwbCHCen-LtnktrENLidktrAMErmEU"torrStHinC::逢喜F黜霜口弓,英將串匚出苴上咨特軍工1152皿言整病E«p«rtT14實(shí)驗(yàn)周說(shuō)明書6 .再打開(kāi)一個(gè)超級(jí)終端
29、1,進(jìn)行設(shè)置(115200,8位數(shù)據(jù),1位停止位,無(wú)奇偶校驗(yàn));7 .在ADS調(diào)試環(huán)境下,全速運(yùn)行映象文件。激活超級(jí)終端0,敲鍵盤,觀察超級(jí)終端0,超級(jí)終端1的內(nèi)容顯示!所敲鍵盤的字符應(yīng)該在兩個(gè)超級(jí)終端上顯示出來(lái)。實(shí)驗(yàn)的原理就是把鍵盤敲擊的字符通過(guò)PC機(jī)的串口發(fā)送給實(shí)驗(yàn)箱上的ARM的CPU板的串口0,ARM的CPU板上的串口得到字符后,通過(guò)ARM把它送給CPU板上的串口0輸出給PC,以及通過(guò)底板上的串口1,送給PC機(jī)。這樣,就完成了由口間的收發(fā)數(shù)據(jù)。六源程序代碼#include<string.h>#include<math.h>#include<stdarg.h&
30、gt;#include<stdlib.h>#include<stdio.h>#include<ctype.h>/*- *-函數(shù)名稱:voidMMU_Init(void)- 函數(shù)說(shuō)明:MMU的初始化- 輸入?yún)?shù):無(wú)- 輸出參數(shù):無(wú)*- */voidMMU_Init(void)inti,j;MMU_DisableDCache();MMU_DisableICache();/如果使用回寫,則應(yīng)該清除DCachefor(i=0;i<64;i+)for(j=0;j<8;j+)MMU_CleanInvalidateDCacheIndex(i<<26
31、)|(j<<5);MMU_InvalidateICache();- if0MMU_EnableICache();#endifMMU_DisableMMU();MMU_InvalidateTLB();MMU_SetMTT(0x00000000,0x07f00000,0x00000000,RW_CNB);/bank0MMU_SetMTT(0x08000000,0x0ff00000,0x08000000,RW_CNB);/bank1MMU_SetMTT(0x10000000,0x17f00000,0x10000000,RW_NCNB);/bank2MMU_SetMTT(0x1800000
32、0,0x1ff00000,0x18000000,RW_NCNB);/bank3MMU_SetMTT(0x20000000,0x27f00000,0x20000000,RW_NCNB);/bank4MMU_SetMTT(0x28000000,0x2ff00000,0x28000000,RW_NCNB);/bank515實(shí)驗(yàn)周說(shuō)明書MMU_SetMTT(0x30000000,0x30f00000,0x30000000,RW_CB);/bank6-1MMU_SetMTT(0x31000000,0x33e00000,0x31000000,RW_NCNB);/bank6-2MMU_SetMTT(0x33
33、f00000,0x33f00000,0x33f00000,RW_CB);/bank6-3MMU_SetMTT(0x38000000,0x3ff00000,0x38000000,RW_NCNB);/bank7MMU_SetMTT(0x40000000,0x5af00000,0x40000000,RW_NCNB);/SFR+StepSramMMU_SetMTT(0x5b000000,0xfff00000,0x5b000000,RW_FAULT);/notusedMMU_SetTTBase(_MMUTT_STARTADDRESS);MMU_SetDomain(0x55555550|DOMAIN1_A
34、TTR|DOMAIN0_ATTR);MMU_SetProcessId(0x0);MMU_EnableAlignFault();MMU_EnableMMU();MMU_EnableICache();MMU_EnableDCache();/DCacheshouldbeturnedonafterMMUisturnedon./*- 函數(shù)名稱:voidChangeRomCacheStatus(intattr)- 函數(shù)說(shuō)明:改變cache內(nèi)訪問(wèn)存儲(chǔ)器的屬性狀態(tài),attr=RW_CB,RW_CNB,RW_NCNB,RW_FAULT- 輸入?yún)?shù):intattr- 輸出參數(shù):無(wú)*/voidChangeRomCa
35、cheStatus(intattr)(inti,j;MMU_DisableDCache();MMU_DisableICache();/如果使用回寫,則應(yīng)該清除DCachefor(i=0;i<64;i+)for(j=0;j<8;j+)MMU_CleanInvalidateDCacheIndex(i<<26)|(j<<5);MMU_InvalidateICache();MMU_DisableMMU();MMU_InvalidateTLB();MMU_SetMTT(0x00000000,0x07f00000,0x00000000,attr);/bank0MMU_S
36、etMTT(0x08000000,0x0ff00000,0x08000000,attr);/bank1MMU_EnableMMU();MMU_EnableICache();MMU_EnableDCache();/*- *-函數(shù)名稱:voidMMU_SetMTT(intvaddrStart,intvaddrEnd,intpaddrStart,intattr)- 函數(shù)說(shuō)明:設(shè)定轉(zhuǎn)換表內(nèi)虛擬,物理地址,訪問(wèn)屬性16實(shí)驗(yàn)周說(shuō)明書- 輸入?yún)?shù):intvaddrStart,intvaddrEnd,intpaddrStart,intattr- 輸出參數(shù):無(wú)*- */voidMMU_SetMTT(intvad
37、drStart,intvaddrEnd,intpaddrStart,intattr)(U32*pTT;inti,nSec;pTT=(U32*)_MMUTT_STARTADDRESS+(vaddrStart>>20);nSec=(vaddrEnd>>20)-(vaddrStart>>20);for(i=0;i<=nSec;i+)*pTT+=attr|(paddrStart>>20)+i)<<20);/*-程序段說(shuō)明:以下函數(shù)為各異常模式服務(wù)子程序。設(shè)成死循環(huán)是為調(diào)試用,一旦發(fā)生此類異常,程序便跳入異常模式服務(wù)子程序,終止程序運(yùn)行。
38、*/voidHaltUndef(void)(Uart_Printf("Undefinedinstructionexception.n");while(1);voidHaltSwi(void)(Uart_Printf("SWIexception.n");while(1);voidHaltPabort(void)(Uart_Printf("Pabortexception.n");while(1);voidHaltDabort(void)(Uart_Printf("Dabortexception.n");while(1)
39、;/*-程序段說(shuō)明:以下函數(shù)均為初始化函數(shù)*/staticintdelayLoopCount=FCLK/10000/10;17實(shí)驗(yàn)周說(shuō)明書voidDelay(inttime)(/time=0:adjusttheDelayfunctionbyWatchDogtimer./time>0:thenumberoflooptime/i,adjust=0;if(time=0)(time=200;adjust=1;delayLoopCount=400;/PCLK/1M,Watch-dogdisable,1/64,interruptdisable,r
40、esetdisablerWTCON=(PCLK/1000000-1)<<8)|(2<<3);rWTDAT=0xffff;/forfirstupdaterWTCNT=0xffff;/resolution=64usanyPCLKrWTCON=(PCLK/1000000-1)<<8)|(2<<3)(1<<5);/Watch-dogtimerstartfor(;time>0;time-)for(i=0;i<delayLoopCount;i+);if(adjust=1)(rWTCON=(PCLK/1000000-1)<<8)|(2<<3);/Watch-dogtimer
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車除碳知識(shí)培訓(xùn)課件
- 紙尿褲的材質(zhì)創(chuàng)新
- 免疫學(xué)基礎(chǔ):繼發(fā)性免疫缺陷類型課件
- 慢病管理科普方向:慢性肝病隨訪課件
- 中國(guó)蕁麻疹診療指南解讀(2018版)
- 出入庫(kù)登記制度
- 2025-2030中國(guó)豬肉食品行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 公司業(yè)務(wù)提成制度
- 分宜介紹教學(xué)課件
- 供貨商退出和評(píng)價(jià)制度
- 2026年春季統(tǒng)編版三年級(jí)下冊(cè)小學(xué)語(yǔ)文教學(xué)計(jì)劃(含進(jìn)度表)
- 家庭醫(yī)生簽約服務(wù)工作實(shí)施方案
- 2025-2030中國(guó)碳酸氫鈉市場(chǎng)未來(lái)前瞻及投資戰(zhàn)略規(guī)劃策略建議研究報(bào)告
- 2025年全科醫(yī)生轉(zhuǎn)崗培訓(xùn)考試題庫(kù)及答案
- 城市管理綜合執(zhí)法局城管執(zhí)法與執(zhí)法程序PPT模板
- 閥門基礎(chǔ)知識(shí)上
- 第二章注射成型工藝與模具結(jié)構(gòu)
- 工業(yè)廢水深度處理活性焦吸附技術(shù)
- 河道腳手架專項(xiàng)施工方案
- 氣動(dòng)物流方案模板
- 小學(xué)數(shù)學(xué)質(zhì)量分析6年(課堂PPT)
評(píng)論
0/150
提交評(píng)論