LPC2114_2124_2212_2214-02-中文手册
更新时间:2023-05-19 03:26:01 阅读量: 实用文档 文档下载
LPC2114_2124_2212_2214-02-中文手册
LPC2114/2124/2212/2214使用指南
1. 介绍
概述
LPC2114/2124/2212/2214是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-STM CPU的微控制器,并带有128/256 k字节(kB)嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。
由于LPC2114/2124/2212/2214较小的64和144脚封装、极低的功耗、多个32位定时器、4路10位ADC或8路10位ADC(64脚和144脚封装)以及多达9个外部中断使它们特别适用于工业控制、医疗系统、访问控制和POS机。
在64脚的封装中,最多可使用46个GPIO。在144脚的封装中,可使用的GPIO高达76(使用了外部存储器)~112个(单片应用)。由于内置了宽范围的串行通信接口,它们也非常适合于通信网关、协议转换器、嵌入式软modern以及其它各种类型的应用。 特性
16/32位64/144脚ARM7TDMI-S微控制器。 16K字节静态RAM。
128/256K字节片内Flash程序存储器(在工作温度范围内,片内Flash存储器至少可擦除和写
10,000次)。128位宽度接口/加速器实现高达60MHz的操作频率。 外部8、16或32位总线(144脚封装)。
片内Boot装载程序实现在系统编程(ISP)和在应用中编程(IAP)。Flash编程时间:1ms可编
程512字节,扇区擦除或整片擦除只需400ms。
EmbeddedICE-RT接口使能断点和观察点。当前台任务使用片内RealMonitor软件调试时,中断服
务程序可继续执行。
嵌入式跟踪宏单元(ETM)支持对执行代码进行无干扰的高速实时跟踪。 4/8路(64/144脚封装)10位A/D转换器,转换时间低至2.44us。
2个32位定时器(带4路捕获和4路比较通道)、PWM单元(6路输出)、实时时钟和看门狗。 多个串行接口,包括2个16C550工业标准UART、高速I2C接口(400 kbit/s)和2个SPI接口。 通过片内PLL可实现最大为60MHz的 CPU操作频率。 向量中断控制器。可配置优先级和向量地址。
多达46个(64脚封装)或112个(144脚封装)通用I/O口(可承受5V电压),12个独立外部
中断引脚(EIN和CAP功能)。 片内晶振频率范围:1~30 MHz。 2个低功耗模式:空闲和掉电。
通过外部中断将处理器从掉电模式中唤醒。 可通过个别使能/禁止外部功能来优化功耗。 双电源
-CPU操作电压范围:1.65~1.95 V(1.8 V+/- 8.3%) -I/O操作电压范围:3.0~3.6 V(3.3 V+/- 10%)
LPC2114_2124_2212_2214-02-中文手册
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 应用
工业控制 医疗设备 访问控制 POS机 通信网关 嵌入式软moderm 一般性应用
器件信息
表1 LPC2114/2124/2212/2214器件信息
器件
管脚数
片内RAM
片内FLASH
10位A/D通道数
4 4 8 8
注 - -
带外部存储器接口 带外部存储器接口
128 kB LPC2214
结构概述
144
16 kB
256 kB
LPC2114/2124/2212/2214包含一个支持仿真的ARM7TDMI-S CPU、与片内存储器控制器接口的ARM7局部总线、与中断控制器接口的AMBA高性能总线(AHB)和连接片内外设功能的VLSI外设总线(VPB,ARM AMBA总线的兼容超集)。LPC2114/2124/2212/2214将ARM7TDMI-S配置为小端(little-endian)字节顺序。
AHB外设分配了2M字节的地址范围,它位于4G字节ARM存储器空间的最顶端。每个AHB外设都分配了16k字节的地址空间。LPC2114/2124/2212/2214的外设功能(中断控制器除外)都连接到VPB总线。AHB到VPB的桥将VPB总线与AHB总线相连。VPB外设也分配了2M字节的地址范围,从3.5GB地址点开始。每个VPB外设在VPB地址空间内都分配了16k字节地址空间。
片内外设与器件管脚的连接由管脚连接模块控制。该模块必须由软件进行控制以符合外设功能与管脚在特定应用中的需求。
ARM7TDMI-S处理器
ARM7TDMI-S是通用的32位微处理器,它具有高性能和低功耗的特性。ARM结构是基于精简指令集计算机(RISC)原理而设计的。指令集和相关的译码机制比复杂指令集计算机要简单得多。这样使用一个小的、廉价的处理器核就可实现很高的指令吞吐量和实时的中断响应。
由于使用了流水线技术,处理和存储系统的所有部分都可连续工作。通常在执行一条指令的同时对下一条指令进行译码,并将第三条指令从存储器中取出。
ARM7TDMI-S处理器使用了一个被称为THUMB的独特结构化策略,它非常适用于那些对存储器有限制或者需要较高代码密度的大批量产品的应用。
在THUMB后面一个关键的概念是“超精简指令集”。基本上,ARM7TDMI-S处理器具有两个指令集: 标准32位ARM指令集 16位THUMB指令集
THUMB指令集的16位指令长度使其可以达到标准ARM代码两倍的密度,却仍然保持ARM的大多数性能上的优势,这些优势是使用16位寄存器的16位处理器所不具备的。因为THUMB代码和ARM代码一样,在相同的32位寄存器上进行操作。
THUMB代码仅为ARM代码规模的65%,但其性能却相当于连接到16位存储器系统的相同ARM处
LPC2114_2124_2212_2214-02-中文手册
理器性能的160%。
关于ARM7TDMI-S处理器的详细内容请参阅ARM官方网站上的ARM7TDMI-S数据手册。
片内FLASH程序存储器
LPC2114/2212集成了一个128K,而LPC2124/2214集成了256K的FLASH存储器系统。该存储器可用作代码和数据的存储。对FLASH存储器的编程可通过几种方法来实现:通过内置的串行JTAG接口,通过在系统编程(ISP)和UART0,或通过在应用编程(IAP)。使用在应用编程的应用程序也可以在应用程序运行时对FLAH进行擦除和/或编程,这样就为数据存储和现场固件的升级都带来了极大的灵活性。
片内静态RAM
LPC2114/2124/2212/2214含有16kB的静态RAM,可用作代码和/或数据的存储。SRAM支持8位、16位和32位访问。
SRAM控制器包含一个回写缓冲区,它用于防止CPU在连续的写操作时停止运行。回写缓冲区总是保存着软件发送到SRAM的最后一个字节。该数据只有在软件请求下一次写操作时才写入SRAM(数据只有在软件执行另外一次写操作时被写入SRAM)。如果发生芯片复位,实际的SRAM内容将不会反映最近一次的写请求(即:在一次“热”芯片复位后,SRAM不会反映最后一次写入的内容)。任何在复位后检查SRAM内容的程序都必须注意这一点。通过对一个单元执行两次相同的写操作可保证复位后数据的写入。或者,也可通过在进入空闲或掉电模式前执行虚写(dummy write)操作来保证最后的数据在复位后被真正写入到SRAM。
LPC2114_2124_2212_2214-02-中文手册
12
当使用测试/调试接口时,共用这些管脚的GPIO/其它功能都不可用。 仅LPC2212/2214
图1 LPC2114/2124/2212/2214方框图
LPC2114/2124/2212/2214寄存器
对LPC2114/2124/2212/2214特殊功能寄存器的访问必须遵循以下方式: 1. 2. 3.
用户不要试图访问任何未经定义的SFR地址。 对任何已定义的SFR的访问必须符合SFR的功能。
标注为“-”、“0”或“1”的SFR位只能以如下方式读或写: - - -
“-”必须写入0,但当读出时不返回任何确定的值(即使向其写入0)。这是 一个保留位,作为将来功能扩展之用。 “0”必须写入0,并且当读出时返回0。 “1”必须写入1,并且当读出时返回1。
下表列举了LPC2114/2124/2212/2214微控制器的所有寄存器,这些寄存器均按照地址进行存储。 对特殊功能寄存器的访问分为读/写、只读或只写几种操作(R/W,RO和WO)。
“复位值”一栏只针对使用的/可访问的位而言,并不包括保留位的内容。某些寄存器的复位值还可能是不确定的,把这些不确定的复位值称为“未定义”。实际应用中不会用到的复位值称为“NA”。某些RTC
LPC2114_2124_2212_2214-02-中文手册
寄存器的值并不受芯片复位的影响。这些复位值用*来表示,如果RTC使能,这些寄存器必须进行软件初始化。
LPC2114/2124/2212/2214的寄存器可以是8、16或32位。对于表2中的8位寄存器,MSB(最高有效位)列的位置用来存放寄存器的位7,LSB(最低有效位)列的位置用来存放寄存器的位0。
如果是16/32位的寄存器,则寄存器位描述的左上角用来存放寄存器的位15/31,右下角用来存放寄存器的位0。
例如:PWMPCR寄存器(地址:0xE001404C)的位“ENA6”是寄存器的位14;该寄存器的位15,8,7和0保留。PWMMCR寄存器(0xE0014014)的位“Stop on MR6”是寄存器的位20;该寄存器的位31和21保留。
未用(保留)位用“-”来表示。访问这些位时必须严格遵循上述方式。 表2 LPC2114/2124/2212/2214寄存器
地址偏移 WD
名称
看门狗模式
寄存器 看门狗定时器
常数寄存器 看门狗喂狗寄
存器 看门狗值
寄存器
TIMER0
T0中断寄存
器
T0控制寄存
器
-
-
-
-
-
-
复位
使能
Int.
Int.
Int.
Int.
Int.
Int.
Int. CTR
Int. CTR
CR3
CR2
CR1
CR0
MR3
MR2
MR1
MR0
8位数据(先为0xAA,后为0x55)-
-
-
-WDTOF
ET
描述访问
WDRES
复位值
32位数据32位数据计数器位数据T0预分频寄
存器 T0预分频计
数器 T0匹配控制
4个保留位(-)
寄存器
Reset on MR2
T0匹配寄存
器0
T0匹配寄存
器1
T0匹配寄存
器2
T0匹配寄存
器3
Int. on MR2
Stop onMR1
Reset onMR1
Int. on MR1
Stop onMR0
Reset onMR0
Int. on MR0
MR3
MR3
MR3
MR2
Stop on
Reset on
Int. on
Stop on
32位数据32位数据32位数据32位数据32位数据32位数据
LPC2114_2124_2212_2214-02-中文手册
续上表…… 地址偏移
名称
描述访问 T0捕获控制
Int. on
寄存器
4个保留位(-)
Cpt.3
falling
Int. on Cpt.2 falling
T0捕获寄存器0 T0捕获寄存
器1 T0捕获寄存
器2
T0外部匹配
寄存器
外部匹配控制1
外部匹配控制0
-
Mtch2.
TIMER1
CR3 Int.
CR2 Int.
CR1 Int.
CR0 Int.
MR3 Int.
MR2 Int.
Mtch.1 MR1 Int. CTR
-
-
-
-
-
-
复位
使能 Mtch.0 MR0
Int. CTR
4个保留位(-) Int. on
Int. on
Cpt.2
Cpt.1
rising
falling
rising
Cpt.1
Cpt.1
Cpt.0
falling
rising
Int. on
Int. on
Int. on
Cpt.0
Cpt.0
Int. on
Int. on
rising
Cpt.3
Cpt.3
Cpt.2
Int. on
Int. on
Int. on
复位值
32位数据32位数据32位数据外部匹配控制3
Ext.
外部匹配控制2 Ext.
Ext.
T1中断寄存
器 T1控制寄存
器
T1计数器位数据T1预分频寄存器 T1预分频计
数器 T1匹配控制
4个保留位(-)
寄存器
Reset onMR2
T1匹配寄存
器0
T1匹配寄存器1 T1匹配寄存
器2
T1匹配寄存
器3
32位数据
32位数据
Int. on MR2
Stop onMR1
Reset onMR1
MR3 Int. on MR1
MR3 Stop onMR0
MR3 Reset on MR0
MR2
Int. on MR0
32位数据32位数据Stop onReset onInt. on Stop on
32位数据
32位数据
LPC2114_2124_2212_2214-02-中文手册
续上表… 地址偏移
名称
描述访问
4个保留位(-)
Int. on
寄存器
Cpt.3
falling
Int. on Cpt.2 falling
T1捕获寄存
器0
T1捕获寄存
器1
T1捕获寄存
器2
T1捕获寄存
器3
T1外部匹配
寄存器
4个保留位(-)
外部匹配控制1
外部匹配控制0
外部匹配控制3 外部 Mtch.3
UART0 0xE000C000
U0RBR (DLAB=0) U0THR (DLAB=0) U0DLL (DLAB=1)
0xE000C004
U0IER (DLAB=0)
U0除数锁存LSB
U0中断使能使能Rx
线状态Int.
U0DLM (DLAB=1)
0xE000C008
U0除数锁存MSB
U0 FIFO使能
使能THRE Int.
使能Rx数据Av.Int.
U0发送保持 U0接收缓冲
外部 Mtch2.
外部匹配控制2 外部 Mtch.1
外部 Mtch.0
Int. on
Int. on
Cpt.2
Cpt.1
rising
falling
rising
Cpt.1
Cpt.1
Cpt.0
falling
rising
Int. on
Int. on
Int. on
Cpt.0
Cpt.0
rising
Int. on
Int. on
Cpt.3
Cpt.3
Cpt.2
Int. on
Int. on
Int. on
复位值
T1捕获控制
32位数据32位数据32位数据32位数据8位数据未定义
8位数据8位数据8位数据中断使能U0 Rx FIFO控制触发FIFO复位
U0线控制设置间
隔
U0线状态FIFO
错误
U0高速缓存
TEMT
奇偶固定
偶选择
奇偶使能
停止位个数
FIFO复位
字长度选择8位数据
LPC2114_2124_2212_2214-02-中文手册
续上表… 地址偏移
名称
描述访问
复位值
UART1
0xE0010000
U1RBR (DLAB=0) U1THR (DLAB=0) U1DLL (DLAB=1)
0xE0010004
U1IER (DLAB=0)
U1除数锁存LSB
U1中断使能使能
Modem状态 Int.
U1DLM (DLAB=1)
0xE0010008
U1除数锁存MSB
使能Rx线状态Int.
使能THRE Int.
使能Rx数据Av.Int.
U1发送保持 U1接收缓冲
8位数据未定义
8位数据8位数据8位数据中断使能U1 Rx FIFO控制触发FIFO复位
FIFO复位
字长度选择U1 FIFO使能
U1线控制设置间
隔
U1 Modem控
制
U1线状态FIFO
错误
U1高速缓存 U1 Modem状
态
奇偶固定
偶选择奇偶使能
停止位个数
回送8位数据Delta DCD后沿RIDelta DSR Delta CTS0
PWM
PWM中断
Int.-
PWM定时器
控制
PWM定时器
计数器
-
-
-
MR3 Int.
MR2 Int.
MR1 Int. MR0 Int.
CTR
使能
复位
使能
32位数据PWM预分频位数据PWM预分频
器计数器
32位数据
LPC2114_2124_2212_2214-02-中文手册
续上表… 地址偏移
名称
描述访问
11位保留(-)Reset on
MR6
Int. on MR5 Reset on MR2
PWM匹配寄
存器0
PWM匹配寄
存器1
PWM匹配寄
存器2
PWM匹配寄
存器3
PWM匹配寄
存器4
PWM匹配寄
存器5
PWM匹配寄
存器6
PWM控制
-
- 32位数据
Stop on MR4 Int. on MR2
Reset on MR4 Stop on MR1
Int. on MR4 Reset on MR1
MR6 Stop on MR3 Int. on MR1
Int. on MR6 Reset on MR3 Stop on MR0
Stop on MR5 Int. on MR3 Reset on MR0
Reset on MR5 Stop on MR2 Int. on MR0
复位值
PWM匹配控
制
32位数据32位数据32位数据32位数据32位数据32位数据PWM锁存使
能
-
使能PWM M6锁存
I2C
I2C控制设置I2C状态 I2C数据 I2C从地址 SCL占空比寄
存器高半字
SCL占空比寄
存器低半字
I2C控制清零使能PWM M5锁存
使能PWM M4锁存
使能PWM M3锁存
使能PWM M2锁存
使能PWM
使能PWM
M1锁存 M0锁存
5位状态8位数据7位数据16位数据16位数据SPI0
SPI0控制SPI0状态WCOLSPI0数据 SPI0时钟计数
器
ROVR
MODF
8位数据8位数据
LPC2114_2124_2212_2214-02-中文手册
续上表… 地址偏移
名称
描述访问
复位值
SPI0中断标志SPI1
SPI1控制SPI1状态WCOLSPI1数据 SPI0时钟计数
器
SPI1中断标志ROVR
MODF
8位数据8位数据RTC
中断位置时钟节拍计数
器
时钟控制计数器递增中
断寄存器
IM YEAR
IM MON
IM DOY AMR DOY
IM DOW AMR DOW
IM DOM AMR DOM
IM HOURAMR HOUR
IM MIN AMR MIN 星期(3位)
IM SEC AMR SEC
15位数据报警屏蔽AMR
YEAR
完整时间寄存
器0
MON
小时(5位) 分(6位) 秒(6位)
完整时间寄存
器1
年(12位)
月(4位)
日(月份)(5位)
日(年)(12位)完整时间寄存
器2
20位保留(-)
秒寄存器分寄存器小时寄存器日期(月)寄存
器
6位数据6位数据5位数据5位数据星期寄存器日期(年)寄存
器
月寄存器年寄存器
7位保留(-)
3位数据9位数据4位数据4位保留(-)位数据6位数据6位数据5位数据秒报警值分报警值小时报警值
LPC2114_2124_2212_2214-02-中文手册
续上表… 地址偏移
名称
描述访问
复位值
日期(月)报警
值
5位数据星期报警值日期(年)报警
值
月报警值年报警值 预分频值整数
部分
预分频值小数
部分
7位保留(-)
3位数据9位数据4位数据4位保留位数据3位保留(-)位数据位数据GPIO PORT0
GPIO 0管脚
值
GPIO 0输出
设置
GPIO 0方向
控制
GPIO 0输出
清零
GPIO PORT1
GPIO 1管脚
值
GPIO 1输出
设置
GPIO 1方向
控制
GPIO 1输出
清零
GPIO PORT2
0xE0028020 IO2PIN GPIO 2管脚
值
0xE0028024 IO2SET GPIO 2输出
设置
0xE0028028 IO2DIR GPIO 2方向
控制
0xE002802C IO2CLR GPIO 2输出
清零
GPIO PORT3
0xE0028030 IO3PIN GPIO 3管脚
值
32位数据32位数据32位数据32位数据32位数据32位数据32位数据32位数据32位数据 RO NA
32位数据 R/W 0
32位数据 R/W 0
32位数据 WO 0
32位数据 RO NA
LPC2114_2124_2212_2214-02-中文手册
续上表… 地址偏移
名称
描述访问
复位值
0xE0028034 IO3SET GPIO 3输出
设置
0xE0028038 IO3DIR GPIO 3方向
控制
0xE002803C IO3CLR GPIO 3输出
清零
管脚连接模块
管脚功能选择
寄存器0
管脚功能选择
寄存器1
0xE002C014
PINSEL2
管脚功能选择寄存器2
32位数据 R/W 0
32位数据 R/W 0
32位数据 WO 0
32位数据32位数据R/W 0 -
24位管脚配置数据(144脚封装)
保留位(64脚封装)
配置数据 -
ADC
ADC控制
8位数据 8位数据
ADC数据
RUN
- 10位数据
系统控制模块
MAM控制2位数据MAM时间控
制
存储器映射控
制
PLL控制PLL配置2位数据位数据PLL状态
PLOCK
2位数据3位数据CLKS
位数据位数据MSEL
PLL馈送
8位数据功率控制外设功率控制
PC I2C
19位保留(-) PCAD - PCSPI1
PC
PWM0
UART1
PC UART0
PC TIM1
PCRTC PC TIM0
PCSPI0 -
LPC2114_2124_2212_2214-02-中文手册
续上表…
LPC2114_2124_2212_2214-02-中文手册
续上表… 地址偏移
名称
描述访问
复位值
n
保护使能位数据向量地址位数据默认向量地址位数据Addr
向量地址位数据0
向量地址位数据1
:
向量地址位数据15
1
向量控制0寄存器 向量控制1寄存器
:
15
向量控制15寄存器
1位数据
5位数据1位数据
5位数据1位数据
5位数据
2. LPC2114/2124/2212/2214存储器寻址
存储器映射
LPC2114/2124/2212/2214包含几个不同的存储器组,见以下各图。图2所示为复位后从用户角度所看到的整个地址空间映射。中断向量支持地址的重新映射,详见后面的章节。
LPC2114_2124_2212_2214-02-中文手册
4.0 GB
AHB外设
3.75 GB
VPB外设
3.5 GB
0xFFFF FFFF0xF000 00000xE000 0000
3.0 GB
保留给外部存储器
0xC000 0000
2.0 GB
BootBlock
(从片内Flash存储器重新映射)
0x8000 0000
保留给片内存储器
1.0 GB
16 kB片内静态RAM
0x40003FFF0x4000 0000
256 kB片内非易失性存储器 (LPC2212/2214)128 kB片内非易失性存储器
(LPC2114/2124)
0.0 GB
图2 系统存储器映射
0x0004 00000x0003 FFFF0x0002 00000x0001 FFFF0x0000 0000
LPC2114_2124_2212_2214-02-中文手册
4.0 GB
AHB外设
4.0 GB -2 MB
0xFFFF FFFF0xFFE0 0000
0xFFDF FFFF
保留
3.75 GB
0xF000 00000xEFFF FFFF
保留
3.5 GB +2 MB
VPB外设
3.5 GB
0xE020 00000xE01F FFFF0xE000 0000
注:
-AHB部分是128×16kB的范围(共2MB)。 -VPB部分是128×16kB的范围(共2MB)。
图3 外设存储器映射
图3~5显示了从不同角度所观察到的外设地址空间。AHB和VPB外设区域都为2M字节,可各自分配最多128个外设。每个外设空间的规格都为16k字节。这样可简化每个外设的地址译码。所有外设寄存器不管规格大小,都按照字地址进行分配(32位边界)。这样就不再需要使用字节定位的硬件来进行小边界的字节(8位)或半字(16位)访问。不管字还是半字寄存器都是一次性访问。例如,不可能对一个字寄存器的最高字节执行单独的读或写操作。
LPC2114_2124_2212_2214-02-中文手册
向量中断控制器
0xFFFF F000 (4G - 4K)0xFFFF C000
(AHB外设#126)
0xFFFF 8000
(AHB外设#125)
0xFFFF 4000
(AHB外设#124)
0xFFFF 0000
0xFFE1 0000
(AHB外设# 3)
0xFFE0 C000
(AHB外设# 2)
0xFFE0 8000
(AHB外设# 1)
0xFFE0 4000
(AHB外设# 0)
0xFFE0 0000
图4 AHB外设映射
LPC2114_2124_2212_2214-02-中文手册
系统控制模块
(VPB外设 #127)
0xE01F FFFF0xE01F C000
(VPB外设 #14-126)
未使用
10位 A/D(VPB外设 #13)SPI1
(VPB外设 #12)管脚连接模块(VPB外设 #11)
GPIO
(VPB外设 #10)
RTC
(VPB外设 #9)
(VPB外设 #8)
IC
(VPB外设 #7)
未使用(VPB外设 #6)PWM0(VPB外设 #5)UART1(VPB外设 #4)UART0(VPB外设 #3)TIMER1(VPB外设 #2)TIMER0(VPB外设 #1)看门狗定时器(VPB外设 #0)图5 VPB外设映射
0xE003 80000xE003 40000xE003 00000xE002 C0000xE002 80000xE002 40000xE002 00000xE001 C0000xE001 80000xE001 40000xE001 00000xE000 C0000xE000 80000xE000 40000xE000 0000
LPC2114/2124/2212/2214存储器重新映射和BOOT BLOCK
存储器映射概念和操作模式
LPC2114/2124/2212/2214的基本的概念是:每个存储器组在存储器映射中都有一个“物理上的”位置。
它是一个地址范围,该范围内可写入程序代码。每一个存储器空间的容量都永久固定在同一个位置,这样就不需要将代码设计成在不同地址范围内运行。
LPC2114_2124_2212_2214-02-中文手册
Boot Block和SRAM由于ARM7处理器上的中断向量位置(地址0x0000 0000~0x0000 001C,见表3),
空间的一小部分需要重新映射来实现在不同操作模式下对中断的使用,见表4。中断的重新映射通过存储器映射控制特性来实现,详见系统控制模块一节。
表3 ARM异常向量位置 地址 0x0000 0000 0x0000 0004 0x0000 0008 0x0000 000C 0x0000 0010 0x0000 0014 0x0000 0018 0x0000 001C
异常
复位 未定义指令 软件中断
预取指中止(从存储器取指出错) 数据中止(数据访问存储器出错) 保留 * IRQ FIQ
* 在ARM文档中标识为保留,该位置被Boot装载程序用作有效的用户程序关键字。详见Flash存储
器系统和编程的相关内容。
表4 LPC2114/2124/2212/2214存储器映射模式 模式 Boot装载程序
激活
用途
由任何复位硬件激活 在任何复位后都会执行Boot装载程序。Boot Block中断向量映射
到存储器的底部以允许处理异常并在Boot模式
用户Flash模式 由Boot代码软件激活当在存储器中识别了一个有效的用户程序标识并且Boot装载操
作未被执行时,由Boot它位于Flash存储器的底部。
用户RAM模式 由用户程序软件激活 由用户程序激活。中断向量重新映射到静态RAM的底部。 用户外部模式
复位时BOOT1:0不为当一个或两个BOOT管脚在RESET低电平结束时为低时由Boot11时激活
装载程序激活。中断向量从外部存储器映射的底部重新映射。 注:该模式只适用于LPC2212/2214!
存储器的重新映射
为了与将来器件相兼容,整个Boot Block都被映射到片内存储器空间的顶端。在这种方式下,使用较大或较小的Flash模块都不需要改变Boot Block(需要改变Boot装载程序自身的代码)的位置或改变Boot Block中断向量的映射。除了中断向量之外的存储器空间都保持固定的位置。图6所示为使用上述定义的模
式映射的片内存储器。
存储器重新映射的部分允许在不同模式下处理中断,它包括中断向量区(32字节)和额外的32字节,一共是64字节。重新映射的代码位置与地址0x0000 0000~0x0000 003F重叠。一个位于Flash存储器中的典型用户程序可以将整个FIQ处理程序放置在地址0x0000 001C而不需要考虑存储器的边界。包含在SRAM、外部存储器和Boot Block中的向量必须包含跳转到实际中断处理程序的分支或者其它执行跳转到
中断处理程序的转移指令。
选择这种配置有三个原因: 1. 2. 3.
使Flash存储器中的FIQ处理程序不必考虑因为重新映射所导致的存储器边界问题。 用来处理代码空间中段边界仲裁的SRAM和Boot Block向量的使用大大减少。 为超过单字转移指令范围的跳转提供空间来保存常量
重新映射的存储器组,包括Boot Block和中断向量,除了重新映射的地址外,仍然继续出现在它们最
LPC2114_2124_2212_2214-02-中文手册
初的位置。
有关重新映射及其举例详见系统控制模块。
0x8000 0000
0x7FFF FFFF
2.0 GB2.0 GB - 8K
8K byte Boot Block
(从Flash存储器顶部重新映射)
保留给片内存储器
16 kB片内 SRAM
1.0 GB
0x4000 4000
0x4000 3FFF
(SRAM中断向量)
0x4000 00000x3FFF FFFF
保留给片内存储器
(8k字节的 Boot Block重新映射到更高的地址范围)
0x0002 00000x0001 FFFF
128K字节Flash存储器
0.0 GB
有效的中断向量(来自Flash, SRAM或 Boot Block)
0x0000 0000
注:存储器组并不是按比例绘制的。
图6 显示已重新映射和可重新映射区域的低存储器空间
预取指中止和数据中止异常
如果试图访问一个保留地址或未分配区域的地址,LPC2114/2124/2212/2214将产生适当的总线周期中止异常。这些区域包括:
特定的ARM器件所没有的存储器映射区域。对于LPC2114/2124/2212/2214,它们是:
-片内非易失性存储器与片内SRAM之间的地址空间,在图2和图6中标为“保留给片内存储
LPC2114_2124_2212_2214-02-中文手册
器”。对于128kB Flash器件来说,它们是0x0002 0000到0x3FFF FFFF的存储器地址空间;而对于256kB Flash器件来说,它们是0x0004 0000到0x3FFF FFFF的存储器地址空间。 -片内静态RAM与外部存储器之间的地址空间,在图2中标为“保留给片内存储器”。地址范围从0x4000 3FFF到0x7FFF DFFF。
-外部存储器,但由144脚封装中EMC提供的除外。 -AHB和VPB空间的保留区域,见图3。 未分配的AHB外设空间,见图4。 未分配的VPB外设空间,见图5。
对于这些区域,对数据的访问和对指令的取指都会产生异常。此外,对AHB或PVB外设地址执行任何指令取指都会导致产生预取指中止异常。
在现有的VPB外设地址空间内,对未定义地址的访问不会产生数据中止异常。每个外设内的地址译码被限制为外设内部需要判别的已定义寄存器。例如,对地址0xE000D000(UART0空间内一个未定义的地址)的访问可能导致对定义在地址0xE000C000处的寄存器进行访问。一个外设内的这样一种地址混淆在LPC2114/2124/2212/2214文档中没有定义,并且它也不是一个被LPC2114/2124/2212/2214支持的特性。
需要注意的是,只有在试图执行从非法地址取指的指令时,ARM才会将预取指中止标志与相关的指令(没有意义的指令)一起保存到流水线并对中止进行处理。当代码在非常靠近存储器边界执行时,这样防止了由预取指所导致的意外中止。
3. 外部存储器控制器(EMC)
只有LPC2212和LPC2214含有该模块。
特性
支持静态存储器映射器件,包括RAM、ROM、Flash、Burst ROM和一些外部I/O器件。 在未锁定存储器子系统中可执行异步页模式读操作。 可对突发模式ROM器件进行异步突发模式读访问。
可对高达4个存储器组进行单独配置,每个存储器组可包含多达16M字节。 总线往返(空闲)周期(1~16)可编程。
可对静态RAM器件的读和写WAIT状态(高达32个)进行编程。 可编程Burst ROM器件的初始和连续读WAIT状态。 可编程写保护。 可编程突发模式的操作。
。 可编程外部数据总线宽度(8、16或32位) 可编程读字节定位使能控制。
概述
外部静态存储器控制器是一个AMBA AHB从机模块,它为AMBA AHB系统总线和外部(片外)存储器器件提供了一个接口。该模块可同时支持多达4个单独配置的存储器组。每个存储器组都支持SRAM、ROM、Flash EPROM、Burst ROM存储器或一些外部I/O器件。
每个存储器组的总线宽度为8、16或32位。
只有LPC2212和LPC2214含有该模块。144脚封装器件的管脚地址输出线是A[23:0],其中地址位A[25:24]用于4个存储器组的译码。4个存储器组的有效区域位于外部存储器的起始部分,如图2所示,但
在BOOT[1:0]的状态控制下,Bank 0可用于初始引导。
正在阅读:
LPC2114_2124_2212_2214-02-中文手册05-19
石柱县博爱家园项目总结报告 - 图文01-22
关于做好春节放假期间安全保卫工作的04-20
01m自动变速器阀体06-11
如何做好高中数学教学的课前预习07-18
第四组智能小车论文 - 图文06-18
期货交易相关业务及技术培训教材02-20
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 中文
- 手册
- 2114
- 2124
- 2212
- 2214
- LPC
- 02