ARM芯片SC片上資源_第1頁
ARM芯片SC片上資源_第2頁
ARM芯片SC片上資源_第3頁
ARM芯片SC片上資源_第4頁
ARM芯片SC片上資源_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第三章第三章 ARM9芯片芯片S3C2410片上資源片上資源主要內容:主要內容:v3.1 S3C2410處理器介紹處理器介紹v3.2 S3C2410處理器片上資源的處理器片上資源的定義和使用定義和使用v3.3 參考軟件項目參考軟件項目2410test.mcp3.1 S3C2410處理器介紹處理器介紹v本節(jié)介紹本節(jié)介紹S3C2410處理器的體系結構、特點處理器的體系結構、特點和應用領域,和應用領域,AMBA、AHB、APB總線特點總線特點和應用,存儲器存儲空間映射等和應用,存儲器存儲空間映射等。 vS3C2410微處理器是一款由微處理器是一款由Samsung公司為手持公司為手持設備設計的低功耗、

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

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

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

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

6、/SRAM/SDRAM;v. 1個起始地址和大小可編程的內存塊個起始地址和大小可編程的內存塊 (Bank7);v. 7個起始地址固定的內存塊(個起始地址固定的內存塊(Bank0Bank6);v. 所有內存塊可編程尋址周期;所有內存塊可編程尋址周期;v. 支持支持SDRAM自動刷新模式;自動刷新模式;v. 支持多種類型支持多種類型ROM啟動,包括啟動,包括NOR/NAND Flash、EEPROM等。等。 3.1.4 S3C2410處理器存儲器映射處理器存儲器映射vS3C2410的存儲空間映射如圖3-2所示。圖3-2 S3C2410存儲區(qū)地址映射3.1.5 S3C2410處理器時鐘和電源管處理器

7、時鐘和電源管理理v1時鐘時鐘vS3C2410的主時鐘由外部晶振或者外部時鐘的主時鐘由外部晶振或者外部時鐘提供,選擇后可以提供提供,選擇后可以提供3種時鐘信號,種時鐘信號,v分別是分別是CPU使用的使用的FCLK、AHB總線使用的總線使用的HCLK和和APB總線使用的總線使用的PCLK。v2. 時鐘源選擇時鐘源選擇v對時鐘源的選擇是通過對時鐘源的選擇是通過OM1:2實現的,如實現的,如表表3-1所示所示。表3-1 時鐘源選擇vS3C2410引腳的引腳的OM3:2=00時,晶體為時,晶體為MPLL CLK和和UPLL CLK提供時鐘源;提供時鐘源;OM3:2=01時,晶體為時,晶體為MPLL CL

8、K提供時鐘提供時鐘源,源,EXTCLK為為UPLL CLK提供時鐘源;提供時鐘源;OM32=10時,時,EXTCLK為為MPLL CLK提供提供時鐘源,晶體為時鐘源,晶體為UPLL CLK提供時鐘源;提供時鐘源;OM3:2=11時,時,EXTCLK為為MPLL CLK和和UPLL CLK提供時鐘。提供時鐘。v3. 時鐘控制邏輯時鐘控制邏輯vS3C2410支持HCLK、FCLK和PCLK的按比率選擇,其比率是通過時鐘分頻寄存器CLKDIV中的HDIVN和PDIVN控制的,如表3-2所示。表3-2 分頻設定表v4. 電源管理電源管理vS3C2410電源管理模塊通過電源管理模塊通過4種模式有效地種模

9、式有效地控制功耗,即正常控制功耗,即正常(Normal)模式、省電模式、省電(Slow)模式、空閑模式、空閑(Idle)模式和斷電模式和斷電(Power-off)模式。模式。v Normal模式:為模式:為CPU和所有的外設提供電和所有的外設提供電源,所有的外設開啟,該模式下的功耗最大。源,所有的外設開啟,該模式下的功耗最大。這種模式允許用戶通過軟件控制外設,可以這種模式允許用戶通過軟件控制外設,可以斷開提供給外設的時鐘以降低功耗。斷開提供給外設的時鐘以降低功耗。v Slow模式:采用外部時鐘生產模式:采用外部時鐘生產FCLK的方的方式,此時電源的功耗取決于外部時鐘。式,此時電源的功耗取決于外

10、部時鐘。v5. 時鐘和電源管理寄存器時鐘和電源管理寄存器vS3C2410通過相應控制寄存器實現對時鐘和通過相應控制寄存器實現對時鐘和電源的管理,相關寄存器使用參見表電源的管理,相關寄存器使用參見表3-3。3.2 S3C2410處理器片上資源的定義處理器片上資源的定義和使用和使用v和開發(fā)和開發(fā)MCS-51單片機一樣,單片機一樣,S3C2410在頭在頭文件文件2410addr.h中,將中,將S3C2410的所有硬件的所有硬件資源都進行了定義,我們在編寫資源都進行了定義,我們在編寫S3C2410的的驅動程序時必需引用這個頭文件。驅動程序時必需引用這個頭文件。v2410addr.h將系統(tǒng)所有的資源進行

11、了宏定將系統(tǒng)所有的資源進行了宏定義,宏的名稱就是所定義的寄存器的名字前義,宏的名稱就是所定義的寄存器的名字前面加一個小寫的面加一個小寫的“r”,方便記憶。,方便記憶。 v2410addr.h內容包括:內容包括: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、SD Interface等,等,近近20類。類。3.3

12、參考軟件項目參考軟件項目2410test.mcpv在隨書提供的資料中,有一個在隨書提供的資料中,有一個2410test.mcp項目,里面包括幾乎所有項目,里面包括幾乎所有S3C2410硬件驅動硬件驅動的的C語言例子和頭文件,仔細閱讀這些程序語言例子和頭文件,仔細閱讀這些程序對我們編程有很大參考價值,應熟悉這些程對我們編程有很大參考價值,應熟悉這些程序。序。v項目主要部分列出如下,并做必要解釋:項目主要部分列出如下,并做必要解釋:v/-v/ 引入所有實驗所需頭文件引入所有實驗所需頭文件v/-v#include v#include v#include def.hv#include option.h

13、v#include 2410addr.hv#include 2410lib.hv#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 extdma.hv#include k9s1208.hv#include m

14、mu.hv#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#include etc.hv#include flash.hv#include

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

16、 (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 v (void *)Record_Iis, Reco IIS UDA1341 ,v (void *)Tes

17、t_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 (void *)Test_Lcd_Stn_2Bit, STN 2Bit ,v (voi

18、d *)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, TFT240320 8Bit On , v (void *)Test_Lcd_Tft_

19、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 *)Test_Lcd_Tft_8Bit_640480_Palette, TFT640480

20、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/PMSv (void *)Test_SlowMode, PMS Slow , v (void *)Test_HoldMode, PMS Hold , v (void *)Test_IdleMode, PMS I

21、dle ,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, PMS Power-Off 100Hz ,v (void *)MeasurePowerCon

22、sumption, 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 ,v/SDIv (void *)Test_SDI, SDI Write/Read ,v/SPIv (void*) Test_Spi_MS_int, SPI0 RxTx Int ,v (void *)Test_Spi_MS_poll,

23、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 Master RxTx INT,v (void *)Test_Spi_S_Int, SPI0 Slav

24、e RxTx INT ,v/Timerv (void *)Test_TimerInt, Timer Interrupt ,v (void *)Test_Timer, Timer Tout ,v/UARTv (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_Uart0_AfcTx, UART0 AFC Tx ,v (void *)Test_Uart0_AfcRx

25、, 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_Uart2_Int, UART2 Rx/Tx Int ,v (void *)Test_Uart2_Dma,

26、UART2 Rx/Tx DMA ,v (void *)Test_Uart2_Fifo, UART2 Rx/Tx FIFO ,v/USBv (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 Access ,v (void *)Test_PD6710, PC Card (PD6710) , v

27、(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 Flashv (void *)K9S1208_PrintBadBlockNum, NAND View Bad Block ,v (void *)K9S1208_PrintBlock, NAND View Page ,v (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(); /內存管理初始化內存管理初始化v ChangeClockDivider(1,1); / 定義定義FCLK

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論