Chinaunix首页 | 论坛 | 博客
  • 博客访问: 48782
  • 博文数量: 25
  • 博客积分: 1415
  • 博客等级: 上尉
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-13 05:50
文章分类

全部博文(25)

文章存档

2011年(5)

2010年(1)

2009年(19)

我的朋友

分类: LINUX

2009-04-13 09:40:54

 
//自己理了一下ARM的一些概念
;-------------------------------------------------------

 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

阅读(1819) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~