首先,我是花了几天的时间才搞好的,当然我也在网上找了很多资料,可是网上朋友说可行的方法,我试来试去就是不行,这我也不清楚为什么,一开始有说用到BINFS格式的[指NandFlash分区格式],后来又看到直接用FATFS格式而不需要BINFS的方法, 还是FATFS的方法简单点,所以选了这个方法。。虽然BINFS的方法我还没试用过,不知道行不行,但FATFS的方法是成功了。。
1 忙了几天,怎么改,怎么配,都失败了。原来,是我的NandFlash没有格式化!!汗,我明明用DNW,烧个EBoot进去,想进行高级格式化,但失败了,后来,经人指点,在系统下把所剩分区格式花,就是先烧进一个有磁盘管理功能的系统,再用其进行格式化。。 如果失败也不要紧,那可能就是NandFlash之前被写坏了。所以只要清一清零就行了,可以用DNW的 Earse Nand Flash 这功能吧,把所要用到的分区都清零,记得不要清了装着BIOS的那个分区呀,除了这个其它都清清吧,最重要还是一定要清除下装系统的那个分区,一般应该是32M或以上吧。清完之后再去格式花,看怎么样。
2 要用到HIVE 注册表,首先要选上该功能 PlatForm Builder怎么选不要说了吧,可以在Catalog里右键Find 在里面查找一下HIVE就可以找到了。 同时也把Storage Manager 下的Fat File System也加下去吧
3在PlatForm.reg里加上如下:
;ADD THIS START
 ; @CESYSGEN IF FILESYS_FSREGHIVE
 ; HIVE BOOT SECTION
; 0x00000001    Start storage manager in boot phase 1 for hive-based registry
 ; 0x00000002    Start device manager in boot phase 1 for hive-based registry
 ; 0x00000004    Start storage manager in boot phase 1 for registry in
 ;               external ROM (such as BINFS)
 ; 0x00000008    Start device manager in boot phase 1 for registry in
 ;               external ROM (such as BINFS)
 [HKEY_LOCAL_MACHINE/init/BootVars]
    "SYSTEMHIVE"="Documents and Settings//system.hv"
    "PROFILEDIR"="Documents and Settings"
    "Flags"=dword:3
    "DefaultUser"="default"
[HKEY_LOCAL_MACHINE/System/StorageManager/AutoLoad/FlashDrv]
    "DriverPath"="Drivers//BuiltIn//FlashDrv"
    "LoadFlags"=dword:1
 ;   "MountFlags"=dword:11
    "BootPhase"=dword:0
    "Flags"=dword:1000
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/FlashDrv]  ;这个指的是Flash的Dll可能会有些不同吧,但2410就这个
    "Prefix"="DSK"
    "Dll"="FLASHDRV.dll"
 ; "FSD"="FATFS.DLL" 
    "Order"=dword:0
    "Ioctl"=dword:4
    "Profile"="FlashDrv"
    "FriendlyName"="MS Flash Driver"
    "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
; Bind BINFS to the block driver
 [HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/FlashDrv]
    "DefaultFileSystem"="FATFS"
    "PartitionDriver"="mspart.dll"
    "AutoMount"=dword:1
    "AutoPart"=dword:1
    "AutoFormat"=dword:1
    "MountAsBootable"=dword:1
    "Folder"="NandFlash"   ;硬盘分区名字
    "Name"="Microsoft Flash Disk"
    "BootPhase"=dword:0
    "Flags"=dword:1000
 ;   "Ioctl"=dword:4
[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/FlashDrv/FATFS]
 ;   "MountAsBootable"=dword:2
    "Flags"=dword:00000024
    "EnableCacheWarm"=dword:0
[HKEY_LOCAL_MACHINE/System/StorageManager/FATFS]
     "FriendlyName"="FAT FileSystem"
     "Dll"="fatfsd.dll"
     "Flags"=dword:00000064  ;原24
     "Paging"=dword:1
     "CacheSize"=dword:0
     "EnableCache"=dword:1
IF TODO
 [HKEY_LOCAL_MACHINE/System/StorageManager/AutoLoad/Relfsd]
     "Dll"="relfsd.dll"
     "Paging"=dword:0
     "LoadFlags"=dword:1
 ENDIF TODO
; END HIVE BOOT SECTION
 ; @CESYSGEN ENDIF FILESYS_FSREGHIVE
 ;ADD THIS END
再把Debug或Release目录下的platform.reg 和reginit.int 删除,再重新Image一次就行了。
还有不成功的,可以加我Q[20527023]来聊聊,我也是搞这方面。
是不是成功了呢,连我这么倒霉的人都能成功,我想不会有人比我倒霉吧