版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章第三章 ARM9芯片芯片S3C2410片上资源片上资源主要内容:主要内容:v3.1 S3C2410处理器介绍处理器介绍v3.2 S3C2410处理器片上资源的处理器片上资源的定义和使用定义和使用v3.3 参考软件项目参考软件项目2410test.mcp3.1 S3C2410处理器介绍处理器介绍v本节介绍本节介绍S3C2410处理器的体系结构、特点处理器的体系结构、特点和应用领域,和应用领域,AMBA、AHB、APB总线特点总线特点和应用,存储器存储空间映射等。和应用,存储器存储空间映射等。 vS3C2410微处理器是一款由微处理器是一款由Samsung公司为手持公司为手持设备设计的低功耗
2、、高度集成的基于设备设计的低功耗、高度集成的基于ARM920T核核的微处理器。为了降低系统总成本和减少外围器件,的微处理器。为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件:这款芯片中还集成了下列部件: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、移动通讯、路由器、移动通讯、路由器、工业控制等领域,其内部结构如图工业控制等领域,其内部结构如图3-1所示。所示。 图3-1 S3C2410X结构框图3.1.1 AMBA、AHB、APB 总线特点总线特点vAMBA规范主要包括规范主要包括AHB(Advanced High performance Bus)系统总线和系统总线和APB(Advanced Peripheral Bus)外围外围总线。总线。 vAMBA 2.0规范
4、包括四个部分:规范包括四个部分:AHB、ASB、APB和和Test Methodology。AHB的相互连的相互连接采用了传统的带有主模块和从模块的共享接采用了传统的带有主模块和从模块的共享总线,接口与互连功能分离,这对芯片上模总线,接口与互连功能分离,这对芯片上模块之间的互连具有重要意义。块之间的互连具有重要意义。AMBA已不仅已不仅是一种总线,更是一种带有接口模块的互连是一种总线,更是一种带有接口模块的互连体系。下面将简要介绍比较重要的体系。下面将简要介绍比较重要的AHB和和APB总线。总线。 3.1.2 S3C2410处理器体系结构处理器体系结构v. ARM920T核,核,16位位/32
5、位位RISC结构和结构和ARM精简指令集;精简指令集;v. ARM MMU,支持,支持Windows CE, Linux等等操作系统;操作系统;v. 指令指令Cache、数据、数据Cache、写缓冲;、写缓冲;v. 支持支持ARM调试结构,片上调试结构,片上ICE支持支持JTAG调调试方式试方式 3.1.3 S3C2410处理器管理系统处理器管理系统v. 支持大端支持大端(Big Endian)/小端小端(Little Endian)形式;形式;v. 地址空间为每个内存块地址空间为每个内存块128MB(一共一共1CB),每个,每个内存块支持内存块支持8/16/32位数据总线编程;位数据总线编程
6、;v. 8个内存块,个内存块,6个用于个用于ROM、SRAM和其它,和其它,2个个用于用于ROM/SRAM/SDRAM;v. 1个起始地址和大小可编程的内存块个起始地址和大小可编程的内存块 (Bank7);v. 7个起始地址固定的内存块个起始地址固定的内存块Bank0Bank6);v. 所有内存块可编程寻址周期;所有内存块可编程寻址周期;v. 支持支持SDRAM自动刷新模式;自动刷新模式;v. 支持多种类型支持多种类型ROM启动,包括启动,包括NOR/NAND Flash、EEPROM等。等。 3.1.4 S3C2410处理器存储器映射处理器存储器映射vS3C2410的存储空间映射如图的存储空
7、间映射如图3-2所示。所示。图3-2 S3C2410存储区地址映射3.1.5 S3C2410处理器时钟和电源管处理器时钟和电源管理理v1时钟时钟vS3C2410的主时钟由外部晶振或者外部时钟的主时钟由外部晶振或者外部时钟提供,选择后可以提供提供,选择后可以提供3种时钟信号,种时钟信号,v分别是分别是CPU使用的使用的FCLK、AHB总线使用的总线使用的HCLK和和APB总线使用的总线使用的PCLK。v2. 时钟源选择时钟源选择v对时钟源的选择是通过对时钟源的选择是通过OM1:2实现的,如实现的,如表表3-1所示。所示。表3-1 时钟源选择vS3C2410引脚的引脚的OM3:2=00时,晶体为时
8、,晶体为MPLL CLK和和UPLL CLK提供时钟源;提供时钟源;OM3:2=01时,晶体为时,晶体为MPLL CLK提供时钟提供时钟源,源,EXTCLK为为UPLL CLK提供时钟源;提供时钟源;OM32=10时,时,EXTCLK为为MPLL CLK提供提供时钟源,晶体为时钟源,晶体为UPLL CLK提供时钟源;提供时钟源;OM3:2=11时,时,EXTCLK为为MPLL CLK和和UPLL CLK提供时钟。提供时钟。v3. 时钟控制逻辑时钟控制逻辑vS3C2410支持支持HCLK、FCLK和和PCLK的按比的按比率选择,其比率是通过时钟分频寄存器率选择,其比率是通过时钟分频寄存器CLKD
9、IV中的中的HDIVN和和PDIVN控制的,如表控制的,如表3-2所示。所示。表3-2 分频设定表v4. 电源管理电源管理vS3C2410电源管理模块通过电源管理模块通过4种模式有效地种模式有效地控制功耗,即正常控制功耗,即正常(Normal)形式、省电形式、省电(Slow)形式、空闲形式、空闲(Idle)模式和断电模式和断电(Power-off)形式。形式。v Normal模式:为模式:为CPU和所有的外设提供电和所有的外设提供电源,所有的外设开启,该模式下的功耗最大。源,所有的外设开启,该模式下的功耗最大。这种模式允许用户通过软件控制外设,可以这种模式允许用户通过软件控制外设,可以断开提供
10、给外设的时钟以降低功耗。断开提供给外设的时钟以降低功耗。v Slow模式:采用外部时钟生产模式:采用外部时钟生产FCLK的方的方式,此时电源的功耗取决于外部时钟。式,此时电源的功耗取决于外部时钟。v5. 时钟和电源管理寄存器时钟和电源管理寄存器vS3C2410通过相应控制寄存器实现对时钟和通过相应控制寄存器实现对时钟和电源的管理,相关寄存器使用参见表电源的管理,相关寄存器使用参见表3-3。3.2 S3C2410处理器片上资源的定义处理器片上资源的定义和使用和使用v和开发和开发MCS-51单片机一样,单片机一样,S3C2410在头在头文件文件2410addr.h中,将中,将S3C2410的所有硬
11、件的所有硬件资源都进行了定义,我们在编写资源都进行了定义,我们在编写S3C2410的的驱动程序时必需引用这个头文件。驱动程序时必需引用这个头文件。v2410addr.h将系统所有的资源进行了宏定将系统所有的资源进行了宏定义,宏的名称就是所定义的寄存器的名字前义,宏的名称就是所定义的寄存器的名字前面加一个小写的面加一个小写的“r”,方便记忆。,方便记忆。 v2410addr.h内容包括:内容包括:Memory control、USB Host、INTERRUPT、DMA、CLOCK & POWER MANAGEMENT、LCD CONTROLLER、NAND flash、UART、PWM
12、 TIMER、USB DEVICE、WATCHDOG TIMER、IIC、IIS、I/O PORT、RTC、ADC、SPI、ISR、SD Interface等,等,近近20类。类。3.3 参考软件项目参考软件项目2410test.mcpv在随书提供的资料中,有一个在随书提供的资料中,有一个2410test.mcp项目,里面包括几乎所有项目,里面包括几乎所有S3C2410硬件驱动硬件驱动的的C语言例子和头文件,仔细阅读这些程序语言例子和头文件,仔细阅读这些程序对我们编程有很大参考价值,应熟悉这些程对我们编程有很大参考价值,应熟悉这些程序。序。v项目主要部分列出如下,并做必要解释:项目主要部分列出
13、如下,并做必要解释:v/-v/ 引入所有实验所需头文件引入所有实验所需头文件v/-v#include v#include v#include def.hv#include option.hv#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
14、#include dma.hv#include dma2.hv#include eint.hv#include extdma.hv#include k9s1208.hv#include mmu.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
15、.hv#include uart0.hv#include uart1.hv#include uart2.hv#include etc.hv#include flash.hv#include 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_A
16、dc, ADC with DMA ,v (void *)Ts_Sep, ADC TSP Seperate ,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 (v
17、oid *)Test_Iic2, IIC(KS24C080)POL ,v/IIS v (void *)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
18、Tx ,v/LCD v (void *)Test_Lcd_Stn_1Bit, STN 1Bit ,v (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, TFT2
19、40320 8Bit ,v (void *)Test_Lcd_Tft_8Bit_240320_On, TFT240320 8Bit On , v (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_Lc
20、d_Tft_8Bit_640480_Bswp, TFT640480 BSWP ,v (void *)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/PMSv (void
21、*)Test_SlowMode, PMS Slow , v (void *)Test_HoldMode, 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 Powe
22、r-Off STOP , v (void *)Test_PowerOffMode_100Hz, 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 ,v/SDIv (void *)Test_SD
23、I, SDI Write/Read ,v/SPIv (void*) Test_Spi_MS_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 Sla
24、ve Tx DMA1 ,v (void *)Test_Spi_M_Int, SPI0 Master 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/UARTv (void *)Test_Uart0_Int, UART0 Rx/Tx Int ,v (void *)Test_Uart0_Dma, UART0 Rx/Tx DMA ,v (void *)Test_Uart
25、0_Fifo, UART0 Rx/Tx FIFO ,v (void *)Test_Uart0_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_Ua
26、rt1_AfcRx, UART1 AFC Rx ,v (void *)Test_Uart2_Int, UART2 Rx/Tx Int ,v (void *)Test_Uart2_Dma, 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
27、(void *)Test_NonalignedAccess, NonAlgined 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 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 *)Pro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 糖尿病模型讨论与分析
- 物业客服部员工培训
- 露天矿山安全培训课件经典
- 互联网平台会计劳动合同
- 城市综合体外保温施工合同
- 生物科技办公楼施工承包合同
- 山东影剧院建设合同
- 墙纸施工合同幼儿园欢乐世界
- 地下商场建设钻探施工合同
- 教育信息化项目招投标攻略
- 大学生职业规划大赛成长赛道
- 《老年人生活照护》试卷B卷及答案
- 课程设计几种排序算法
- 北京市第四中学2024-2025学年七年级上学期期中生物学试题(含答案)
- 学前教育法学习重点1
- 体育教师先进个人事迹材料
- 幼儿园中班健康《运动过后》课件
- 2024.11.9全国消防安全日全民消防生命至上消防科普课件
- 2024-2025学年六年级科学上册第二单元《地球的运动》测试卷(教科版)
- 《ISO 55013-2024 资产管理-数据资产管理指南》解读和实施指导材料(雷泽佳编制-2024)
- 国家开放大学《合同法》章节测试参考答案
评论
0/150
提交评论