第3章 ARM的内部资源

合集下载

体系结构ARM内部资源ARM内部结构教程

体系结构ARM内部资源ARM内部结构教程
ARM处理器直接支持8位字节、16位半字或者32位 字的数据类型。其中,以能被4整除的地址开始连续的4 个字节构成1个字,字的数据类型为4个连续的字节。从 偶数地址开始连续的2个字节构成一个半字,半字的数 据类型为2个连续的字节。ARM指令的长度刚好是1个 字,Thumb指令的长度刚好是一个半字。
• 2.1.1 存储器的字与半字(2)
将执行结果写回到寄存器
• 2.1.2 5级流水线 (3)
在传统的80C51单片机中,处理器只有完成一条 指令的读取和执行后,才会开始下一条指令的处理所以 PC总是指向正在“执行”的指令。而ARM9处理器采用 5级流水线,具有5个工位,将指令的处理分为5个阶段 ,分别是取指、译码、执行、访存和回写。因此ARM“ 正在执行”第3条指令的同时对第4条指令进行译码,将 第5条指令从存储器中取出,对第2条指令完成访存操作 ,对第1条指令完成回写操作。那么一条ARM9流水线 只有在取第6条指令的时,第一条指令才算完成执行。 也就是说,在流水线中同时存在5条指令,它们分别处 于不同的处理阶段。
• 2.1.2 5级流水线 (1)
ARM处理器使用流水线来增加处理指令流的速度 ,这样可使几个操作同时进行,并使处理和存储器之间 的操作更加流畅、连续,能提供1.1MIPS/MHz的指令执 行速度。
相比ARM7(3级流水线),ARM9增加了2个功 能部件分别访问存储器并写回结果,且将读寄存器的操 作转移到译码部件上,使流水线各部件在功能上更平衡 。
5级流水线如图2.1所示(其中PC为程序计数器) ,流水线使用5个阶段,因此指令分为5个阶段执行。 ■ 取指:从存储器装载一条指令; ■ 译码:识别将要被执行的指令; ■ 执行:处理指令,产生ALU运算结果或产生存储器 地址(对于存储器访问指令来讲); ■ 访存:访问数据存储器; ■ 回写:将执行结果写回寄存器。

ARM存储器结构总结

ARM存储器结构总结

ARM存储器:片内Flash、片内静态RAM、片外存储器映射确实是一一对应的意思。

重映射确实是从头分派这种一一对应的关系。

我们可以把存储器看成一个具有输出和输入口的黑盒子。

输入量是地址,输出的是对应地址上存储的数据。

当然这个黑盒子是由很复杂的半导体电路实现的,具体的实现的方式我们现在不管。

存储单位一般是字节。

这样,每个字节的存储单元对应一个地址,当一个合法地址从存储器的地址总线输入后,该地址对应的存储单元上存储的数据就会出现在数据总线上面。

普通的单片机把可执行代码和数据存放到存储器中。

单片机中的CPU从储器中取指令代码和数据。

其中存储器中每个物理存储单元与其地址是一一对应而且是不可变的,。

而ARM比较复杂,ARM芯片与普通单片机在存储器地址方面的不同在于:ARM芯片中有些物理存储单元的地址可以根据设置变换。

就是说一个物理存储单元现在对应一个地址,经过设置以后,这个存储单元就对应了另外一个地址了(这就是后面要说的重新映射)。

例如将0x00000000地址上的存储单元映射到新的地址0x00000007上。

CPU存取0x00000007就是存取0x00000000上的物理存储单元。

(随便举的例子为了说明道理,没有实际意义)存储器重新映射(Memory Re-Map)存储器重新映射是将复位后用户可见的存储器中部分区域,再次映射到其他的地址上。

存储器重新映射包括两个方面:1、Boot Block重新映射(关于Boot Block的相关内容看我博客中的另一篇文章)。

2、异常(中断)向量重新映射Boot Block重新映射:本来Boot Block在片内Flash的最高8KB,但是为了与将来期间相兼容,生产商为了产品的升级换代,在新型芯片中增加内部Flash容量时,不至于因为位于Flash高端的Boot Block的地址发生了变化而改写其代码,整个Boot Block都要被重新映射到内部存储器空间的顶部,即片内RAM的最高8KB。

ARM体系结构详解 第3章

ARM体系结构详解 第3章

ARM指令的寻址方式
多寄存器寻址和堆栈寻址之间的关系 堆栈 之前 之后 之前 之后
LDMDA LDMFA
向上生长 满
STMIB STMFA STMIA STMEA LDMDB LDMEA
向下生长 满 空
LDMIB LDMED LDMIA LDMFD STMDB STMFD STMDA STMED
多寄存器 寻址
ARM指令的寻址ห้องสมุดไป่ตู้式
STMFA r13!, {r0-r5} ; Push onto a Full Ascending Stack LDMFA r13!, {r0-r5} ; Pop from a Full Ascending Stack STMFD r13!, {r0-r5} ; Push onto a Full Descending Stack LDMFD r13!, {r0-r5} ; Pop from a Full Descending Stack STMEA r13!, {r0-r5} ; Push onto an Empty Ascending Stack LDMEA r13!, {r0-r5} ; Pop from an Empty Ascending Stack STMED r13!, {r0-r5} ; Push onto Empty Descending Stack LDMED r13!, {r0-r5} ; Pop from an Empty Descending Stack
ARM指令的寻址方式
堆栈寻址 堆栈是一种数据结构,按先进后出( 堆栈是一种数据结构,按先进后出(First In Last Out,FILO)的 , ) 方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆 方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置, 栈指针总是指向栈顶. 栈指针总是指向栈顶. 当堆栈指针指向最后压入堆栈的数据时,称为满堆栈( 满堆栈 ), 当堆栈指针指向最后压入堆栈的数据时,称为满堆栈(Full Stack), 而当堆栈指针指向下一个将要放入数据的空位置时,称为空堆栈 空堆栈( 而当堆栈指针指向下一个将要放入数据的空位置时,称为空堆栈(Empty Stack). ) 同时,根据堆栈的生成方式,又可以分为递增堆栈( 同时,根据堆栈的生成方式,又可以分为递增堆栈(Ascending 递增堆栈 Stack)和递减堆栈(Decending Stack),当堆栈由低地址向高地址 ),当堆栈由低地址向高地址 ) 递减堆栈( ), 生成时,称为递增堆栈,当堆栈由高地址向低地址生成时,称为递减堆栈. 生成时,称为递增堆栈,当堆栈由高地址向低地址生成时,称为递减堆栈. 这样就有四种类型的堆栈工作方式, 这样就有四种类型的堆栈工作方式,ARM微处理器支持这四种类型的堆栈 微处理器支持这四种类型的堆栈 工作方式, 工作方式,即:

ARM体系结构详解(我上课时老师的100多页PPT课件)

ARM体系结构详解(我上课时老师的100多页PPT课件)

嵌入式系统设计导论—基于32位微处理器与实时操作系统第三讲 ARM嵌入式微处理器体系结构北京航空航天大学机器人研究所魏洪兴本节提要1ARM编程模型ARM 异常处理嵌入式处理器概述l嵌入式微处理器是嵌入式系统的核心。

目前32位嵌入式微处理器是市场的主流。

l32位嵌入式微处理器市场,我们可以发现超过100家的芯片供应商和近30种指令体系结构。

l在1996年以前,最成功的嵌入式微处理器是Motorola公司的68000系列。

此外嵌入式微处理器市场还包括其它体系结构,如Intel公司的I960,Motorola公司的Coldfire,Sun公司的Sparc,以及嵌入式X86系列平台。

l当然,最引人注目的还是ARM公司的ARM系列、MIPS公司的MIPS系列,以及Hitachi公司的SuperH系列(其中ARM和MIPS 都知识产权公司,把他们的微处理器IP技术授权给半导体厂商,由他们生产形态各异的微处理器芯片)。

l功耗。

一般的嵌入式微处理器都有三种运行模式:运行模式(operational);待机模式(standby or power down);停机模式(and clock-off)。

功耗的评测指标是MIPS/W;l代码存储密度。

传统的CISC指令集计算机具有较好的代码存储密度。

而RICS指令集计算机由于要求指令编码长度固定,虽然可以简化和加速指令译码过程,但为了实现与CISC指令集计算机相同的作业,往往需要更多的指令来完成,从而增加了代码长度。

如Hitachi的SuperH体系结构采用了定长的16位指令,对每条指令按16位的格式存储。

ARM则采用16位扩展的Thumb指令集,片内的逻辑译码器将其等价为32位的ARM指令而实时解码。

而MIPS则采用MIPS16方法来解决这个问题。

(影响代码密度的另外一个主要因素是所采用的C编译器。

ANSI C是当前嵌入式领域的标准编程语言,随着嵌入式微处理器性能的提高,面向对象的语言也将被采用并会逐渐成为主流,一些编译器供应商已经开始着手解决代码密度问题。

ARM课件第3章

ARM课件第3章

⒈ 指令编码格式 指令编码格式见图3.5。 图3.5中,第1操作数总是寄存器Rn。Rd称 为目的寄存器,TST、TEQ、CMP和CMN指令不 送结果到目的寄存器Rd,其他指令产生的结果 送Rd。 第2操作数Operand2可以是寄存器Rm的值 经过移位产生的32位值,或8位立即数经过循环 右移产生的32位的值,指令中bit[25]的值用来 选择Rm或8位立即数。
【例3.3】 使用分支并且连接指令调用不同的子程序。
CMP BLEQ BLGT BL R0,#0 SUBEQ SUBGT SUBLT ;比较,设置标志位 比较, 比较 ;相等,则调用SUBEQ 相等,则调用 相等 ;大于,则调用SUBGT 大于,则调用 大于 ;小于,则调用SUBLT 小于,则调用 小于
⒈ 指令编码格式 指令编码格式见图3.3。 ⒉ 指令含义 通过拷贝一个通用寄存器Rn的内容到程序 计数器PC ,指令实现分支功能。这条指令也允 许指令集被转换,当这条指令被执行时,Rn的 bit[0]位确定后续指令代码被译码作为ARM指令 或Thumb指令。
⒊ 指令汇编格式 ⒋ 使用举例 【例3.1】 处理器从执行ARM指令代码处分支到 标号为Goto_THUMB处,并且执行Thumb 指令代码,然后又返回到Back_ARM处,执行 ARM指令代码。
;假定处理器当前正在执行 假定处理器当前正在执行ARM指令 假定处理器当前正在执行 指令 ;将分支目标地址送 ,使R1的bit[0]=1 将分支目标地址送R1, 将分支目标地址送 的 ;分支并且转换为 分支并且转换为Thumb状态 分支并且转换为 状态
ADR R1,Goto_THUMB+1 BX … R1
图3.11 扩展循环右移(RRX)
在使用指令中bit[11:7]指定对Rm的移位 量,bit[6:5]指定移位类型时,指令汇编格式 举例见表3.3。

ARM体系结构与结构---第三章精品文档

ARM体系结构与结构---第三章精品文档
跳转指令B,仅仅跳转; 带返回地址的跳转指令BL,跳转同时还将BL指令 的下一条指令的地址(返回地址)放入LR;
使用PC实现长跳转
MOV LR,PC 取指 译码 执行
MOV PC,#0XFF000000 取指 译码 执行
ADD R0,R1,R2
取指 译码 执行
P?C-8
PC-4 PC指针
数据传送指令: MOV MVN;
算术运算指令: ADD ADC SUB SBC RSB RSC;
逻辑运算指令: AND ORR EOR BIC;
比较指令:
CMP CMN TST TEQ。
数据处理指令只能对寄存器的内容进行操作,而不能对 内存中的数据进行操作。数据处理指令中除比较指令外均可选择 使用S后缀,并影响状态标志。
• ARM指令集——ARM数据处理指令
数据处理指令大致可分为4类:
数据传送指令: MOV MVN;
算术运算指令: ADD ADC SUB SBC RSB RSC;
逻辑运算指令: AND ORR EOR BIC;
比较指令:
CMP CMN TST TEQ。
数据处理指令只能对寄存器的内容进行操作,而不能对 内存中的数据进行操作。数据处理指令中除比较指令外均可选择 使用S后缀,并影响状态标志。
逻辑运算指令: AND ORR EOR BIC;
比较指令:
CMP CMN TST TEQ。
数据处理指令只能对寄存器的内容进行操作,而不能对 内存中的数据进行操作。数据处理指令中除比较指令外均可 选择使用S后缀,并影响cpsr状态标志。
3.2 指令集介绍
• ARM指令集——ARM数据处理指令
数据处理指令大致可分为4类:
跳转指令中的实际值(signed_immed_24)是相对PC值的一个偏 移量;它的值由汇编器来计算,它是 24 位有符号数,左移两位后 (去掉一位符号位后,有效偏移为 25 位(+/- 32 M)) ,由符号扩展 到 32 位。

嵌入式系统基础-第3章--ARM体系结构-PPT

嵌入式系统基础-第3章--ARM体系结构-PPT

N
N=1表示运算的结果为负数;N=0表示运算的结果为正
数或零
共页
41
标志位
含义
Z
Z=1表示运算的结果为零;Z=0表示运算的结果为非
零。
C
当运算结果产生了进位时(无符号数溢出),C=1;
否则C=0
V
V=1表示有溢出;V=0表示无溢出
Q
在ARM v5及以上版本的E系列处理器中,用Q标志位
指示增强的DSP运算指令是否发生了溢出。在其他版
将上图中的CPU部分叫做处理器核。
把处理器核与其通用功能模块的组 合叫做处理器。
共页
11
把在处理器基础上经芯片厂商二次开 发,以芯片形式提供的用于嵌入式系统的 产品叫做嵌入式处理器。
IP商提供的是处理器核和处理器的知 识产权,而半导体芯片生产厂商生产的则 是嵌入式处理器芯片。
世界上知名的IP商当属ARM公司和 MIPS公司。
共页
3
3.1.1 SoC与嵌入式处理器 计算机SoC的概念如下图所示:
共页
4
计算机的这种单片系统特别适合于嵌 入式应用,所以这种SoC也叫做嵌入式处 理器。
3.1.2 嵌入式处理器的研发和生产方式
宿主对象的多样化,势必决定了嵌 入式系统的多样化、个性化。
1、在SoC技术出现之前
共页
5
CPU和与其配合的接口及功能模块都 是单独的芯片。 2、在SoC技术出现之后
37
3、程序计数器R15(PC)
在ARM中,基本寄存器R15固定地作为 程序计数器来使用。为了提高程序的可读 性,也通常使用PC来标识。
4、程序状态寄存器PSR
基本寄存器R16专门用作程序状态寄 存器。同样为了提高程序的可读性,在程 序中用PSR来标识他。

第3章 ARM的内部资源

第3章  ARM的内部资源

• •
3.2.1 bank0总线宽度 总线宽度

bank0的数据总线(nGCS0)必须首先设置成 位或 的数据总线( 的数据总线 )必须首先设置成16位或 32位的。因为 位的。 通常作为引导ROM区(映射到地 位的 因为bank0通常作为引导 通常作为引导 区 ),在复位时 址0x0000-0000),在复位时,系统将检测 ),在复位时,系统将检测OM[1:0]上 上 的逻辑电平,并依据这个电平来决定bank0区存储器的 的逻辑电平,并依据这个电平来决定 区存储器的 总线宽度。 总线宽度。
3.1.3 体系结构
• S3C2440处理器为手持设备和通用嵌入式应用提供了丰 处理器为手持设备和通用嵌入式应用提供了丰 富片上集成系统解决方案,包括: 富片上集成系统解决方案,包括: 16/32 位RISC体系结构和 体系结构和ARM920T内核强大的指令集; 内核强大的指令集; 体系结构和 内核强大的指令集 加强的ARM体系结构 体系结构MMU,用于支持 加强的 体系结构 ,用于支持WinCE和Linux; 和 ; 采用ARM920T CPU 内核支持 内核支持ARM调试体系结构; 调试体系结构; 采用 调试体系结构 内部高级微控制总线( 内部高级微控制总线(AMBA)体系结构 )体系结构(AMBA2.0, , AHB/APB); ; 支持高速总线模式和异步总线模式, 支持高速总线模式和异步总线模式,支持外部等待信号 延长总线周期。 延长总线周期。
3.3 S3C2440内部资源详解 内部资源详解

S3C2440的内部资源十分丰富,所集成的接口能使得 的内部资源十分丰富, 的内部资源十分丰富 S3C2440方便的运用于各种场合,比如移动设备,工 方便的运用于各种场合, 方便的运用于各种场合 比如移动设备, 业控制设备以及医疗设备中。同时, 业控制设备以及医疗设备中。同时,这些接口使用非常 方便,硬件连接简单, 方便,硬件连接简单,操作上一般通过软件控制寄存器 的方式实现。相信读者看过下面的内容以后, 的方式实现。相信读者看过下面的内容以后,能很快的 进入ARM的内部,为后续的开发工作奠定良好的基础 的内部, 进入 的内部 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.1.3 体系结构
• S3C2440处理器为手持设备和通用嵌入式应用提供了丰 处理器为手持设备和通用嵌入式应用提供了丰 富片上集成系统解决方案,包括: 富片上集成系统解决方案,包括: 16/32 位RISC体系结构和 体系结构和ARM920T内核强大的指令集; 内核强大的指令集; 体系结构和 内核强大的指令集 加强的ARM体系结构 体系结构MMU,用于支持 加强的 体系结构 ,用于支持WinCE和Linux; 和 ; 采用ARM920T CPU 内核支持 内核支持ARM调试体系结构; 调试体系结构; 采用 调试体系结构 内部高级微控制总线( 内部高级微控制总线(AMBA)体系结构 )体系结构(AMBA2.0, , AHB/APB); ; 支持高速总线模式和异步总线模式, 支持高速总线模式和异步总线模式,支持外部等待信号 延长总线周期。 延长总线周期。
3.3 S3C2440内部资源详解 内部资源详解

S3C2440的内部资源十分丰富,所集成的接口能使得 的内部资源十分丰富, 的内部资源十分丰富 S3C2440方便的运用于各种场合,比如移动设备,工 方便的运用于各种场合, 方便的运用于各种场合 比如移动设备, 业控制设备以及医疗设备中。同时, 业控制设备以及医疗设备中。同时,这些接口使用非常 方便,硬件连接简单, 方便,硬件连接简单,操作上一般通过软件控制寄存器 的方式实现。相信读者看过下面的内容以后, 的方式实现。相信读者看过下面的内容以后,能很快的 进入ARM的内部,为后续的开发工作奠定良好的基础 的内部, 进入 的内部 。
3.3.4 脉冲带宽调制定时器 (PWM)

S3C2440有五个 位的定时器。定时器 ,1,2,3具有 有五个16位的定时器 定时器0, , , 具有 有五个 位的定时器。 脉冲宽度可调( 脉冲宽度可调(PWM)功能。定时器 是没有输出管脚的 )功能。定时器4是没有输出管脚的 内部定时器。定时器0有一个死区发生器 有一个死区发生器, 内部定时器。定时器 有一个死区发生器,可以和一个大 电流装置一起使用。 电流装置一起使用。 定时器0和 共用一个 位的分频器,而定时器2, 和 共 共用一个8位的分频器 定时器 和1共用一个 位的分频器,而定时器 ,3和4共 用一个8位的分频器 每个定时器有一个时钟分频器, 位的分频器。 用一个 位的分频器。每个定时器有一个时钟分频器,能 产生5个不同的分频信号 个不同的分频信号( , , , 产生 个不同的分频信号(1/2,1/4,1/8,1/16和TCLK 和 )。每个定时器块接收它自己的来自时钟分频器的时钟信 )。每个定时器块接收它自己的来自时钟分频器的时钟信 而这时钟分频信号又是来自相应的8位分频器的 位分频器的。 位 号,而这时钟分频信号又是来自相应的 位分频器的。8位 分频器是可编程的,根据寄存器TCFG0和TCFG1的值, 的值, 分频器是可编程的,根据寄存器 和 的值 时钟信号进行分频。 将PCLK时钟信号进行分频。 时钟信号进行分频
3.1.1 主要结构

S3C2440的频率是 的频率是400MHz,其ARM920T核由 核由ARM9TDMI、 的频率是 , 核由 、 存储管理单元( 存储管理单元(MMU)和高速缓存三部分组成。其中,MMU )和高速缓存三部分组成。其中, 可以管理虚拟内存,高速缓存由独立的16KB地址和 地址和16KB数据 可以管理虚拟内存,高速缓存由独立的 地址和 数据 高速Cache组成。ARM920T有两个内部协处理器:CP14和 组成。 有两个内部协处理器: 高速 组成 有两个内部协处理器 和 CP15。CP14用于调试控制,CP15用于存储系统控制以及测 用于调试控制, 。 用于调试控制 用于存储系统控制以及测 试控制。 试控制。
3.3.1 Cache 高速缓存

Cache高速缓存是 项全相连模式,采用 高速缓存是64项全相连模式 采用I高速缓存是 项全相连模式, Cache(16KB)和D-Cache(16KB),而且每行 字长度, 字长度, 和 ,而且每行8字长度 其中每行带有一个有效为和两个dirty位。伪随机数或 其中每行带有一个有效为和两个 位 轮转循环替换算法位,采用写穿式( 轮转循环替换算法位,采用写穿式(write-through) ) 或写回式( 操作来更新主存储器。 或写回式(write-back)cache操作来更新主存储器。 ) 操作来更新主存储器 写缓冲器可以保存16个字的数据和 个地址。 个字的数据和4个地址 写缓冲器可以保存 个字的数据和 个地址。
第3章 ARM的内部资源 章 的内部资源

S3C2440是三星公司生产的,基于ARM920T的16/32位 是三星公司生产的,基于 是三星公司生产的 的 位 RISC嵌入式微处理器,是目前市场上应用非常广泛的一款 嵌入式微处理器, 嵌入式微处理器 嵌入式处理器。该处理器是一个多用途的通用芯片, 嵌入式处理器。该处理器是一个多用途的通用芯片,它内 部集成了微处理器和常用外围组件,具有较高的性价比。 部集成了微处理器和常用外围组件,具有较高的性价比。 本章将一一介绍这款处理器的各种内部资源。 本章将一一介绍这款处理器的各种内部资源。
3.3.2 时钟和电源管理
• 时钟电源控制块由三部分组成:时钟控制、 时钟电源控制块由三部分组成:时钟控制、USB控制 控制 和电源控制。 和电源控制。S3C2440中的时钟控制逻辑能生成包括 中的时钟控制逻辑能生成包括 CPU内部时钟(FCLK)在内的所需时钟信号。主时钟 内部时钟( 内部时钟 )在内的所需时钟信号。 脉冲( 脉冲(HCLK)用于高级高精度系统总线外围设备。 )用于高级高精度系统总线外围设备。 FCLK应用于 应用于CPU的时钟,PCLK用于 的时钟, 用于APB bus 各种接 应用于 的时钟 用于 口设备。 口设备。 关于电源控制逻辑, 关于电源控制逻辑,S3C2440有多种电源配置方案来 有多种电源配置方案来 保证对假定任务的最佳功耗。电源控制块在S3C2440 保证对假定任务的最佳功耗。电源控制块在 中能被激活成四种模式:通用模式,慢模式, 中能被激活成四种模式:通用模式,慢模式,空闲模式 和睡觉模式。 和睡觉模式。 通用模式 慢模式 空闲模式 掉电模式
• • • •

3.2 S3C2440存储器映射 存储器映射
• • • • S3C2440的存储器控制器提供访问外部存储器所需要的存储 的存储器控制器提供访问外部存储器所需要的存储 器控制信号,主要具有以下几个特性: 器控制信号,主要具有以下几个特性: 支持大/小端方式 通过软件选择); 小端方式( 支持大 小端方式(通过软件选择); 8个存储器 个存储器bank,寻址空间:每bank 128M 字节(总共 字节(总共1G 个存储器 ,寻址空间: 字节),支持可编程的每bank 8/16/32位数据总线带宽; ),支持可编程的每 位数据总线带宽; 字节),支持可编程的每 位数据总线带宽 都采用固定的bank起始寻址,bank7具有 起始寻址, 从bank0到bank6都采用固定的 到 都采用固定的 起始寻址 具有 可编程的bank的起始地址和大小,其中 个适用于 的起始地址和大小, 个适用于ROM, 可编程的 的起始地址和大小 其中6个适用于 , SRAM,和其他另外 个适用于 个适用于ROM/SRAM和同步 和同步DRAM, ,和其他另外2个适用于 和同步 , 所有的存储器bank都具有可编程的操作周期; 都具有可编程的操作周期; 所有的存储器 都具有可编程的操作周期 支持掉电时的SDRAM自刷新模式; 自刷新模式; 支持掉电时的 自刷新模式 支持各种型号的ROM引导(NOR/NAND FLASH, 引导( 支持各种型号的 引导 , EEPROM,或其他),支持从 ),支持从 ,或其他),支持从NAND FLASH存储器的启动 存储器的启动 采用4KB内部缓冲器进行启动引导,支持启动之后 内部缓冲器进行启动引导, ,采用 内部缓冲器进行启动引导 支持启动之后NAND 存储器仍然作为外部存储器使用。 存储器仍然作为外部存储器使用。
• •
3.2.1 bank0总线宽度 总线宽度

bank0的数据总线(nGCS0)必须首先设置成 位或 的数据总线( 的数据总线 )必须首先设置成16位或 32位的。因为 位的。 通常作为引导ROM区(映射到地 位的 因为bank0通常作为引导 通常作为引导 区 ),在复位时 址0x0000-0000),在复位时,系统将检测 ),在复位时,系统将检测OM[1:0]上 上 的逻辑电平,并依据这个电平来决定bank0区存储器的 的逻辑电平,并依据这个电平来决定 区存储器的 总线宽度。 总线宽度。
3.1.2 片内资源
• • • • • • • • • • • • • • S3C2440的片内资源非常丰富,主要包括: 的片内资源非常丰富,主要包括: 的片内资源非常丰富 1个LCD控制器(支持 控制器( 带有触摸屏的液晶显示屏) 个 控制器 支持STN和TFT带有触摸屏的液晶显示屏) 和 带有触摸屏的液晶显示屏 ; SDRAM控制器; 控制器; 控制器 3个通道的 个通道的UART; 个通道的 ; 4个通道的 个通道的DMA; 个通道的 ; 4个具有 个具有PWM功能的计时器和 个内部时钟; 功能的计时器和1个内部时钟 个具有 功能的计时器和 个内部时钟; 触摸屏接口; 触摸屏接口; I2C总线接口; 总线接口; 总线接口 2个USB主机接口,1个USB设备接口; 主机接口, 个 设备接口; 个 主机接口 设备接口 2个SPI接口; 接口; 个 接口 SD接口和 接口和MMC卡接口; 卡接口; 接口和 卡接口 看门狗计数器; 看门狗计数器; 117位通用 口和 位外部中断源; 位通用I/O口和 位外部中断源; 位通用 口和24位外部中断源 8通道 位AD控制器。 通道10位 控制器 控制器。 通道

• • • •
3.3.3 中断控制器

S3C2440有60个中断源:1个看门狗定时器,5个定时器, 有 个中断源 个中断源: 个看门狗定时器 个看门狗定时器, 个定时器 个定时器, 9个UART,24个外部中断 个外部中断EINT,4个DMA,2个RTC,2 个 , 个外部中断 , 个 , 个 , 个ADC,1个IIC,2个SPI,1个SDI,2个USB,1个LCD , 个 , 个 , 个 , 个 , 个 个电池故障, 个 ,和1个电池故障,1个NAND和2个CAMERA,1个AC97 个电池故障 和 个 , 个 音频。外部中断源都是电平/边沿触发模式的 边沿触发模式的, 音频。外部中断源都是电平 边沿触发模式的,同时还具有 可编程的边沿/电平触发极性 电平触发极性。 可编程的边沿 电平触发极性。S3C2440中断控制器支持为 中断控制器支持为 紧急中断请求提供快速中断服务。 紧急中断请求提供快速中断服务。
相关文档
最新文档