Re: STRATA flash driver - Not able to persist data



Hi,
Are you saying that you store data in the flash drive and after rebooting
the data is lost?
It looks like on each boot, the drive is being reformatted. I wonder if the
flash driver is getting loaded before the partition driver. This might
cause some trouble with initial loading. Can you share your registry
settings for the flash driver?

Thanks,
Gary

<80.rishi@xxxxxxxxx> wrote in message
news:1171464714.850944.260380@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MainstoneII. Pxa270. PB 5.0.

I have implemented the file system thro' stratad.dll. NORFLASH folder
is getting created but I'm not able to

persist the data. When I debugged it, I saw FMD_Eraseblock is getting
called twice for every block after the signature verfication is over.
The signature verification is not failing. Because of FMD_eraseblock
call, whatever I store is not retained.

I'm attaching the debug output here. I added a RETAIL msg inside
FMD_Eraseblock to know whether it is getting called or not.

Can you guys advice me where I'm going wrong ?


Windows CE KernelInit
Updated eptr->e32_vsize to = 000a9000
Scheduling the first thread.
0x83fdf024: KernelInit2: pCurThread=83fdf024 hCurThread=03fdf266
hCurProc=03fdf002, KernelInit = 80124a54
0x83fdf024: Detecting VFP...0x83fdf024: VFP Not Found!
0x83fdf024: Updated eptr->e32_vsize to = 00006000
0x83fdf024: Updated eptr->e32_vsize to = 00029000
0x83fdf024: first = 00b50000, last = 02000000, SharedDllBase =
02120000
0x83fc88a4: CertMod.dll not found, using old OEM Trust Model
0x83fc88a4: FileSystem Starting - starting with clean file system
0x83fc88a4: FS: initializing ROM/RAM file system
0x83fc88a4: SC_CreateAPIHandle: pvData == NULL
0x83fc88a4: FS: Registering file system ROM, index 2, flags 0x00000031
0x83fc88a4: FS: Mount complete (ROM, index 2, flags 0x00000031)
0x83fc88a4: OEMIoControl: Unsupported Code 0x101008c - device 0x0101
func 35
0x83fc88a4: FSVOL: Opening existing volume
0x83fc88a4: FSVOL: Volume heap already initialized
0x83fc88a4: FSREG: Mounted ROM portion of boot registry
0x83fc88a4: FSVOL: Creating clean virtual volume
0x83fc88a4: FSVOL: Initializing volume heap
0x83fc88a4: FSREG: Mounted RAM portion of boot registry
0x83fc88a4: FS: Creating signal event SYSTEM/DevMgrApiSetReady
0x83fc88a4: FS: Creating signal event SYSTEM/PowerManagerReady
0x83fc88a4: FS: Creating signal event SYSTEM/GweApiSetReady
0x83fc88a4: FS: Creating signal event SYSTEM/BatteryAPIsReady
0x83fc88a4: FSREG: Unable to read value "Start DevMgr" under
HKEY_LOCAL_MACHINE\init\BootVars
0x83fc88a4: FILESYS: Starting storage manager.
0x83fc88a4: FS: Registering file system StoreMgr, index 3, flags
0x00000001
0x83fc88a4: READ_FROM_REGISTRY defined
0x83fc88a4: Before Initalize Flash--pBaseAddress : baa00000
0x83fc88a4: Block size is 0x40000
0x83fc88a4: Base address is 0xbaa00000
0x83fc88a4: Flash Length is 0x1f00000
0x83fc88a4: Sector size is 0x1000
0x83fc88a4: Toal Flash Blocks are 0x7c
0x83fc88a4: Sectors per block are 0x3f
0x83fc88a4: Set Block Lock Function: No. Of. Blocks: 124

0x83fc88a4: VerifySignatures: invalid block detected, calling
FMD_EraseBlock 0xBAA3FFE0,
0x83fc88a4:
FMD_EraseBlock(): BlkId=0x0, BlkAdd=0xBAA00000,
0x83fc88a4: INFO: FMD_Init: Flash Address=0xbaa00000
Length=0x1f00000.
0x83fc88a4: FLASHDRV.DLL:BuildupMappingInfo() - Enter.
0x83fc88a4: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table
doesn't exist for logical sector 0x47!!!
0x83fc88a4: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table
doesn't exist for logical sector 0x3c!!!
0x83fc88a4: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table
doesn't exist for logical sector 0x66!!!
0x83fc88a4: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table
doesn't exist for logical sector 0x14!!!
0x83fc88a4: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table
doesn't exist for logical sector 0xf6!!!
0x83fc88a4: FMD_OEMIoControl: unrecognized IOCTL (0x71c24).
0x83fc88a4: Loading partition driver mspart.dll hModule=83F8E994
0x83fc88a4: Driver mspart.dll loaded
0x83fc88a4: FLASHDRV.DLL:ReadFromMedia() - Unable to determine
physical sector address for logical sector 0x00000000
0x83fc88a4: Opened the store hStore=000C4220
0x83fc88a4: FLASHDRV.DLL:ReadFromMedia() - Unable to determine
physical sector address for logical sector 0x00000000
0x83fc88a4: NumSec=7686 BytesPerSec=4096 FreeSec=0 BiggestCreatable=0
0x83fc88a4: FMD_EraseBlock(): BlkId=0x0, BlkAdd=0xBAA00000,
0x83fc88a4: FMD_EraseBlock(): BlkId=0x0, BlkAdd=0xBAA00000,
0x83fc88a4: FMD_EraseBlock(): BlkId=0x1, BlkAdd=0xBAA40000,
0x83fc88a4: FMD_EraseBlock(): BlkId=0x1, BlkAdd=0xBAA40000,
0x83fc88a4: FMD_EraseBlock(): BlkId=0x2, BlkAdd=0xBAA80000,
0x83fc88a4: FMD_EraseBlock(): BlkId=0x2, BlkAdd=0xBAA80000,
0x83fc88a4: FMD_EraseBlock(): BlkId=0x3, BlkAdd=0xBAAC0000,
0x83fc88a4: FMD_EraseBlock(): BlkId=0x3, BlkAdd=0xBAAC0000,
0x83fc88a4: FMD_EraseBlock(): BlkId=0x4, BlkAdd=0xBAB00000,
0x83fc88a4: FMD_EraseBlock(): BlkId=0x4, BlkAdd=0xBAB00000,
.................................
The above msg runs till block 123
................................
0x83fc88a4: FMD_EraseBlock(): BlkId=0x121, BlkAdd=0xBC840000,
0x83fc88a4: FMD_EraseBlock(): BlkId=0x122, BlkAdd=0xBC880000,
0x83fc88a4: FMD_EraseBlock(): BlkId=0x122, BlkAdd=0xBC880000,
0x83fc88a4: FMD_EraseBlock(): BlkId=0x123, BlkAdd=0xBC8C0000,
0x83fc88a4: FMD_EraseBlock(): BlkId=0x123, BlkAdd=0xBC8C0000,
0x83fc88a4: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table
doesn't exist for logical sector 0x0!!!
0x83fc88a4: PD_FormatPartition - type is 4
0x83fc88a4: NumSec=7686 BytesPerSec=4096 FreeSec=0 BiggestCreatable=0
0x83fc88a4: Partition PART00 NumSectors=7684
0x83fc88a4: MSPART!PD_OpenPartition: dwStoreId=000C4220,
PartName=PART00
0x83fc88a4: FormatDisk!FormatVolume: New FAT #0 successfully written
0x83fc88a4: FormatDisk!FormatVolume: New FAT #1 successfully written
0x83fc88a4: FormatDisk!FormatVolume: New root directory successfully
written
0x83fc88a4: FormatDisk!FormatVolume: New BPB successfully written
0x83fc88a4: FormatDisk!FormatVolume complete.
0x83fc88a4: FSD_MountDisk: mounting volumes for hDsk=000C7520
0x83fc88a4: FATFS!OpenVolume: access time updates disabled
0x83fc88a4: FATFS!OpenVolume: event logging enabled
0x83fc88a4: FATFS!OpenVolume: automatic scanning disabled
0x83fc88a4: FATFS!OpenVolume: write verify disabled
0x83fc88a4: FATFS!OpenVolume: extra FAT on format enabled
0x83fc88a4: FATFS!OpenVolume: force write through disabled
0x83fc88a4: FATFS!OpenVolume: Codepage = 1
0x83fc88a4: FATFS!OpenVolume: Number of path cache entries = 50
0x83fc88a4: CreateCache: Successful. Cache Size: 8 KB, Start: 3, End:
4.
0x83fc88a4: CreateCache: Successful. Cache Size: 16 KB, Start: 5,
End: 7683.
0x83fc88a4: FATFS!InitVolume: FAT version: 12
0x83fc88a4: FATFS!InitVolume: Cluster Size (Sectors): 2
0x83fc88a4: FATFS!InitVolume: TFAT enabled: TRUE
0x83fc88a4: TFAT:WARNING - The first cluster of a directory is being
updated, this operation is not transaction safe
0x83fc88a4: FMD_OEMIoControl: unrecognized IOCTL (0x71c54).
0x83fc88a4: FMD_OEMIoControl: unrecognized IOCTL (0x71c54).
0x83fc88a4: FS: Registering file system NOR Flash, index 4, flags
0x00000002
0x83fc88a4: FS: Mount complete (NOR Flash, index 4, flags 0x00000002)
0x83fc88a4: InitSharedHeap: 44200000 10000 c
0x83fc88a4: InitSharedHeap: return 44200060
0x83fc88a4: FILESYS: Restarting storage manager.
0x83fc88a4: FILESYS: Starting device and waiting for boot file system.
0x83eeb530: InitSharedHeap: 44200000 0 c
0x83eeb530: InitSharedHeap: return 44200060
0x83eeb530: *** DLL_PROCESS_ATTACH - Current Process: 0x42, ID:
0x43eeb796 ***
0x83eeb530: +InitDeviceFileSystems
0x83eeb530: FS: Registering file system $device, index 5, flags
0x00000001
0x83eeb530: FS: Registering file system $bus, index 6, flags
0x00000001
0x83eeb530: -InitDeviceFileSystems: status is 1
0x83fc88a4: FS: Waiting for device to signal BootPhase1 completion



.



Relevant Pages

  • Re: Throughput question with CF/DiskOnChip
    ... commands that allow to revive the CF by rewriting the address allocation ... CF) but that is a quite naked flash chip. ... (e.g. the FAT with a DOS file system, ... but of course you need a media access driver ...
    (comp.os.linux.embedded)
  • Re: FlashROM as a disk in CE 5.0
    ... FileSystem Starting - starting with clean file system ... Lower flash. ... 0x83fc8994: FLASHDRV.DLL:Unable to initialize FLASH Media Driver. ... I have added the Registry settings to Project.reg file like ...
    (microsoft.public.windowsce.platbuilder)
  • Re: need help trying to integrate IPSM
    ... As I mentioned, I left the first 59MB out of PSM, leaving the ... What I'm doing now in the catalog is checking ROM-only File System instead ... exclude the area of the flash that is ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Persistent Registry on Onboard Flash
    ... Copy the folder to you platform to build it. ... > Our Onboard Flash is Intel TE28F128. ... > for Persistent Registry purpose.If Yes, ... >> You need to have a flash file system. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Unable to mount BinFS
    ... I need some more clarification regarding the FlashRegion structure members ... How should I split up the regions in my flash? ... give a continuous numbering of the logical sector address right from the MBR ... Profile entry for flash driver ...
    (microsoft.public.windowsce.platbuilder)

Loading