首先,我是花了几天的时间才搞好的,当然我也在网上找了很多资料,可是网上朋友说可行的方法,我试来试去就是不行,这我也不清楚为什么,一开始有说用到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]来聊聊,我也是搞这方面。
是不是成功了呢,连我这么倒霉的人都能成功,我想不会有人比我倒霉吧