none
请问, 64M 128M 256M 512M 1G 2G Nandflash在 WinCe 虚拟内存上都被映射成32M大小吗? RRS feed

  • 问题

  •  

    请问, 64M 128M 256M 512M 1G 2G Nandflash在 WinCe 虚拟内存上都被映射成32M大小吗?

           或是其它一个固定的大小?

           谢谢

    2008年2月20日 6:22

答案

  • Nandflash的地址不是线性的,和Norflash不同。换句话说,访问Nandflash中不同地址的数据和你的处理器的地址线没有什么关系。

     

    楼主是要开发nandflash的驱动吧。这个要看你的硬件是如何接的??

     

    说白了,你不管使用64M,128M,256M还是更大的NAND,和你要映射的虚拟内存的大小没有太大关系。你的nandflash应该是接在你的CPU的某个片选上面的,你只需要把这个片选对应的物理地址映射成虚拟地址就可以了。一般我们都会在OEMAddressTable里面添加虚拟地址/物理地址映射,这里有一个问题就是映射的大小,楼主映射成32M了,这个也要看你的硬件设计,如果你的地址线参与了Nandflash的操作,比如你把某个地址线和nandflash的ALE或者CLE接在一起,用于控制ALE和CLE,那你就需要根据地址线的范围决定映射的大小。如果你的nandflash没有和CPU的任何地址线相连,那么你可能只需要影射1M就够了。

     

    不知道楼主明白了没有,呵呵。

     

    2008年2月20日 9:49

全部回复

  •  


    根据NandFlash地址总线数,决定它在 WinCe 虚拟内存上的映射,对不对?

    2008年2月20日 8:17
  • Nandflash的地址不是线性的,和Norflash不同。换句话说,访问Nandflash中不同地址的数据和你的处理器的地址线没有什么关系。

     

    楼主是要开发nandflash的驱动吧。这个要看你的硬件是如何接的??

     

    说白了,你不管使用64M,128M,256M还是更大的NAND,和你要映射的虚拟内存的大小没有太大关系。你的nandflash应该是接在你的CPU的某个片选上面的,你只需要把这个片选对应的物理地址映射成虚拟地址就可以了。一般我们都会在OEMAddressTable里面添加虚拟地址/物理地址映射,这里有一个问题就是映射的大小,楼主映射成32M了,这个也要看你的硬件设计,如果你的地址线参与了Nandflash的操作,比如你把某个地址线和nandflash的ALE或者CLE接在一起,用于控制ALE和CLE,那你就需要根据地址线的范围决定映射的大小。如果你的nandflash没有和CPU的任何地址线相连,那么你可能只需要影射1M就够了。

     

    不知道楼主明白了没有,呵呵。

     

    2008年2月20日 9:49
  • 看样子, ARM-WinCE 是版主级的大人物, 理论强, 水平高, 心肠好. 谢谢

     

    2008年2月20日 10:14
  •  

    呵呵,多谢夸奖。我和你一样,都是地球人!
    2008年2月21日 1:50