SDRAM地址:
电路中所用的芯片对应到PXA27x design guide.pdf第78/79页的表格(SDRAM Memory Types Supported by PXA27x Processor和Address signal mapping)中可以看到,所用的配置为16M*16,2Banks*13Rows*9Cols,32-bit bus,只有一个partition,由于CS接的是nSDCS0,所以所属的partition为partition0,对应到Memory Map中可以知道地址范围从A000,0000到A3FF,FFFF。电路图中的E2脚是没用的,但实际上仍接了电阻并接到nSDCS1上,远峰板没接。
Flash地址:
由于Flash芯片上所接片选信号为nCS0,所以对应为Static Chip Select 0,且只有一个Static Chip Select区,起始地址为0x0000,0000,从图中的Data bus接法(两片芯片分别接32-bit databus的高16和低16位)和Addr bus接法(芯片上的A1接CPU上的A2)都可以看出是32-bit bus,芯片容量为32M,所以地址范围为0x0000,0000到0x01FF,FFFF。电路中的WP脚在E28F128中没有说明,见Datasheet16页,但电路上有接,应该不起作用,查看远峰板也没接,所用芯片与我们一样。
Ethernet地址:
CS接nCS4,所以对应地址从0x1000_0000开始,Addrtable中有两个:
DCD 0x9A600000, 0x10000000, 1 ; MAINSTONEII: nCS4: SMSC 91C111 Ethernet controller1 a25=0.
DCD 0x9Ea00000, 0x12000000, 1 ; MAINSTONEII: nCS4: SMSC 91C111 Ethernet controller2 a25=1.
Controller2是不存在的。
DCD 0x84000000, 0x5C000000, 1 ; BULVERDE: Internal SRAM (64KB bank 0).参见Manual 28-10
DCD 0x84200000, 0x4C000000, 1 ; BULVERDE: USB host controller.参见Manual 28-2
DCD 0x84100000, 0x58000000, 1 ; BULVERDE: Internal memory PM registers.参见Manual 28-2。这里有问题,在28-2中只说了是Internal memory control,但Manual中找不到其它信息,以5800开头的地址中只有一个,Infrared Selection Register,跟Internal memory没关系。且前面注释中提到是PM registers,应该指的是PowerManagement,这个在Internal memory一章中也有提到,一个是PSTR,PM Standby Configuration Register,地址是0x40f0_0038;另一为PSLR,PM Sleep Configuration Register,地址为0x40f0_0034,两个都是Internal memory的控制寄存器。
DCD 0x84200000, 0x4C000000, 1 ; BULVERDE: USB host controller.参见Manual 20-47
DCD 0x84300000, 0x48000000, 1 ; BULVERDE: Memory controller.参见Manual 6-85
DCD 0x84400000, 0x44000000, 1 ; BULVERDE: LCD controller.参见Manual 7-120
DCD 0x84500000, 0x40000000, 32 ; BULVERDE: Memory-mapped registers (peripherals).参见Manual 5-51/28-12
DCD 0x86500000, 0x3C000000, 64 ; BULVERDE: PCMCIA S1 common memory space.
DCD 0x8A500000, 0x38000000, 32 ; BULVERDE: PCMCIA S1 attribute memory space.
DCD 0x8C500000, 0x30000000, 32 ; BULVERDE: PCMCIA S1 I/O space.
DCD 0x8E500000, 0x2C000000, 64 ; BULVERDE: PCMCIA S0 common memory space.
DCD 0x92500000, 0x28000000, 32 ; BULVERDE: PCMCIA S0 attribute memory space.
DCD 0x94500000, 0x20000000, 32 ; BULVERDE: PCMCIA S0 I/O space.参见Manual 6-30
DCD 0x96500000, 0xE0000000, 1 ; MAINSTONEII: Zero-bank (in reserved slot - no physical memory required) 物理地址E0000000不存在,映射为虚拟地址不知道是用来做什么
DCD 0x96600000, 0x14000000, 64 ; MAINSTONEII: nCS5: eXpansion board header - Marathon. Marathon芯片板上没有,这一句应该没用。
DCD 0x9A700000, 0x0A000000, 1 ; MAINSTONEII: nCS2 (upper half): 2MB SRAM.
DCD 0x9A800000, 0x08000000, 1 ; MAINSTONEII: nCS2 (lower half): Board registers (FPGA). nCS2和A25都有接到FPGA上,不过因为内部电路如何不知道,这一部分没法看。2MB SRAM应该也是FPGA里的。
DCD 0x9A900000, 0x04000000, 32 ; MAINSTONEII: nCS1: Secondary flash (32MB). nCS1没接
DCD 0x9E900000, 0x50000000, 1 ; BULVERDE: Camera peripheral interface. 参见27-43
OEMAddrTable里有这么两句:
DCD 0x80000000, 0xA0000000, 64 ; MAINSTONEII: SDRAM (64MB).
DCD 0x9C900000, 0x00000000, 32 ; MAINSTONEII: nCS0: Boot Flash (32MB).
比照Config.bib:
IF IMGFLASH
RSVD 80000000 000FF000 RESERVED;RAM从8000,0000开始,物理地址为A000,0000
ARGS 800FF000 00001000 RESERVED
NK 9CA00000 03000000 RAMIMAGE;前面留了1M为Bootloader用,所以Flash起始物理地址为0000,0000
RAM 80100000 03F00000 RAM;RAM范围为64M
这里有个问题,RAMIMAGE的大小为48M,但实际容量为32M,这个目前不知道为什么
1 2 2 2 9 2 2 2
0001001000100010 1001001000100010