2440的启动可以是从Nor Flash地址启动也可以从Nand Flash启动
通过设置 Bus Controlller寄存器的OM[1:0]bit位可以设置2440的启动模式,00为Nand启动,01或10为外接Nor Flash的Nor启动。
1.Nor Flash启动
Nor Flash启动模式下,Nor Flash的基地址是0地址,片内RAM的0地址的0x40000000,Nor Flash直接与CPU传输数据,不需要通过片内RAM的中转。
2.Nand Flash启动
Nand Flash启动模式下,片内RAM的基地址是从0地址开始,数据传输时,Nand Flash先把4K字节的内容放到RAM上,RAM传输给CPU,接着再去取下面的数据内容。
3.CPU的地址访问
1)访问ROM芯片
2)访问SRAM芯片
3)访问SDRAM芯片
不管是对ROM、SRAM、SDRAM的内存控制,CPU与外部内存芯片的内存接口都有这样的规律:
注:地址总线(A) 数据总线(D)
8bit位宽下 ,CPU A0->芯片A0,CPU A1->芯片A1,…,CPU A15->芯片A15
16bit位宽下, CPUA1->芯片A0,CPU A2->芯片A1,…
32bit位宽下,CPUA2->芯片A0,CPU A3->芯片A1,…
这样设计的目的是:以2进制来解释的话比较好,A2A1A0对应二进制的B2B1B0,
当8bit位宽时,CPU的A2A1A0地址都与芯片地址相连,内存的访问都是以8bit(即一个字节来访问),符合8bit位宽。当16bit位宽是,由于CPU的A0没有与芯片的地址线相连,内存的访问都是以2字节访问的,相同,32bit位宽就是以4字节访问的。
内存的访问地址范围 = 片选信号端基地址+内存大小