wince系统启动时是否cleanboot

wince系统启动时是否cleanboot

ID:33746329

大小:169.75 KB

页数:9页

时间:2019-02-28

wince系统启动时是否cleanboot_第1页
wince系统启动时是否cleanboot_第2页
wince系统启动时是否cleanboot_第3页
wince系统启动时是否cleanboot_第4页
wince系统启动时是否cleanboot_第5页
资源描述:

《wince系统启动时是否cleanboot》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、WINCE系统启动时是否cleanboot*******************************LoongEmbedded************************作者:LoongEmbedded时间:2010.12.09类别:WINCE嵌入式系统.Aft.平平平不不不不平平平平于不不不不不不不不平于于于不不不不不不不不]cc“or卜mhac厂lari不不乎不不平不不不不平乎不不平平平不不不不不不这里的cleanboot可以理解为清除system.hv和user.hv本系统基于nandflash岀去NK.bin之外的空间mou

2、nt成盘符ResidentFlash,其中system.hv和user.hv就保存在这个文件夹中,也即是保存在nandflash中,看下图8)9)A)B)C)D)E)F)L)R)U)KITLConfiguration:ENABLEDFormatBootMediaEraseAllBlocksMarkBadBlockatCleanBootOptionForBinFSBlockReedFALSEDownloadimagenowEraseReseruedBlockLow-leuelFormattheSmartLAUNCHexistingBootMe

3、diaReadConfigurationnQjj^LOAD〈严ggn?hi(ll£R)WriteConfigurationRightEnteryourselection:Mhdiacarde如呆改为TRUE后选择W保存,那么保存在ResidentFlash的文件在重启时被淸除掉图1in如果cleanbootoption的值是FALSE,那么保存在ResidentFlash文件夹的内容在重启之后不会丢失;而如果cleanbootoption的值是TRUE,那么保存在ResidentFlash文件夹的内容在重启之后就会丢失,这是因为系统在启动的

4、时候,Filesys.dll通过删除hive-base注册表的数据所保存在的文件并且重新创建它们来执行cleanboot(因为基于Hive的注册表把注册表数据存放在文件系统的文件上,也就是保存在永久性存储介质中,在这里是nandflash),那具体是怎么实现这个动作的呢?Filesys.dll在初始化基于hive的注册表的时候,Filesys.dll调用OEMIoControl来查询是否需要清除保存在block设备上的hv文件,其CODE代码为IOCTL_HAL_GET_HIVE_CLEAN_FLAG,它的输入参数IpInBuf

5、古

6、定为H

7、IVECLEANFLAG_SYSTEM或HIVECLEANFLAG_USERS,Filesys.dll会分别用这两种参数调用两次IOCTLHALGETHIVECLEANFLAG,第一次用HIVECLEANFLAG_SYSTEM来问OEM是否需要清除system.hv,第二次用HIVECLEANFLAG_USERS做参数来查询是否要清除user.hv,如果返回的IpOutBuf中的值为TRUE则做清除操作(这样,保存在nandflash的hv文件就会被清除掉),如果为False则保留block设备上的注册表文件。这两次调用实际上就是调用了函数

8、OALIoCtlHalGetHiveCleanFlag,这个函数被调用的依据见bspsrcincioctl_tab.h中的内容,见下图00021://IOCTLCODE,FlagsHandlerFunction00023:OCTLETHIVECLEAN500022://LIoCtTHalGetHWEntropy},,OALIoCtlHalQueryFormatPartition},0,OALIoCtlHalGetCPUID},0002(j'jJ25:{IO_JGETZRWENTROFY,00026:{ioctlZhal_query_f

9、ormat_partiti00027:{IOCTL-HAL-GET.CPUID,00029:#mdude通过这Tcode.OEMIoControl哼巒会调用到00030:OALIoCtlHalGetHiveCleanFlag函数00031://RequiredTermination00032:{0,0,NULL图2卜•面我们就来看看OALIoCtlHalGetHiveCleanFla的函数体0f060伽610006200C6300064000650006600C6700C68000690007000071000

10、7200073000740007500076000770007800079000800008100C8200C8300C84000850008600C870008800C8900

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。