dapli
驱动牛犊
驱动牛犊
  • 注册日期2007-04-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分411分
  • 威望52点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
阅读:1838回复:7

自动分区格式化并加载有问题

楼主#
更多 发布于:2007-11-26 18:47
 256M的NAND   FLASH,WinCE5.0
目的:想将NK剩下的空间自动分区为FAT格式
做法:修改platform.reg中相关内容
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk]
    "DefaultFileSystem"="FATS"
    "PartitionDriver"="mspart.dll"
    "AutoPart"=dword:1
    "AutoMount"=dword:1
    "AutoFormat"=dword:1
    "MountAsROM"=dword:1
    "Folder"="Flash Disk"
    "BootPhase"=dword:0
    "Name"="FLASH Disk Block Device"

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk\FATFS]  
    "MountAsROM"=dword:1
    "Flags"=dword:14
    "FormatTfat"=dword:1
    "CheckForFormat"=dword:1
    "MountAsBootable"=dword:1
    
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MSFlash]
    "Profile"="FlashDisk"
    "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
    "Order"=dword:0
   "Index"=dword:1
    "FriendlyName"="MSFLASH Driver"
    "Dll"="smflash.dll"
    "Prefix"="DSK"

结果:系统可以启动,已经可以看到flash的FATFS分区盘符。
但只是下载到Flash后的第一次可以
系统启动过以后,将除了Boot以外的所有分区都格式化了
我用仿真器看过,此时Flash里除了Bootloader以外,其余部分全都是0,
操作系统已经都被格式化掉了,第二次也就无法启动了

问题:
我现在想知道的是这个AutoFormat的起始地址在哪里决定,以便我可以更改,把除了NK以外的部分格式化掉,而保留NK分区
此外看到有人说,AutoFormat不会对BINFS重新操作。那么如何确定哪里是BInFS,哪里是FATFS呢?
我定制的系统已经加入BinFS的特性了,可是怎么还会被格式化掉?
我目前写入Flash中的NK已经是BinFS了吗?

望各位指点!
三千水击,九万扶摇
cool_harber
驱动小牛
驱动小牛
  • 注册日期2003-03-01
  • 最后登录2009-04-28
  • 粉丝0
  • 关注0
  • 积分524分
  • 威望132点
  • 贡献值0点
  • 好评度126点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-11-26 20:39
\PUBLIC\COMMON\OAK\DRIVERS\BLOCK\MSFLASHFMD\FASL\FASLD\fasld.reg

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FASLD]
    
    ...

    "MemBase"=dword:00000000      
    "MemLen"=dword:00000000
博客:www.cnblogs.com/harber
cool_harber
驱动小牛
驱动小牛
  • 注册日期2003-03-01
  • 最后登录2009-04-28
  • 粉丝0
  • 关注0
  • 积分524分
  • 威望132点
  • 贡献值0点
  • 好评度126点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-11-26 20:39
\PUBLIC\COMMON\OAK\DRIVERS\BLOCK\MSFLASHFMD\FASL\FASLD\fasld.reg

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FASLD]
    
    ...

    "MemBase"=dword:00000000      
    "MemLen"=dword:00000000
博客:www.cnblogs.com/harber
dapli
驱动牛犊
驱动牛犊
  • 注册日期2007-04-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分411分
  • 威望52点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-11-27 09:48
引用第2楼cool_harber于2007-11-26 20:39发表的  :
PUBLICCOMMONOAKDRIVERSBLOCKMSFLASHFMDFASLFASLDfasld.reg

[HKEY_LOCAL_MACHINEDriversBuiltInFASLD]
    
    ...
.......

\PUBLIC\COMMON\OAK\DRIVERS\BLOCK\MSFLASHFMD\FASL\FASLD\fasld.reg
里面写着:
; This file is to be included in platform.reg if required.
我是需要手动把这个文件内容加到paltform.reg里面吗?

这个怎么感觉是NOR Flash的地址呢,我用的是Namd flash啊
我需要把一下这些加入到platform.reg里吗
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FASLD]
    "Dll"="fasld.dll"
    "Order"=dword:2
    "Prefix"="DSK"
    "Ioctl"=dword:4
    "Profile"="MSFlash"
    "IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
    "MemBase"=dword:00000000      
    "MemLen"=dword:00000000
三千水击,九万扶摇
dfgeoff
驱动牛犊
驱动牛犊
  • 注册日期2004-07-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分290分
  • 威望69点
  • 贡献值0点
  • 好评度69点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-11-27 10:38

   "AutoPart"=dword:1
    "AutoMount"=dword:1
    "AutoFormat"=dword:1

去掉试试。看看系统能否启动,FAT能否分区(在管理器中看到PART01),FAT能否加载(PART01*,多个*,表示加载)
日本-倭子-该死! 抵制日货! 敢犯我中华者,虽远必诛!
high
论坛版主
论坛版主
  • 注册日期2002-08-10
  • 最后登录2010-07-26
  • 粉丝4
  • 关注0
  • 积分60分
  • 威望655点
  • 贡献值0点
  • 好评度56点
  • 原创分0分
  • 专家分60分
5楼#
发布于:2007-11-27 11:48
你可能需要看看nand flash的驱动代码.
我见过2种方法来保留reserved扇区.
一种是动态的,通过在16个字节的冗余信息里面设定标志声明自己是被保留的.
另一种是头文件指定的.指定的开始地址,开始地址之前的扇区,驱动将访问不到.

其实主要区别在于,驱动有没有对输入的地址进行转换
dapli
驱动牛犊
驱动牛犊
  • 注册日期2007-04-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分411分
  • 威望52点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-11-27 15:24
引用第4楼dfgeoff于2007-11-27 10:38发表的  :

   "AutoPart"=dword:1
    "AutoMount"=dword:1
    "AutoFormat"=dword:1

.......


去掉是可以启动的,但PART01是什么,没有看到啊

我是为了分区才加上
   "AutoPart"=dword:1
    "AutoMount"=dword:1
    "AutoFormat"=dword:1

去掉就看不到Nad Flash这个分区了
三千水击,九万扶摇
dapli
驱动牛犊
驱动牛犊
  • 注册日期2007-04-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分411分
  • 威望52点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-11-27 15:34
各位是如何实现FATFS分区的?
三千水击,九万扶摇
游客

返回顶部