阅读:1709回复:3
硬件连接的地址问题
各位高手:
我手上有一套系统,基于pxa255和wce4.2平台,外接1G的nandflash,硬件连接如图所示: 请问,nandflash的物理地址是多少呢?怎么算的呢?假设3-8译码器的输出为第7路。 谢谢! |
|
沙发#
发布于:2008-10-20 16:47
还要38译码干吗,nCS5不就确定了吗!
|
|
板凳#
发布于:2008-10-22 14:29
谢谢qinlei_ze的关注先!
可是我手上的nandflash驱动里的地址映射代码如下: pVMem = (PUCHAR)VirtualAlloc(0,PAGE_SIZE*4,MEM_RESERVE,PAGE_NOACCESS); if (pVMem) { if (!VirtualCopy((LPVOID)pVMem,(LPVOID)0xbd200000,PAGE_SIZE,PAGE_READWRITE | PAGE_NOCACHE)) .... } 请问第二个参数表示物理地址,为什么它的值是0xbd200000呢?因为cs5的地址是0x14000000吧! 唉,我就是弄不明白wince4.2下的地址映射,bsp下的inc目录下定义了好多宏表示地址映射,它们的值怎么来的我都不知道,比如: #define APP_FLASH_BASE_PHYSICAL 0x04000000 #define APP_FLASH_BASE_C_VIRTUAL 0x9C300000 #define APP_FLASH_BASE_U_VIRTUAL (APP_FLASH_BASE_C_VIRTUAL + CACHED_TO_UNCACHED_OFFSET) 而且platform.reg文件下有时也有MEMBASE的!如 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\StrataFMD] "Dll"="stratad.dll" "Order"=dword:2 "Prefix"="DSK" "Ioctl"=dword:4 "Profile"="MSFlash" "IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}" "Flags"=dword:1000 "MemBase"=dword:BA080000 "MemLen"=dword:00180000 恳请指点迷津啊! |
|
地板#
发布于:2008-10-28 15:18
物理地址的确定是通过片选脚CSn#来确定的,而CSn#脚关联到哪个物理地址,还有物理地址的范围应该是通过静态总线寄存器来设置的吧,我的是RMI1250的,MIPS内核的,你可以参考下,嗯
物理地址是软件定义的哦,而且只跟接到哪个片选脚有关,跟地址线无关. |
|