|
最近在做一个兼职,帮人定制wince系统(初学者,第一次碰着玩意)。用的是pb4.2。遇到一个norflash问题,我需要在扩展板上添加一块norflash芯片,(ncs1, 非paired,16位寻址)想了好长时间无法解决,特地向论坛的高手请教。ncs1的物理地址是:0x04000000,Virtual(cached) address:bc300000,我把length故意设小了点,刚开始设的是16M也不行。但是我如果把起始地址设为ncs0就行,但那样驱动的是ncs0。我想驱动的是ncs1,bank 1。
我在startadflash驱动里加了部分调试信息,发现对ncs1驱动时,写入读manufacturer code命令后,读单个读到的数据是这个命令的值0x90,而不是intel的code 0x89,写入单个字节program动作命令后,写数据后,检查状态不能得到写完成状态。总结:现象好像是没有连接上norflash一样,但据我们的硬件工程师称硬件连接应该不会有问题。
但我还是怀疑硬件是否有问题,询问是否pcb布线不好也有会影响?
下面是注册表相关信息:
[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}"
"MemBase"=dword:bc300000
"MemLen"=dword:e00000
"IsPairedFlash"=dword:0
"Flags"=dword:1000
; Override names in default profile
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash]
"Name"="MSFLASH for STRATAFLASH"
"Folder"="NOR Flash"
"MountFlags"=dword:0
"DefaultFileSystem"="FATFS"
"PartitionDriver"="mspart.dll"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"MountFlags"=dword:c
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles]
"MountFlags"=dword:c
[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
"FriendlyName"="FAT FileSystem"
"Dll"="fatfsd.dll"
"Flags"=dword:00000014
"Paging"=dword:1
"EnableCache"=dword:1
"CacheSize"=dword:0
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\MSFlash]
"DriverPath"="Drivers\\BuiltIn\\StrataFMD"
; LoadFlags 0x01 == load synchronously
"LoadFlags"=dword:1
"Order"=dword:0
"BootPhase"=dword:0
下面是memmap.inc的相关信息:
IF PLAT_LUBBOCK = "1"
; // Lubbock-Specific Mappings
DCD BOOT_FLASH_BASE_C_VIRTUAL, BOOT_FLASH_BASE_PHYSICAL, 32 ; BOOT ROM (nCS0)
DCD APP_FLASH_BASE_C_VIRTUAL, APP_FLASH_BASE_PHYSICAL, 16 ; Application FLASH (nCS1)
DCD FPGA_REGS_BASE_C_VIRTUAL, FPGA_REGS_BASE_PHYSICAL, 1 ; Lubbock Registers (nCS2 - Lower half)
DCD SRAM_BASE_C_VIRTUAL, SRAM_BASE_PHYSICAL, 1 ; SRAM (nCS2 - Upper half)
DCD SMC_ETHERNET_IO_BASE_C_VIRTUAL, SMC_ETHERNET_IO_BASE_PHYSICAL, 1 ; Ethernet (nCS3) - I/O Space
DCD SMC_ETHERNET_ATTRIB_BASE_C_VIRTUAL, SMC_ETHERNET_ATTRIB_BASE_PHYSICAL, 1 ; Ethernet (nCS3) - Attrib Space
DCD SA1111_BASE_C_VIRTUAL, SA1111_BASE_PHYSICAL, 1 ; On-Board SA-1111 (nCS4)
DCD XDC_BASE_C_VIRTUAL, XDC_BASE_PHYSICAL, 1 ; eXpansion Daughter Card Connector (nCS5)
ENDIF
DCD 0x00000000, 0x00000000, 0 ; End of Table (MB MUST BE ZERO!)
|
|