wince5.0 下
flash是 1G bytes 的,型号K9K8G08U0M
分号区后,我在存储管理器中看到,容量:960M,未分配的:896M,我只分到64M.
问题:
1、怎样我才能将未分配的容量加分出来呢?
2、OS是通过哪个函数分得64M的呢,FMD_ReadSector()?我驱动中读到ID是对的,FMD_GetInfo()中,传给pFlashInfo的也是我注册表中设定的大小啊。
3、我注册表这样写应该没问题吧?
[code]
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NandFlash]
"Profile"="FlashSys"
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Order"=dword:0
"FriendlyName"="NandFlash Block driver"
"Dll"="FlashSYS.dll"
"Prefix"="DSK"
"NandStartBlock"=dword:180
"BlockNumber"=dword:1e00
"QuickFormat"=dword:0
; "Flags"=dword:1000
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashSys]
"DefaultFileSystem"="FATFS"
"MountFlags"=dword:2
"AutoFormat"=dword:1
"AutoPart"=dword:1
"AutoMount"=dword:1
"PartitionDriver"="mspart.dll"
"Folder"="SystemData"
"Name"="NAND FLASH SYSTEM"
; "Flags"=dword:1000
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashSys\fatfs]
"MountAsBootable"=dword:1
"Dll"="fatfsd.dll"
FMD_GetInfo中要返回
pFlashInfo->flashType = NAND;
pFlashInfo->dwNumBlocks = NAND_BLOCK_CNT;
pFlashInfo->wSectorsPerBlock = NAND_PAGE_CNT;
pFlashInfo->wDataBytesPerSector = NAND_PAGE_SIZE;
pFlashInfo->dwBytesPerBlock = (pFlashInfo->wSectorsPerBlock * pFlashInfo->wDataBytesPerSector);
每一项你自己好好检查一下
注册表中除了"BytesPerSector"之外,不需要有其他的size信息。
楼主的BSP是标准5.0还是4.2升级到5.0的?如果是4.2就在loader.h改动,标准5.0我就不知道了。我也正在看。
早上就想回你的帖子,今天郁闷,网速爆满,回不了
"NandStartBlock"=dword:180
"BlockNumber"=dword:1e00
你的Block Size是多大?
按这个数字算出来对吗?
引用: 引用 5 楼 hzdysymbol 的回复:
"NandStartBlock"=dword:180
"BlockNumber"=dword:1e00
你的Block Size是多大?
按这个数字算出来对吗?
-------------怎么我的三星5.0BSP没有这些注册表设置的?4.2的也没有啊。我现在的flash容量好像丢了100M,不知道怎么改回来。
引用: 引用 7 楼 xiaopi224 的回复:
格式化,增加分区不就可以了
这个东西估计用eboot好办,但是我的bios是ADS写的。
引用: 引用 9 楼 fengwx 的回复:
把剩余的空间再建个分区。
怎么弄,现在我的在5.0下会少了100M,不知道怎么回事。
在存储管理器中新建一个分区,选上使用所有可用空间。
引用: 引用 11 楼 fengwx 的回复:
在存储管理器中新建一个分区,选上使用所有可用空间。
是个方法,不过这样就是要修改微软提供的代码了。我觉得那个FMD驱动应该有检测剩余量的功能的。只是我有些东西没有设置好。