K60Rev6Ch27FlashMemoryController中文.docx
《K60Rev6Ch27FlashMemoryController中文.docx》由会员分享,可在线阅读,更多相关《K60Rev6Ch27FlashMemoryController中文.docx(40页珍藏版)》请在冰豆网上搜索。
K60Rev6Ch27FlashMemoryController中文
第27章FLASH内存控制器(FMC)
27.1介绍
FLASH内存控制器(FMC)是一个内存加速单元提供:
●在设备和双行之间的一个接口,64位不易失性内存。
●缓存可以加速FLASH,和FlexNVM数据传输。
27.1.1概述
FLASH内存控制器管理设备和双行之间的一个接口,64位不易失性内存。
FMC接收状态信息详细记录了内存的配置,使用该信息可确保一个正确的接口。
下表显示了支持8位,16位和32位读/写操作。
Flash内存类型
读
写
编程Flash内存
X
—1
FlexNVM
X
—1
FlexRAM
X
X
另外,FMC位加速设备和Flash内存之间的接口提供了3个分开的机制。
一个64位预缓冲可以预先得到下一个64位flash内存的位置,两个4路,8位设置的缓存和一个单入口的64位缓冲可以存储预先访问的flash内存或者快速访问时间的FlexMemory数据。
27.1.2特征
FMC特征包括:
1.flash内存的一个写操作或者在错误环境了的FlexNVM结果。
●设备和双行之间的一个接口,64位flash内存和FlexMemory:
●8位,16位,32位读操作到程序flash内存和FlexNVM。
●8位,16位,32位读操作和写操作到FlexRAM作为EEPROM。
●连续的读访问(如0x0,,0x4)返回第二次读数据且没有等待状态。
内存通过32位总线访问返回64位。
●为设置没有访问,只读访问,只写访问提供保护的交叉主访问,或位每个交叉主访问的读写访问。
●加速从flash内存和FlexMemory到设备的数据传输:
●每个主机和行的指令/数据访问的带有控制的64位预缓冲
●带有每行替换算法和每行锁定控制的32个64位条目的4路,8集,64位行大小的缓存。
●可以使能每行的单条目的缓存
●每个缓存的无效控制。
27.2操作模式
FMC只在设备访问flash内存或者FlexMemory时操作。
就设备电源模式而言:
●FMC只在运行和等待模式操作,包括VLPR和VLPW模式。
●对于任何模式,在FMC禁止时,FlexMemory或者flash内存不能被访问。
27.3外部信号描述
FMC没有外部信号
27.4内存映射和寄存器描述
编程模型包括FMC控制寄存器和编程可见的缓存(数据和标签/有效条目)。
注解
当flash控制器空闲时只能编程寄存器(比如:
从RAM执行)。
在flash访问的过程中改变配置设置可以导致非确定性的行为。
注解
在FMC4KB地址空间内访问为实现的寄存器可以导致没有定义行为。
注解
当任何flash缓存的部分被编程时系统软件的需要保持内存的连续性。
例如:
所有重新编程的flash数据缓冲续保持无效性。
相应地,缓存编程可见写必须发生在一个编程或者擦除事件之后,在内存图像访问之前。
内存图像可见写必须32位长,必须在特权模式下执行。
缓存是一个4路,8集的缓存。
0-3路,0-7集。
在下表详细描述了标签/有效性数据条目。
表27-2程序可见缓存寄存器
缓存存储
偏移
32位读内容
命名
命名例子
Directory
100h
13’h0,tag[18:
6],5’h0,有效
在TAGVDWxSy,x表示way,y表示set
TAGVDW2S7isthe13-bittagand1-bitvalidforcacheentryway2,set7.
Data
200h
数据字的大写或小写
在DATAWxSyU和DATAWxSyL,x表示way,y表示set,U和L分别表示大写字和小写字。
DATAW1S3Urepresentsbits[63:
32]ofdataentryway1,set3,andDATAW1S3Lrep'
resentsbits[31:
0]ofdataen'
tryway1,set3.
FMC内存映射
Absoluteaddress(hex)
Registername
Width
(inbits)
Access
Resetvalue
Section/
page
4001_F000
FlashAccessProtectionRegister(FMC_PFAPR)
32
R/W
00F8_003Fh
27.4.1/
619
4001_F004
FlashBank0ControlRegister(FMC_PFB0CR)
32
R/W
3002_001Fh
27.4.2/
622
4001_F008
FlashBank1ControlRegister(FMC_PFB1CR)
32
R/W
3002_001Fh
27.4.3/
624
4001_F100
CacheDirectoryStorage(FMC_TAGVDW0S0)
32
R/W
0000_0000h
27.4.4/
626
4001_F104
CacheDirectoryStorage(FMC_TAGVDW0S1)
32
R/W
0000_0000h
27.4.4/
626
4001_F108
CacheDirectoryStorage(FMC_TAGVDW0S2)
32
R/W
0000_0000h
27.4.4/
626
4001_F10C
CacheDirectoryStorage(FMC_TAGVDW0S3)
32
R/W
0000_0000h
27.4.4/
626
4001_F110
CacheDirectoryStorage(FMC_TAGVDW0S4)
32
R/W
0000_0000h
27.4.4/
626
4001_F114
CacheDirectoryStorage(FMC_TAGVDW0S5)
32
R/W
0000_0000h
27.4.4/
626
4001_F118
CacheDirectoryStorage(FMC_TAGVDW0S6)
32
R/W
0000_0000h
27.4.4/
626
4001_F11C
CacheDirectoryStorage(FMC_TAGVDW0S7)
32
R/W
0000_0000h
27.4.4/
626
4001_F120
CacheDirectoryStorage(FMC_TAGVDW1S0)
32
R/W
0000_0000h
27.4.5/
627
4001_F124
CacheDirectoryStorage(FMC_TAGVDW1S1)
32
R/W
0000_0000h
27.4.5/
627
4001_F128
CacheDirectoryStorage(FMC_TAGVDW1S2)
32
R/W
0000_0000h
27.4.5/
627
4001_F12C
CacheDirectoryStorage(FMC_TAGVDW1S3)
32
R/W
0000_0000h
27.4.5/
627
4001_F130
CacheDirectoryStorage(FMC_TAGVDW1S4)
32
R/W
0000_0000h
27.4.5/
627
4001_F134
CacheDirectoryStorage(FMC_TAGVDW1S5)
32
R/W
0000_0000h
27.4.5/
627
4001_F138
CacheDirectoryStorage(FMC_TAGVDW1S6)
32
R/W
0000_0000h
27.4.5/
627
4001_F13C
CacheDirectoryStorage(FMC_TAGVDW1S7)
32
R/W
0000_0000h
27.4.5/
627
4001_F140
CacheDirectoryStorage(FMC_TAGVDW2S0)
32
R/W
0000_0000h
27.4.6/
627
4001_F144
CacheDirectoryStorage(FMC_TAGVDW2S1)
32
R/W
0000_0000h
27.4.6/
627
4001_F148
CacheDirectoryStorage(FMC_TAGVDW2S2)
32
R/W
0000_0000h
27.4.6/
627
4001_F14C
CacheDirectoryStorage(FMC_TAGVDW2S3)
32
R/W
0000_0000h
27.4.6/
627
4001_F150
CacheDirectoryStorage(FMC_TAGVDW2S4)
32
R/W
0000_0000h
27.4.6/
627
4001_F154
CacheDirectoryStorage(FMC_TAGVDW2S5)
32
R/W
0000_0000h
27.4.6/
627
4001_F158
CacheDirectoryStorage(FMC_TAGVDW2S6)
32
R/W
0000_0000h
27.4.6/
627
4001_F15C
CacheDirectoryStorage(FMC_TAGVDW2S7)
32
R/W
0000_0000h
27.4.6/
627
4001_F160
CacheDirectoryStorage(FMC_TAGVDW3S0)
32
R/W
0000_0000h
27.4.7/
628
4001_F164
CacheDirectoryStorage(FMC_TAGVDW3S1)
32
R/W
0000_0000h
27.4.7/
628
4001_F168
CacheDirectoryStorage(FMC_TAGVDW3S2)
32
R/W
0000_0000h
27.4.7/
628
4001_F16C
CacheDirectoryStorage(FMC_TAGVDW3S3)
32
R/W
0000_0000h
27.4.7/
628
4001_F170
CacheDirectoryStorage(FMC_TAGVDW3S4)
32
R/W
0000_0000h
27.4.7/
628
4001_F174
CacheDirectoryStorage(FMC_TAGVDW3S5)
32
R/W
0000_0000h
27.4.7/
628
4001_F178
CacheDirectoryStorage(FMC_TAGVDW3S6)
32
R/W
0000_0000h
27.4.7/
628
4001_F17C
CacheDirectoryStorage(FMC_TAGVDW3S7)
32
R/W
0000_0000h
27.4.7/
628
4001_F200
CacheDataStorage(upperword)(FMC_DATAW0S0U)
32
R/W
0000_0000h
27.4.8/
629
4001_F204
CacheDataStorage(lowerword)(FMC_DATAW0S0L)
32
R/W
0000_0000h
27.4.9/
630
4001_F208
CacheDataStorage(upperword)(FMC_DATAW0S1U)
32
R/W
0000_0000h
27.4.8/
629
4001_F20C
CacheDataStorage(lowerword)(FMC_DATAW0S1L)
32
R/W
0000_0000h
27.4.9/
630
4001_F210
CacheDataStorage(upperword)(FMC_DATAW0S2U)
32
R/W
0000_0000h
27.4.8/
629
4001_F214
CacheDataStorage(lowerword)(FMC_DATAW0S2L)
32
R/W
0000_0000h
27.4.9/
630
4001_F218
CacheDataStorage(upperword)(FMC_DATAW0S3U)
32
R/W
0000_0000h
27.4.8/
629
4001_F21C
CacheDataStorage(lowerword)(FMC_DATAW0S3L)
32
R/W
0000_0000h
27.4.9/
630
4001_F220
CacheDataStorage(upperword)(FMC_DATAW0S4U)
32
R/W
0000_0000h
27.4.8/
629
4001_F224
CacheDataStorage(lowerword)(FMC_DATAW0S4L)
32
R/W
0000_0000h
27.4.9/
630
4001_F228
CacheDataStorage(upperword)(FMC_DATAW0S5U)
32
R/W
0000_0000h
27.4.8/
629
4001_F22C
CacheDataStorage(lowerword)(FMC_DATAW0S5L)
32
R/W
0000_0000h
27.4.9/
630
4001_F230
CacheDataStorage(upperword)(FMC_DATAW0S6U)
32
R/W
0000_0000h
27.4.8/
629
4001_F234
CacheDataStorage(lowerword)(FMC_DATAW0S6L)
32
R/W
0000_0000h
27.4.9/
630
4001_F238
CacheDataStorage(upperword)(FMC_DATAW0S7U)
32
R/W
0000_0000h
27.4.8/
629
4001_F23C
CacheDataStorage(lowerword)(FMC_DATAW0S7L)
32
R/W
0000_0000h
27.4.9/
630
4001_F240
CacheDataStorage(upperword)(FMC_DATAW1S0U)
32
R/W
0000_0000h
27.4.10/
631
4001_F244
CacheDataStorage(lowerword)(FMC_DATAW1S0L)
32
R/W
0000_0000h
27.4.11/
631
4001_F248
CacheDataStorage(upperword)(FMC_DATAW1S1U)
32
R/W
0000_0000h
27.4.10/
631
4001_F24C
CacheDataStorage(lowerword)(FMC_DATAW1S1L)
32
R/W
0000_0000h
27.4.11/
631
4001_F250
CacheDataStorage(upperword)(FMC_DATAW1S2U)
32
R/W
0000_0000h
27.4.10/
631
4001_F254
CacheDataStorage(lowerword)(FMC_DATAW1S2L)
32
R/W
0000_0000h
27.4.11/
631
4001_F258
CacheDataStorage(upperword)(FMC_DATAW1S3U)
32
R/W
0000_0000h
27.4.10/
631
4001_F25C
CacheDataStorage(lowerword)(FMC_DATAW1S3L)
32
R/W
0000_0000h
27.4.11/
631
4001_F260
CacheDataStorage(upperword)(FMC_DATAW1S4U)
32
R/W
0000_0000h
27.4.10/
631
4001_F264
CacheDataStorage(lowerword)(FMC_DATAW1S4L)
32
R/W
0000_0000h
27.4.11/
631
4001_F268
CacheDataStorage(upperword)(FMC_DATAW1S5U)
32
R/W
0000_0000h
27.4.10/
631
4001_F26C
CacheDataStorage(lowerword)(FMC_DATAW1S5L)
32
R/W
0000_0000h
27.4.11/
631
4001_F270
CacheDataStorage(upperword)(FMC_DATAW1S6U)
32
R/W
0000_0000h
27.4.10/
631
4001_F274
CacheDataStorage(lowerword)(FMC_DATAW1S6L)
32
R/W
0000_0000h
27.4.11/
631
4001_F278
CacheDataStorage(upperword)(FMC_DATAW1S7U)
32
R/W
0000_0000h
27.4.10/
631
4001_F27C
CacheDataStorage(lowerword)(FMC_DATAW1S7L)
32
R/W
0000_0000h
27.4.11/
631
4001_F280
CacheDataStorage(upperword)(FMC_DATAW2S0U)
32
R/W
0000_0000h
27.4.12/
632
4001_F284
CacheDataStorage(lowerword)(FMC_DATAW2S0L)
32
R/W
0000_0000h
27.4.13/
633
4001_F288
CacheDataStorage(upperword)(FMC_DATAW2S1U)
32
R/W
0000_0000h
27.4.12/
632
4001_F28C
CacheDataStorage(lowerword)(FMC_DATAW2S1L)
32
R/W
0000_0000h
27.4.13/
633
4001_F290
CacheDataStorage(upperword)(FMC_DATAW2S2U)
32
R/W
0000_0000h
27.4.12/
632
4001_F294
CacheDataStorage(lowerword)(FMC_DATAW2S2L)
32
R/W
0000_0000h
27.4.13/
633
4001_F298
CacheDataStorage(upperword)(FMC_DATAW2S3U)
32
R/W
0000_0000h
27.4.12/
632
4001_F29C
CacheDataStorage(lowerword)(FMC_DATAW2S3L)
32
R/W
0000_0000h
27.4.13/
633
4001_F2A0
CacheDataStorage(upperword)(FMC_DATAW2S4U)
32
R/W
0000_0000h
27.4.12/
632
4001_F2A4
CacheDataStorage(lowerword)(FMC_DATAW2S4L)
32
R/W
0000_0000h
27.4.13/
633
4001_F2A8
CacheDataStorage(upperword)(FMC_DATAW2S5U)
32
R/W
0000_0000h
27.4.12/
632
4001_F2AC
CacheDataStorage(lowerword)(FMC_DATAW2S5L)
32
R/W
0000_0000h
27.4.13/
633
4001_F2B0
CacheDataStorage(upperword)(FMC_DATAW2S6U)
32
R/W
0000_0000h
27.4.12/
632
4001_F2B4
CacheDataStorage(lowerword)(FMC_DATAW2S6L)
32
R/W
0000_0000h
27.4.13/
633
4001_F2B8
CacheDataStorage(upperword)(FMC_DATAW2S7U)
32
R/W
0000_0000h
27.4.12/
632
4001_F2BC
CacheDataStorage(lowerword)(FMC_DATAW2S7L)
32
R/W
0000_0000h
27.4.13/
633
4001_F2C0
CacheDataStorage(upperword)(FMC_DATAW3S0U)
32
R/W
0000_0000h
27.4.14/
633
4001_F2C4
CacheDataStorage(lowerword)(FMC_DATAW3S0L)
32
R/W
0000_0000h
27.4.15/
634
4001_F2C8
CacheDataStorage(upperword)(FMC_DATAW3S1U)
32
R/W
0000_0000h
27.4.14/
633
4001_F2