登录站点

用户名

密码

ARM 的地址空间 以及 引脚的定义(转载)

已有 104 次阅读  2013-03-15 14:53   标签空间 

ARM 的地址空间 以及 引脚的定义(转载)


发布: 2009-5-13 14:11 |  作者: hnrain |   查看: 153次


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

上一篇: stm32应用例程 下一篇: MFC中获得各个类的指针/句柄的总结

分享 举报