本帖最后由 tiger84 于 2010-3-30 11:34 编辑
今天在准备9260的原理图时,有如下几个疑惑,还望大侠们指教下。
蓝色部分为咨询百特的答案,列出来,献给和我一样的菜鸟,并再次感谢下百特刘工的支持。
1,at91sam9260有8个bank,地址线为26根。26根的话,那就是64M,而9260 1个bank是256M,感觉对应不上。剩下的2根地址线怎么确定?或者有别的理解?(如s3c2410有27根地址线,和一个bank 128M刚好对应)
A:还有另外两根线NWR1和NWR3。请参见数据手册第20.2 I/O Lines Description一章。
2,at91sam9260的资料中表明只有片选3可以使用nand flash,也就是0x40000000---0x4fffffff,就是说如果我把nand flash映射到9260的空间的话,最多就只能使用256M了。那么,我想使用更大的nand flash,比如1G的,就不应该把nand flash映射到9260空间里面去了。但是如果这样的话,那又无法从nand flash启动了?不知道我理解的对不对?
A:nand flash不是并行flash而是串行flash,它的地址不能够像并行flash那样直接映射到地址空间。你可以看nandflash芯片的引脚,只有片选线没有地址线存在的。它的地址不是用地址线来决定的,对于采用32位的地址的arm版linux来说,最大可以到4G。
3,另外一个就是at91sam9260的CF卡扩展了,它可以使用片选4和5,如选择片选4,那么是不是就只能扩展256M的CF卡?如果想使用更大的CF卡,就不能使用这些片选?
A:同上面说的一样,CF卡也不是并行的,按照CF连接器的标准,它只有A0~A11总共12条地址线,这并不意味这CF卡只能有4K大小。
我产生上面几个疑问的主要原因:
1,对ARM存储空间认识有问题
2,在程序里看到nand flash的基地址是0x40000000,就误以为这里的nand flash映射到ARM的存储空间。
总结:可不可以映射到ARM存储空间由外接的芯片内部地址结构决定,如以前用的常见的小容量SRAM扩展(如6264等),地址线是并行的,就可以映射到ARM存储空间。而现在的大容量SDRAM,并不是并行地址的,就是独立的地址了。
不知道我的理解是否有误,高手指正下。 |