3ARM9芯片S3C2410片上資源_第1頁(yè)
3ARM9芯片S3C2410片上資源_第2頁(yè)
3ARM9芯片S3C2410片上資源_第3頁(yè)
3ARM9芯片S3C2410片上資源_第4頁(yè)
3ARM9芯片S3C2410片上資源_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(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第三章第三章 ARM9芯片芯片S3C2410片上資源片上資源2主要內(nèi)容:主要內(nèi)容:v3.1 S3C2410處理器介紹處理器介紹v3.2 S3C2410處理器片上資源的處理器片上資源的定義和使用定義和使用v3.3 參考軟件項(xiàng)目參考軟件項(xiàng)目2410test.mcp33.1 S3C2410處理器介紹處理器介紹v本節(jié)介紹本節(jié)介紹S3C2410處理器的體系結(jié)構(gòu)、特點(diǎn)處理器的體系結(jié)構(gòu)、特點(diǎn)和應(yīng)用領(lǐng)域,和應(yīng)用領(lǐng)域,AMBA、AHB、APB總線特點(diǎn)總線特點(diǎn)和應(yīng)用,存儲(chǔ)器存儲(chǔ)空間映射等和應(yīng)用,存儲(chǔ)器存儲(chǔ)空間映射等。 4vS3C2410微處理器是一款由微處理器是一款由Samsung公司為手持公司為手持設(shè)備設(shè)計(jì)的

2、低功耗、高度集成的基于設(shè)備設(shè)計(jì)的低功耗、高度集成的基于ARM920T核核的微處理器。為了降低系統(tǒng)總成本和減少外圍器件,的微處理器。為了降低系統(tǒng)總成本和減少外圍器件,這款芯片中還集成了下列部件:這款芯片中還集成了下列部件:16KB指令指令Cache、16KB數(shù)據(jù)數(shù)據(jù)Cache、MMU、外部存儲(chǔ)器控制器、外部存儲(chǔ)器控制器、LCD控制器控制器(STN和和TFT)、NAND Flash控制器、控制器、4個(gè)個(gè)DMA通道、通道、3個(gè)個(gè)UART通道、通道、1個(gè)個(gè)I2C總線控制器、總線控制器、1個(gè)個(gè)I2S總線控制器,以及總線控制器,以及4個(gè)個(gè)PWM定時(shí)器和一個(gè)內(nèi)定時(shí)器和一個(gè)內(nèi)部定時(shí)器、通用部定時(shí)器、通用I/O

3、口、實(shí)時(shí)時(shí)鐘、口、實(shí)時(shí)時(shí)鐘、8通道通道10位位ADC和觸摸屏接口、和觸摸屏接口、USB主、主、USB從、從、SD/MMC卡接口卡接口等。現(xiàn)在它廣泛應(yīng)用于等?,F(xiàn)在它廣泛應(yīng)用于PDA、移動(dòng)通訊、路由器、移動(dòng)通訊、路由器、工業(yè)控制等領(lǐng)域,其內(nèi)部結(jié)構(gòu)如圖工業(yè)控制等領(lǐng)域,其內(nèi)部結(jié)構(gòu)如圖3-1所示。所示。 5圖3-1 S3C2410X結(jié)構(gòu)框圖63.1.1 AMBA、AHB、APB 總線特點(diǎn)總線特點(diǎn)vAMBA規(guī)范主要包括規(guī)范主要包括AHB(Advanced High performance Bus)系統(tǒng)總線和系統(tǒng)總線和APB(Advanced Peripheral Bus)外圍外圍總線。總線。 7vAMBA

4、 2.0規(guī)范包括四個(gè)部分:規(guī)范包括四個(gè)部分:AHB、ASB、APB和和Test Methodology。AHB的相互連的相互連接采用了傳統(tǒng)的帶有主模塊和從模塊的共享接采用了傳統(tǒng)的帶有主模塊和從模塊的共享總線,接口與互連功能分離,這對(duì)芯片上??偩€,接口與互連功能分離,這對(duì)芯片上模塊之間的互連具有重要意義。塊之間的互連具有重要意義。AMBA已不僅已不僅是一種總線,更是一種帶有接口模塊的互連是一種總線,更是一種帶有接口模塊的互連體系。下面將簡(jiǎn)要介紹比較重要的體系。下面將簡(jiǎn)要介紹比較重要的AHB和和APB總線??偩€。 83.1.2 S3C2410處理器體系結(jié)構(gòu)處理器體系結(jié)構(gòu)v. ARM920T核,16

5、位/32位RISC結(jié)構(gòu)和ARM精簡(jiǎn)指令集;v. ARM MMU,支持Windows CE, Linux等操作系統(tǒng);v. 指令Cache、數(shù)據(jù)Cache、寫(xiě)緩沖;v. 支持ARM調(diào)試結(jié)構(gòu),片上ICE支持JTAG調(diào)試方式 93.1.3 S3C2410處理器管理系統(tǒng)處理器管理系統(tǒng)v. 支持大端支持大端(Big Endian)/小端小端(Little Endian)模式;模式;v. 地址空間為每個(gè)內(nèi)存塊地址空間為每個(gè)內(nèi)存塊128MB(一共一共1CB),每個(gè),每個(gè)內(nèi)存塊支持內(nèi)存塊支持8/16/32位數(shù)據(jù)總線編程;位數(shù)據(jù)總線編程;v. 8個(gè)內(nèi)存塊,個(gè)內(nèi)存塊,6個(gè)用于個(gè)用于ROM、SRAM和其它,和其它,2

6、個(gè)個(gè)用于用于ROM/SRAM/SDRAM;v. 1個(gè)起始地址和大小可編程的內(nèi)存塊個(gè)起始地址和大小可編程的內(nèi)存塊 (Bank7);v. 7個(gè)起始地址固定的內(nèi)存塊(個(gè)起始地址固定的內(nèi)存塊(Bank0Bank6);v. 所有內(nèi)存塊可編程尋址周期;所有內(nèi)存塊可編程尋址周期;v. 支持支持SDRAM自動(dòng)刷新模式;自動(dòng)刷新模式;v. 支持多種類(lèi)型支持多種類(lèi)型ROM啟動(dòng),包括啟動(dòng),包括NOR/NAND Flash、EEPROM等。等。 103.1.4 S3C2410處理器存儲(chǔ)器映射處理器存儲(chǔ)器映射vS3C2410的存儲(chǔ)空間映射如圖3-2所示。11圖3-2 S3C2410存儲(chǔ)區(qū)地址映射123.1.5 S3C2

7、410處理器時(shí)鐘和電源管處理器時(shí)鐘和電源管理理v1時(shí)鐘時(shí)鐘vS3C2410的主時(shí)鐘由外部晶振或者外部時(shí)鐘的主時(shí)鐘由外部晶振或者外部時(shí)鐘提供,選擇后可以提供提供,選擇后可以提供3種時(shí)鐘信號(hào),種時(shí)鐘信號(hào),v分別是分別是CPU使用的使用的FCLK、AHB總線使用的總線使用的HCLK和和APB總線使用的總線使用的PCLK。v2. 時(shí)鐘源選擇時(shí)鐘源選擇v對(duì)時(shí)鐘源的選擇是通過(guò)對(duì)時(shí)鐘源的選擇是通過(guò)OM1:2實(shí)現(xiàn)的,如實(shí)現(xiàn)的,如表表3-1所示所示。13表3-1 時(shí)鐘源選擇14vS3C2410引腳的引腳的OM3:2=00時(shí),晶體為時(shí),晶體為MPLL CLK和和UPLL CLK提供時(shí)鐘源;提供時(shí)鐘源;OM3:2=

8、01時(shí),晶體為時(shí),晶體為MPLL CLK提供時(shí)鐘提供時(shí)鐘源,源,EXTCLK為為UPLL CLK提供時(shí)鐘源;提供時(shí)鐘源;OM32=10時(shí),時(shí),EXTCLK為為MPLL CLK提供提供時(shí)鐘源,晶體為時(shí)鐘源,晶體為UPLL CLK提供時(shí)鐘源;提供時(shí)鐘源;OM3:2=11時(shí),時(shí),EXTCLK為為MPLL CLK和和UPLL CLK提供時(shí)鐘。提供時(shí)鐘。15v3. 時(shí)鐘控制邏輯時(shí)鐘控制邏輯vS3C2410支持HCLK、FCLK和PCLK的按比率選擇,其比率是通過(guò)時(shí)鐘分頻寄存器CLKDIV中的HDIVN和PDIVN控制的,如表3-2所示。表3-2 分頻設(shè)定表16v4. 電源管理電源管理vS3C2410電源

9、管理模塊通過(guò)電源管理模塊通過(guò)4種模式有效地種模式有效地控制功耗,即正??刂乒模凑?Normal)模式、省電模式、省電(Slow)模式、空閑模式、空閑(Idle)模式和斷電模式和斷電(Power-off)模式。模式。v Normal模式:為模式:為CPU和所有的外設(shè)提供電和所有的外設(shè)提供電源,所有的外設(shè)開(kāi)啟,該模式下的功耗最大。源,所有的外設(shè)開(kāi)啟,該模式下的功耗最大。這種模式允許用戶通過(guò)軟件控制外設(shè),可以這種模式允許用戶通過(guò)軟件控制外設(shè),可以斷開(kāi)提供給外設(shè)的時(shí)鐘以降低功耗。斷開(kāi)提供給外設(shè)的時(shí)鐘以降低功耗。v Slow模式:采用外部時(shí)鐘生產(chǎn)模式:采用外部時(shí)鐘生產(chǎn)FCLK的方的方式,此時(shí)電源的

10、功耗取決于外部時(shí)鐘。式,此時(shí)電源的功耗取決于外部時(shí)鐘。17v5. 時(shí)鐘和電源管理寄存器時(shí)鐘和電源管理寄存器vS3C2410通過(guò)相應(yīng)控制寄存器實(shí)現(xiàn)對(duì)時(shí)鐘和通過(guò)相應(yīng)控制寄存器實(shí)現(xiàn)對(duì)時(shí)鐘和電源的管理,相關(guān)寄存器使用參見(jiàn)表電源的管理,相關(guān)寄存器使用參見(jiàn)表3-3。183.2 S3C2410處理器片上資源的定義處理器片上資源的定義和使用和使用v和開(kāi)發(fā)和開(kāi)發(fā)MCS-51單片機(jī)一樣,單片機(jī)一樣,S3C2410在頭在頭文件文件2410addr.h中,將中,將S3C2410的所有硬件的所有硬件資源都進(jìn)行了定義,我們?cè)诰帉?xiě)資源都進(jìn)行了定義,我們?cè)诰帉?xiě)S3C2410的的驅(qū)動(dòng)程序時(shí)必需引用這個(gè)頭文件。驅(qū)動(dòng)程序時(shí)必需引用

11、這個(gè)頭文件。v2410addr.h將系統(tǒng)所有的資源進(jìn)行了宏定將系統(tǒng)所有的資源進(jìn)行了宏定義,宏的名稱就是所定義的寄存器的名字前義,宏的名稱就是所定義的寄存器的名字前面加一個(gè)小寫(xiě)的面加一個(gè)小寫(xiě)的“r”,方便記憶。,方便記憶。 19v2410addr.h內(nèi)容包括:內(nèi)容包括:Memory control、USB Host、INTERRUPT、DMA、CLOCK & POWER MANAGEMENT、LCD CONTROLLER、NAND flash、UART、PWM TIMER、USB DEVICE、WATCHDOG TIMER、IIC、IIS、I/O PORT、RTC、ADC、SPI、ISR

12、、SD Interface等,等,近近20類(lèi)。類(lèi)。203.3 參考軟件項(xiàng)目參考軟件項(xiàng)目2410test.mcpv在隨書(shū)提供的資料中,有一個(gè)在隨書(shū)提供的資料中,有一個(gè)2410test.mcp項(xiàng)目,里面包括幾乎所有項(xiàng)目,里面包括幾乎所有S3C2410硬件驅(qū)動(dòng)硬件驅(qū)動(dòng)的的C語(yǔ)言例子和頭文件,仔細(xì)閱讀這些程序語(yǔ)言例子和頭文件,仔細(xì)閱讀這些程序?qū)ξ覀兙幊逃泻艽髤⒖純r(jià)值,應(yīng)熟悉這些程對(duì)我們編程有很大參考價(jià)值,應(yīng)熟悉這些程序。序。v項(xiàng)目主要部分列出如下,并做必要解釋:項(xiàng)目主要部分列出如下,并做必要解釋:21v/-v/ 引入所有實(shí)驗(yàn)所需頭文件引入所有實(shí)驗(yàn)所需頭文件v/-v#include v#include

13、v#include def.hv#include option.hv#include 2410addr.hv#include 2410lib.h22v#include 2410slib.hv#include 2410etc.hv#include 2410IIC.hv#include 2410iis.hv#include 2410int.hv#include 2410RTC.hv#include 2410swi.hv#include timer.hv#include adc.hv#include dma.hv#include dma2.hv#include eint.hv#include ext

14、dma.hv#include k9s1208.hv#include mmu.h23v#include nwait.hv#include sdi.hv#include stone.hv#include ts_auto.hv#include ts_sep.hv#include usbfifo.hv#include IrDA.hv#include lcd.hv#include lcdlib.hv#include glib.hv#include palette.hv#include spi.hv#include uart0.hv#include uart1.hv#include uart2.hv#in

15、clude etc.hv#include flash.hv#include idle.hv#include pd6710.h24v#include pll.hv#include power.hv#include pwr_c.hv#include stop.hv/-v/ 定義一個(gè)二維的指針數(shù)組,數(shù)組中第一列是函數(shù)名,第二列是函數(shù)功能提示v/-vvoid * function2=vv/ADC, TSP25v (void *)Test_Adc, ADC ,v (void *)Test_DMA_Adc, ADC with DMA ,v (void *)Ts_Sep, ADC TSP Seperate

16、,v (void *)Ts_Auto, ADC TSP Auto ,v/DMA v (void *)Test_DMA, DMA M2M ,v (void *)Test_DMAWorst, DMA Worst Test ,v (void *)Test_Dma0Xdreq, External DMA , v/EINT v (void *)Test_Eint, External Interrupt ,v/IIC v (void *)Test_Iic, IIC(KS24C080)INT ,v (void *)Test_Iic2, IIC(KS24C080)POL ,v/IIS 26v (void *)

17、Record_Iis, Reco IIS UDA1341 ,v (void *)Test_Iis, Play IIS UDA1341 ,v/Interrupt v (void *)Test_Fiq, FIQ Interrupt ,v (void *)Change_IntPriorities, Change INT Priority ,v/IrDA v (void *)Test_IrDA_Rx, UART2 IrDA Rx ,v (void *)Test_IrDA_Tx, UART2 IrDA Tx ,v/LCD v (void *)Test_Lcd_Stn_1Bit, STN 1Bit ,v

18、(void *)Test_Lcd_Stn_2Bit, STN 2Bit ,v (void *)Test_Lcd_Stn_4Bit, STN 4Bit , v (void *)Test_Lcd_Cstn_8Bit, CSTN 8Bit ,v (void *)Test_Lcd_Cstn_8Bit_On, CSTN 8Bit On , v (void *)Test_Lcd_Cstn_12Bit, CSTN 12Bit ,v (void *)Test_Lcd_Tft_8Bit_240320, TFT240320 8Bit ,v (void *)Test_Lcd_Tft_8Bit_240320_On,

19、TFT240320 8Bit On , 27v (void *)Test_Lcd_Tft_16Bit_240320, TFT240320 16Bit ,v (void *)Test_Lcd_Tft_1Bit_640480, TFT640480 1Bit ,v (void *)Test_Lcd_Tft_8Bit_640480, TFT640480 8Bit ,v (void *)Test_Lcd_Tft_16Bit_640480, TFT640480 16Bit ,v (void *)Test_Lcd_Tft_8Bit_640480_Bswp, TFT640480 BSWP ,v (void *

20、)Test_Lcd_Tft_8Bit_640480_Palette, TFT640480 Palette , v (void *)Test_Lcd_Tft_16Bit_640480_Hwswp,TFT640480 HWSWP ,v/Memoryv/MPLLv (void *)Test_PLL, MPLL Change ,v (void *)ChangePLL, MPLL MPS Change ,v (void *)Test_PllOnOff, MPLL On/Off , v/PMS28v (void *)Test_SlowMode, PMS Slow , v (void *)Test_Hold

21、Mode, PMS Hold , v (void *)Test_IdleMode, PMS Idle ,v (void *)Test_MMUIdleMode, PMS Idle(MMU) ,v (void *)Test_IdleModeHard, PMS Idle Hard ,v (void *)Test_InitSDRAM, PMS SDRAM Init ,v (void *)Test_StopMode, PMS STOP ,v (void *)Test_PowerOffMode, PMS Power-Off STOP , v (void *)Test_PowerOffMode_100Hz,

22、 PMS Power-Off 100Hz ,v (void *)MeasurePowerConsumption, PMS Measure Power , v/RTCv (void *)Test_Rtc_Alarm, RTC Alarm ,v (void *)Display_Rtc, RTC Display , v (void *)RndRst_Rtc, RTC Round Reset , v (void *)Test_Rtc_Tick, RTC Tick ,29v/SDIv (void *)Test_SDI, SDI Write/Read ,v/SPIv (void*) Test_Spi_MS

23、_int, SPI0 RxTx Int ,v (void *)Test_Spi_MS_poll, SPI0 RxTx POLL ,v (void *)Test_Spi_M_Tx_DMA1, SPI0 Master Tx DMA1 ,v (void *)Test_Spi_S_Rx_DMA1, SPI0 Slave Rx DMA1 ,v (void *)Test_Spi_M_Rx_DMA1, SPI0 Master Rx DMA1 ,v (void *)Test_Spi_S_Tx_DMA1, SPI0 Slave Tx DMA1 ,v (void *)Test_Spi_M_Int, SPI0 Ma

24、ster RxTx INT,v (void *)Test_Spi_S_Int, SPI0 Slave RxTx INT ,v/Timerv (void *)Test_TimerInt, Timer Interrupt ,v (void *)Test_Timer, Timer Tout ,v/UART30v (void *)Test_Uart0_Int, UART0 Rx/Tx Int ,v (void *)Test_Uart0_Dma, UART0 Rx/Tx DMA ,v (void *)Test_Uart0_Fifo, UART0 Rx/Tx FIFO ,v (void *)Test_Ua

25、rt0_AfcTx, UART0 AFC Tx ,v (void *)Test_Uart0_AfcRx, UART0 AFC Rx ,v (void *)Test_Uart1_Int, UART1 Rx/Tx Int ,v (void *)Test_Uart1_Dma, UART1 Rx/Tx DMA ,v (void *)Test_Uart1_Fifo, UART1 Rx/Tx FIFO ,v (void *)Test_Uart1_AfcTx, UART1 AFC Tx ,v (void *)Test_Uart1_AfcRx, UART1 AFC Rx ,v (void *)Test_Uar

26、t2_Int, UART2 Rx/Tx Int ,v (void *)Test_Uart2_Dma, UART2 Rx/Tx DMA ,v (void *)Test_Uart2_Fifo, UART2 Rx/Tx FIFO ,v/USB31v (void *)Test_USBFIFO, USB FIFO Test ,v/WDTv (void *)Test_WDT_IntReq, WDT INT Request ,v/ETC v (void *)Test_XBREQ, External Bus Reqest ,v (void *)Test_NonalignedAccess, NonAlgined

27、 Access ,v (void *)Test_PD6710, PC Card (PD6710) , v (void *)ReadPageMode, Read Page Mode ,v (void *)Test_SwiIrq, SWI ,v (void *)Test_WaitPin, External Wait ,v (void *)Test_ISram, Stone Test , v (void *)Test_NecInterrupt, ETC NEC Int ,v (void *)Test_BattFaultInterrupt, nBATT_FAULT int , v/NAND, NOR

28、Flashv (void *)K9S1208_PrintBadBlockNum, NAND View Bad Block ,v (void *)K9S1208_PrintBlock, NAND View Page ,32v (void *)K9S1208_Program, NAND Write , v (void *)TestECC, NAND ECC , v (void *)ProgramFlash, NOR Flash Program , v 0,0v;v/-v/ 主程序主程序v/-vvoid Main(void)vv int i;v MMU_Init(); /內(nèi)存管理初始化內(nèi)存管理初始化v ChangeClockDivider(1,1); / 定義定義FC

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論