本文系转载
出处http://blog.sina.com.cn/s/blog_5eafc0610100cd2d.html
1.ARM 的地址支持每个bank 128M 的地址空间, 总共有8个bank。
2.程序可访问的数据带宽是8/16/32 -bit 除了bank0, bank0支持的是 16/32-bit。
3.有六个bank是支持 ROM 和 SRAM的. 余下的两个还支持SDRAM.
4.七个固定的bank的起始地址. 一个bank是可变地址和可变大小
5.提供SDRAM的自刷新和 省电模式
ARM的地址线是27根, 2的27次方正好是128M的地址范围,其中地址总线有关的引脚是有和GPIO口有关的引脚 和 专门的地址功能的引脚组成的。其中地址总线的ADDR0,ADDR16—ADDR26 与有GPA的功能引脚GPA0 和 GPA1—10 相关的。剩下的16根地址线是专门的地址线,没有和GPIO口相关联。
ARM的启动方式 可以是Nor Flash 启动 也可以是Nand Flash 启动,因为ARM内部有一个4K的SteppingStone的cache, 因此可以支持Nand Flash的启动。可以通过对引脚OM1 , 和OM0 的电平的改变, 使得改变ARM的启动方式。00 是Nand flash的模式, 1 0是Nor Flash 32 位启动的模式。
内存(SROM/SDRAM)地址与引脚联系
内存地址引脚(非实际的地址) 8位数据的地址总线 16数据位 32位数据
A0 A0 A1 A2
A1 A1 A2 A3
以后的依次类推
正是因为如此 对于友善之臂的MINI2440 的SDRAM 和 Nor Flash的地址分配正式因为这个原理。
Mini2440 的Nor Flash用的是16*1M的 AM29LV160DB 芯片,他的起始地址引脚是A1.
虽然SDRAM HY57V561620 是 16*32M. 但是由于mini2440使用了两块SDRAM 并联的方式这样使得有了32位的效果, 所以其实是32位的数据,所以起始的地址引脚是A2
Bank0 是映射到地址0x000000000 上。
Bank6是可变的bank 而bank7 是起始地址可变的bank,当然bank7的起始地址还是由bank6决定的。 Bank6的大小是2的自然数的次方M的大小 。起始地址是0x3000 0000。
BWSCON( bus width & wait control register) Address 0x48000000
改寄存器的所有位分为8组,每组4位。以其中一组为例子:
DW1[5:4] Determine data bus width for bank1
WS1[6] Determines WAIT status for bank1
ST1[7] Determines SRAM for using UB/LB for bank1
Bank0 有些特殊
[0] à reserve
[3] à not in use
DW0 [2:1] indicate data bus with for bank0 only 01 = 16bit , 10=32bit the states selected by OM[1:0]
BANKCONn(bank control register) n= 0 --5 对Tacs Tcos Tacc等的控制
BANKCONn n="6",7 对 MT(determine the memory type ROM,SRAM or SDRAM for bank6, bank7),Tacs Tcos等的控制.
REFRESH refresh control register address 0x48000024
BANKSIZE 对bank6大小的设置
MSRSB6 MSRSB7 SDRAM Mode register set register à can not reconfigure when the code is running on SDRAM
文章评论(0条评论)
登录后参与讨论