




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章ARM9芯片S3C2410片上资源 主要内容 3 1S3C2410处理器介绍3 2S3C2410处理器片上资源的定义和使用3 3参考软件项目2410test mcp 3 1S3C2410处理器介绍 本节介绍S3C2410处理器的体系结构 特点和应用领域 AMBA AHB APB总线特点和应用 存储器存储空间映射等 S3C2410微处理器是一款由Samsung公司为手持设备设计的低功耗 高度集成的基于ARM920T核的微处理器 为了降低系统总成本和减少外围器件 这款芯片中还集成了下列部件 16KB指令Cache 16KB数据Cache MMU 外部存储器控制器 LCD控制器 STN和TFT NANDFlash控制器 4个DMA通道 3个UART通道 1个I2C总线控制器 1个I2S总线控制器 以及4个PWM定时器和一个内部定时器 通用I O口 实时时钟 8通道10位ADC和触摸屏接口 USB主 USB从 SD MMC卡接口等 现在它广泛应用于PDA 移动通讯 路由器 工业控制等领域 其内部结构如图3 1所示 图3 1S3C2410X结构框图 3 1 1AMBA AHB APB总线特点 AMBA规范主要包括AHB AdvancedHighperformanceBus 系统总线和APB AdvancedPeripheralBus 外围总线 AMBA2 0规范包括四个部分 AHB ASB APB和TestMethodology AHB的相互连接采用了传统的带有主模块和从模块的共享总线 接口与互连功能分离 这对芯片上模块之间的互连具有重要意义 AMBA已不仅是一种总线 更是一种带有接口模块的互连体系 下面将简要介绍比较重要的AHB和APB总线 3 1 2S3C2410处理器体系结构 ARM920T核 16位 32位RISC结构和ARM精简指令集 ARMMMU 支持WindowsCE Linux等操作系统 指令Cache 数据Cache 写缓冲 支持ARM调试结构 片上ICE支持JTAG调试方式 3 1 3S3C2410处理器管理系统 支持大端 BigEndian 小端 LittleEndian 模式 地址空间为每个内存块128MB 一共1CB 每个内存块支持8 16 32位数据总线编程 8个内存块 6个用于ROM SRAM和其它 2个用于ROM SRAM SDRAM 1个起始地址和大小可编程的内存块 Bank7 7个起始地址固定的内存块 Bank0 Bank6 所有内存块可编程寻址周期 支持SDRAM自动刷新模式 支持多种类型ROM启动 包括NOR NANDFlash EEPROM等 3 1 4S3C2410处理器存储器映射 S3C2410的存储空间映射如图3 2所示 图3 2S3C2410存储区地址映射 3 1 5S3C2410处理器时钟和电源管理 1 时钟S3C2410的主时钟由外部晶振或者外部时钟提供 选择后可以提供3种时钟信号 分别是CPU使用的FCLK AHB总线使用的HCLK和APB总线使用的PCLK 2 时钟源选择对时钟源的选择是通过OM 1 2 实现的 如表3 1所示 表3 1时钟源选择 S3C2410引脚的OM 3 2 00时 晶体为MPLLCLK和UPLLCLK提供时钟源 OM 3 2 01时 晶体为MPLLCLK提供时钟源 EXTCLK为UPLLCLK提供时钟源 OM 32 10时 EXTCLK为MPLLCLK提供时钟源 晶体为UPLLCLK提供时钟源 OM 3 2 11时 EXTCLK为MPLLCLK和UPLLCLK提供时钟 3 时钟控制逻辑S3C2410支持HCLK FCLK和PCLK的按比率选择 其比率是通过时钟分频寄存器CLKDIV中的HDIVN和PDIVN控制的 如表3 2所示 表3 2分频设定表 4 电源管理S3C2410电源管理模块通过4种模式有效地控制功耗 即正常 Normal 模式 省电 Slow 模式 空闲 Idle 模式和断电 Power off 模式 Normal模式 为CPU和所有的外设提供电源 所有的外设开启 该模式下的功耗最大 这种模式允许用户通过软件控制外设 可以断开提供给外设的时钟以降低功耗 Slow模式 采用外部时钟生产FCLK的方式 此时电源的功耗取决于外部时钟 5 时钟和电源管理寄存器S3C2410通过相应控制寄存器实现对时钟和电源的管理 相关寄存器使用参见表3 3 3 2S3C2410处理器片上资源的定义和使用 和开发MCS 51单片机一样 S3C2410在头文件2410addr h中 将S3C2410的所有硬件资源都进行了定义 我们在编写S3C2410的驱动程序时必需引用这个头文件 2410addr h将系统所有的资源进行了宏定义 宏的名称就是所定义的寄存器的名字前面加一个小写的 r 方便记忆 2410addr h内容包括 Memorycontrol USBHost INTERRUPT DMA CLOCK POWERMANAGEMENT LCDCONTROLLER NANDflash UART PWMTIMER USBDEVICE WATCHDOGTIMER IIC IIS I OPORT RTC ADC SPI ISR SDInterface等 近20类 3 3参考软件项目2410test mcp 在随书提供的资料中 有一个2410test mcp项目 里面包括几乎所有S3C2410硬件驱动的C语言例子和头文件 仔细阅读这些程序对我们编程有很大参考价值 应熟悉这些程序 项目主要部分列出如下 并做必要解释 引入所有实验所需头文件 include include include def h include option h include 2410addr h include 2410lib h include 2410slib h include 2410etc h include 2410IIC h include 2410iis h include 2410int h include 2410RTC h include 2410swi h include timer h include adc h include dma h include dma2 h include eint h include extdma h include k9s1208 h include mmu h include nwait h include sdi h include stone h include ts auto h include ts sep h include usbfifo h include IrDA h include lcd h include lcdlib h include glib h include palette h include spi h include uart0 h include uart1 h include uart2 h include etc h include flash h include idle h include pd6710 h include pll h include power h include pwr c h include stop h 定义一个二维的指针数组 数组中第一列是函数名 第二列是函数功能提示 void function 2 ADC TSP void Test Adc ADC void Test DMA Adc ADCwithDMA void Ts Sep ADCTSPSeperate void Ts Auto ADCTSPAuto DMA void Test DMA DMAM2M void Test DMAWorst DMAWorstTest void Test Dma0Xdreq ExternalDMA EINT void Test Eint ExternalInterrupt IIC void Test Iic IIC KS24C080 INT void Test Iic2 IIC KS24C080 POL IIS void Record Iis RecoIISUDA1341 void Test Iis PlayIISUDA1341 Interrupt void Test Fiq FIQInterrupt void Change IntPriorities ChangeINTPriority IrDA void Test IrDA Rx UART2IrDARx void Test IrDA Tx UART2IrDATx LCD void Test Lcd Stn 1Bit STN1Bit void Test Lcd Stn 2Bit STN2Bit void Test Lcd Stn 4Bit STN4Bit void Test Lcd Cstn 8Bit CSTN8Bit void Test Lcd Cstn 8Bit On CSTN8BitOn void Test Lcd Cstn 12Bit CSTN12Bit void Test Lcd Tft 8Bit 240320 TFT2403208Bit void Test Lcd Tft 8Bit 240320 On TFT2403208BitOn void Test Lcd Tft 16Bit 240320 TFT24032016Bit void Test Lcd Tft 1Bit 640480 TFT6404801Bit void Test Lcd Tft 8Bit 640480 TFT6404808Bit void Test Lcd Tft 16Bit 640480 TFT64048016Bit void Test Lcd Tft 8Bit 640480 Bswp TFT640480BSWP void Test Lcd Tft 8Bit 640480 Palette TFT640480Palette void Test Lcd Tft 16Bit 640480 Hwswp TFT640480HWSWP Memory MPLL void Test PLL MPLLChange void ChangePLL MPLLMPSChange void Test PllOnOff MPLLOn Off PMS void Test SlowMode PMSSlow void Test HoldMode PMSHold void Test IdleMode PMSIdle void Test MMUIdleMode PMSIdle MMU void Test IdleModeHard PMSIdleHard void Test InitSDRAM PMSSDRAMInit void Test StopMode PMSSTOP void Test PowerOffMode PMSPower OffSTOP void Test PowerOffMode 100Hz PMSPower Off100Hz void MeasurePowerConsumption PMSMeasurePower RTC void Test Rtc Alarm RTCAlarm void Display Rtc RTCDisplay void RndRst Rtc RTCRoundReset void Test Rtc Tick RTCTick SDI void Test SDI SDIWrite Read SPI void Test Spi MS int SPI0RxTxInt void Test Spi MS poll SPI0RxTxPOLL void Test Spi M Tx DMA1 SPI0MasterTxDMA1 void Test Spi S Rx DMA1 SPI0SlaveRxDMA1 void Test Spi M Rx DMA1 SPI0MasterRxDMA1 void Test Spi S Tx DMA1 SPI0SlaveTxDMA1 void Test Spi M Int SPI0MasterRxTxINT void Test Spi S Int SPI0SlaveRxTxINT Timer void Test TimerInt TimerInterrupt void Test Timer TimerTout UART void Test Uart0 Int UART0Rx TxInt void Test Uart0 Dma UART0Rx TxDMA void Test Uart0 Fifo UART0Rx TxFIFO void Test Uart0 AfcTx UART0AFCTx void Test Uart0 AfcRx UART0AFCRx void Test Uart1 Int UART1Rx TxInt void Test Uart1 Dma UART1Rx TxDMA void Test Uart1 Fifo UART1Rx TxFIFO void Test Uart1 AfcTx UART1AFCTx void Test Uart1 AfcRx UART1AFCRx void Test Uart2 Int UART2Rx TxInt void Test Uart2 Dma UART2Rx TxDMA void Test Uart2 Fifo UART2Rx TxFIFO USB void Test USBFIFO USBFIFOTest WDT void Test WDT IntReq WDTINTRequest ETC void Test XBREQ ExternalBusReqest void Test NonalignedAccess NonAlginedAccess void Test PD6710 PCCard PD6710 void ReadPageMode ReadPageMode void Test SwiIrq SWI void Test WaitPin ExternalWait void Test ISram StoneTest void Test NecInterrupt ETCNECInt void Test BattFaultInterrupt nBATT FAULTint NAND NORFlash void K9S1208 PrintBadBlockNum NANDViewBadBloc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市创新管理办法试行
- 大蒜抽苔施肥管理办法
- 学校财务后勤管理办法
- 山东农村道路管理办法
- 寄递行业制度管理办法
- 地方统计项目管理办法
- 山东高校住宿管理办法
- 学校学费管理办法细则
- 2025年电建公司专业技能考试-建筑D级专工岗位考试历年参考题库含答案解析(5套100道单选题合辑)
- 多人合作公司管理办法
- 昭通市镇雄县城区教师考调笔试真题2024
- 2025-2030精酿啤酒行业发展分析及投资价值研究咨询报告
- GB/T 2007.1-1987散装矿产品取样、制样通则手工取样方法
- 全集举一反三课件奥数五年级(数学)
- 钳工实操评分表(凹凸配合)
- 中国古代文论教程完整版课件
- 《植物生理学》课件第三章+植物的光合作用
- 石河子大学化学化工学院学院综合测评方案-理学院
- (高清正版)JJF(浙)1091—2014内测卡尺校准规范
- 经方方证标准
- 智能化弱电安全施工技术交底
评论
0/150
提交评论