阅读:1538回复:2
有关Nand Boot 的问题
2K大页面的NAND FLASH。
目前用工具将NK和boot都烧到NAND里面, 如果不加Nand flash驱动的话,NK可以正常从NAND启动。 但是加了NAND 驱动之后,驱动会把NAND Flash给全部格式话掉(包括放NK和eboot的部分)。 这一部分我是设置成reserved的了。怎么会格式化掉了哪? 不知道是不是注册表设置的问题? 本人注册表设置如下: [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MSFlash] "Profile"="FlashDisk" "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}" "Order"=dword:0 ;"FriendlyName"="MSFLASH Driver" "Dll"="smflash.dll" "Prefix"="DSK" "FriendlyName"="WB910_NANDFLASH" "BmlVolumeId"=dword:0 "BmlPartitionId"=dword:8 "Index"=dword:7 [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk] "Name"="WB910NAND " "Folder"="NANDFLASH" "DefaultFileSystem"="FATFS" "AutoMount"=dword:1 "AutoPart"=dword:1 "AutoFormat"=dword:1 "PartitionDriver"="mspart.dll" "Ioctl"=dword:4 "BootPhase"=dword:0 [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk\FATFS] "Flags"=dword:00000024 "Dll"="fatfsd.dll" "Paging"=dword:1 "EnableCacheWarm"=dword:0 "CacheSize"=dword:0 ;"MountAsBootable"=dword:1 ;;have changed. add ;"MountAsRoot"=dword:1 [HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\MSFlash] "DriverPath"="Drivers\\BuiltIn\\MSFlash" ; LoadFlags 0x01 == load synchronously "LoadFlags"=dword:1 "Order"=dword:0 "BootPhase"=dword:0 512小页面的NAND FLASH可以正常启动。启动也不会格式化掉nk和boot这一部分。 不知道到底咋回事。 还请高手指教。。谢谢。 |
|
|
沙发#
发布于:2007-12-17 21:25
应该是分区做的不对吧,既然512BYTE的没有问题,说明你的程序对2048BYTE的分区做的不对,
其实,你把OS放在NAND的头上,把余下的部分做NAND存储就行,就容易做了. |
|
|
板凳#
发布于:2007-12-18 09:15
引用第1楼microsun于2007-12-17 21:25发表的 : 我就是这样做的。把boot和Nk放在NAND Flash的开头的部分, 然后在boot里面调用BP_OpenPartition()先分一个存储NK的binfs分区。 再将剩下的分成FAT分区的。 现在的问题是: 加载上OS之后,2K大页面的不认识我后面的分区,会把NAND的分区。会整个格式化NAND. NK和boot部分也会被格式化掉。 |
|
|