Re: FlashROM as a disk in CE 5.0



Hi Gouri,
I am curious about what you changed to get this working.

It looks like you changed the MountFlags registry setting in the profile,
but according to MSDN, this is deprecated as of CE 5.0. Instead,
MountBootable (which you added) tells the hive which driver is needed to
access the registry at bootup. You also added Flags of 1000, which tells
the system to load your driver in the first boot phase (and only in the
first phase).

related MSDN pages are:
http://msdn2.microsoft.com/en-us/library/aa916269.aspx
and: http://msdn2.microsoft.com/en-us/library/aa914710.aspx

It looks like you doubled the BlockSize and WriteBufferSize...I presume this
is to account for two devices interleaved.

So I'm guessing you told the HIVE how to load the registry when booting from
flash and this fixed the problem...

Best regards,
Gary

"gouri" <gouri@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:871C8E93-D13E-4727-BAA9-01F93CBF8581@xxxxxxxxxxxxxxxx
Hi,

It is working.


; HIVE BOOT SECTION

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\StrataFMD]
"Dll"="stratad.dll"
"Order"=dword:2
"Prefix"="DSK"
"Ioctl"=dword:4
"Profile"="MSFlash"
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"BlockSize"=dword:40000
"WriteBufferSize"=dword:40
"MemBase"=dword:B2C00000
"MemLen"=dword:1F00000
"IsPairedFlash"=dword:1
"Flags"=dword:1000
"MountBootable"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\MSFlash]
"DriverPath"="Drivers\\BuiltIn\\StrataFMD"
"LoadFlags"=dword:1 ; synchronous load
"Order"=dword:0
"BootPhase"=dword:0


; Override names in default profile
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash]
"Name"="MSFLASH for STRATAFLASH"
"Folder"="IPSM"
"DefaultFileSystem"="FATFS"
"PartitionDriver"="mspart.dll"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"MountFlags"=dword:E


[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash\FATFS]
"Dll"="fatfsd.dll"
"Flags"=dword:00000014
"Util"="fatutil.dll"
"Paging"=dword:1
"CacheSize"=dword:0
"MountAsRoot"=dword:1
"MountAsBootable"=dword:1
"MountPermanent"=dword:1


[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles]
"MountFlags"=dword:E

; END HIVE BOOT SECTION


"Bruce Eitman [eMVP]" wrote:

Probably becuase it is XIP from flash. So instructions running from
flash
are putting the flash in command mode, which means that the next
instructions cannot be read.

--
Bruce Eitman (eMVP)
Senior Engineer
beitman AT applieddata DOT net

Applied Data Systems
www.applieddata.net
An ISO 9001:2000 Registered Company
Microsoft WEP Gold-level Member

"gouri" <gouri@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:F3917638-306D-4975-994A-FEFC22DD5F8B@xxxxxxxxxxxxxxxx
Hi gray,

Some component or application means.If i tried to download the image
to
flash i am getting the Debug messsages like following.

4: >>> Loading module coredll.dll at address 0x03F10000-0x04000000 (RW
data
at 0
x01FFE000-0x01FFF7A5)
0x830c8930: >>> Loading module coredll.dll at address
0x03F10000-0x04000000
(RW
data at 0x01FFE000-0x01FFF7A5)
0x830c8930: >>> Loading module filesys.exe at address
0x04010000-0x040A5000
0x830c8930: CertMod.dll not found, using old OEM Trust Model
0x830c8930: FileSystem Starting - starting with clean file system
0x830c8930: FS: initializing ROM/RAM file system
0x830c8930: SC_CreateAPIHandle: pvData == NULL
0x830c8930: FS: Registering file system ROM, index 2, flags 0x00000031
0x830c8930: FS: Mount complete (ROM, index 2, flags 0x00000031)
0x830c8930: OEMIoControl: Unsupported Code 0x101008c - device 0x0101
func
35
0x830c8930: FSVOL: Opening existing volume
0x830c8930: FSVOL: Volume heap already initialized
0x830c8930: FSREG: Mounted ROM portion of boot registry
0x830c8930: FSVOL: Creating clean virtual volume
0x830c8930: FSVOL: Initializing volume heap
0x830c8930: FSREG: Mounted RAM portion of boot registry
0x830c8930: FS: Creating signal event SYSTEM/DevMgrApiSetReady
0x830c8930: FS: Creating signal event SYSTEM/PowerManagerReady
0x830c8930: FS: Creating signal event SYSTEM/GweApiSetReady
0x830c8930: FS: Creating signal event SYSTEM/BatteryAPIsReady
0x830c8930: FILESYS: Starting storage manager.
0x830c8930: >>> Loading module fsdmgr.dll at address
0x03C60000-0x03C8E000
(RW d
ata at 0x01FD8000-0x01FD8808)
0x830c8930: FS: Registering file system StoreMgr, index 3, flags
0x00000001
0x830c8930: >>> Loading module ceddk.dll at address
0x03BF0000-0x03BF9000
(RW da
ta at 0x01FD0000-0x01FD00C4)
0x830c8930: >>> Loading module stratad.dll at address
0x02A90000-0x02AA6000
(RW
data at 0x01F1A000-0x01F1AB50)
it is loading our Flash driver dll also.

After this only it is hanging.Do u have any idea why it is hanging
here.

Thanks,
Gouri.

"Gary Swalling" wrote:

Hi Gouri,
Are you saying that if you download to SDRAM, you no longer have the
"block
0 locked" error? Did you work around that to allow the FAL to format
the
flash?

As far as behavior of loading in SDRAM versus loading from flash, is
the
bootloader jumping to the right place to load your code from flash?
It
looks like the bootloader tries to jump into the OS code and doesn't
get
very far...

I have noticed that when downloading the OS to RAM, a component or
application can be loaded automatically from the flatrelease
directory,
even
though it was not included in the image. Maybe you have some
component
that
is not properly included in nk.bin, so it loads for you when
downloading
to
RAM, but when booting from the flash, it doesn't have that same
connection
to the flatrelease directory...

Regards,
Gary

"gouri" <gouri@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:BD3EBDED-6802-4C2E-9977-6F89CA368D39@xxxxxxxxxxxxxxxx
Hi Gary,

If i downloaded the Iamge to SDRAM it is creating the Nor flash
folder.
If i downloaded the Iamge to Flash even display is not getting up.
It is hanging at...........

Download successful! Jumping to image at 0x9CA81000 (physical
0x81000)...
Got EDBG_CMD_JUMPIMG
Got EDBG_CMD_CONFIGWindows CE Kernel for ARM (Thumb Enabled) Built
on
Jun
24
200
4 at 18:25:00
ProcessorType=0411 Revision=7
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable =
9ca85ab4
Sp=ffffc7cc
OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35

Actually after this only Stratad.dll will be loaded.

I have tried with and without Hive based registry.In both cases
display
is
not getting up.

Am i missed any thing.Plesse Guide me.

Thanks,
Gouri.

"Gary Swalling" wrote:

Hi Gouri,
Are you saying that you set a breakpoint in FMD_Init and didn't hit
it
because the FMD is not getting loaded?
In that case, your MemSize and MemLength aren't being looked at
yet.

You mentioned that you included FAT and it looks like you selected
TFAT
format. Have you included TFAT? I think that at least in CE 4.2,
TFAT
required an additional dll. Maybe you could check the makeimg
output
for
the TFAT dll.

Also, I would check reginit.ini and ce.bib in the flatrelease
directory
to
make sure your reg and bib changes got included.

If all the components are included correctly, you should be able to
see
FMD_Init getting called.

Regards,
Gary

"gouri" <gouri@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:5D4F26C5-F93C-46ED-A72A-102EB2C79B5E@xxxxxxxxxxxxxxxx
Hi Gary Swalling,

I have build the Image in Debug mode and i have captured the
Debug
messages but in driver loading list i didn't find the
stratad.dll.I
have
Enabled the following in the Build options.

1.Enable CE target control support (SYSGEN_SHELL=1)
2.Enable Eboot Space in memory(IMAGEBOOT=1)
3.Enable full kernal mode (IMAGENOTALLKMODE=1)
4.Enable kernal debugger (IMAGENODEBUGGER=1)
5.Runtime image can be larger than 32 MB.

and i have modified the Project.bib and project.reg as i said
earlier.But
why it is not coming in the loading list i didn't get.Am i
missing
anything.Please help me.

Thnaks,
Gouri.
"Gary Swalling" wrote:

Hi Gouri,
Have you tried debugging FMD_Init to see if the flash driver is
being
loaded? And if so, what registry values it finds for MemBase
and
MemLength?

Regards,
Gary

"Bruce Eitman [eMVP]" <beitman.nospam@xxxxxxxxxxxxxxxxxxxxxx>
wrote
in
message news:uDuVgPzMHHA.3668@xxxxxxxxxxxxxxxxxxxxxxx
What about size, did you change that?

--
Bruce Eitman (eMVP)
Senior Engineer
beitman AT applieddata DOT net

Applied Data Systems
www.applieddata.net
An ISO 9001:2000 Registered Company
Microsoft WEP Gold-level Member

"gouri" <gouri@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:33D85E34-9653-4766-8733-BC080ED7D8F8@xxxxxxxxxxxxxxxx
Hi bruce,

I tried this option but still there no nor flash
folder.I
have
one
doubt here actually we have to use Uncached vertually address
only
right.Here
BE400000 is Uncached equivalent value of cached 9E400000.

Can anybody help me please.

Thanks,
Gouri.

"Bruce Eitman [eMVP]" wrote:

Change MemBase and MemLength to match what you put in
OEMAddressTable?

--
Bruce Eitman (eMVP)
Senior Engineer
beitman AT applieddata DOT net

Applied Data Systems
www.applieddata.net
An ISO 9001:2000 Registered Company
Microsoft WEP Gold-level Member

"gouri" <gouri@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:0ACA7842-3E06-4EE7-81A3-6F18C2EC1ACF@xxxxxxxxxxxxxxxx
Hi experts,

Currently workin on proving FMD support for Intel
Strata
NOR
flash
(K3
family of 32 MB) on pxa27x
platform with WinCE 5.0 .I amfacing a strange problem ,
wherein
i
not
able to mount the FAT
partition. The driver i am using is the sampe FMD code
given
by
Microsoft for
NOR flashes( strata folder in MSFLASHFMD).I am not able
mount
the
"NOR
folder" at boot time.

for this i have included the SYSGEN_MSFLASH_STRATAD=1
in
the
environmental variables and
i included the stratad.dll in project.bib like

stratad.dll
$(_FLATRELEASEDIR)\stratad.dll
NK
SH.

I have added the Registry settings to Project.reg file
like

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\StrataFMD]
"Dll"="stratad.dll"
"Order"=dword:2
"Prefix"="DSK"
"Ioctl"=dword:4
"Profile"="MSFlash"
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"MemBase"=dword:BE400000
"MemLen"=dword: 001E0000
"Index"=dword:1
"BlockSize"=dword:20000
"WriteBufferSize"=dword:20
"SectorSize"=dword:200
"IsPairedFlash"=dword:1


; Override names in default profile
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash]
"Name"="MSFLASH for STRATAFLASH"
"Folder"="NOR Flash"
"DefaultFileSystem"="FATFS"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"PartitionDriver"="mspart.dll"
"BootPhase"=dword:0


.



Relevant Pages

  • Re: FlashROM as a disk in CE 5.0
    ... flash i am getting the Debug messsages like following. ... 0x830c8930: FSREG: Mounted ROM portion of boot registry ... 0x830c8930: FS: Creating signal event SYSTEM/DevMgrApiSetReady ... Are you saying that if you download to SDRAM, you no longer have the "block ...
    (microsoft.public.windowsce.platbuilder)
  • Re: FlashROM as a disk in CE 5.0
    ... If i downloaded the Iamge to SDRAM it is creating the Nor flash folder. ... Download successful! ... I have added the Registry settings to Project.reg file like ...
    (microsoft.public.windowsce.platbuilder)
  • 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: missing images and flash player not working!
    ... Do you have any toolbar or other helper application that blocks Flash? ... Download to your desktop and double-click to merge to your registry or right ... Ensure that "Download Signed ActiveX controls" and "Run ActiveX ... You can check for your Flash install status here: http://www.macromedia.com/software/flash/about/ ...
    (microsoft.public.windows.inetexplorer.ie6.browser)
  • Re: WinCE 5.0 RegFlush on Cold Boot
    ... the highest risk when using flash is full corruption due to power ... I know that this is not what is happening and I'm sure this registry flush ... at boot would not wear out a flash block for years. ... constantly it would still last a decade before you had a failure. ...
    (microsoft.public.windowsce.platbuilder)