Re: NO Flash - TFAT file system integration



Geez, Alexander! That's a LOT of questions! Next time, try splitting
them up into a couple of post, and I think you'll have better luck
getting them answered. Just to answer a few of your questions:

alexquisi@xxxxxxxxxxxx wrote:
I want to use TFAT for the storage (2). To carry out this, I integrated
the FMD provided in PB at
'C:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\BLOCK\MSFLASHFMD\FASL' in our
BSP.

Question: I followed the instructions from one of the articles written
by Steve Maillet in MSDN to create the copy in my BSP. It worked fine,
but I read that with PB 5.0 you can do now some similar using the
instructions in the help titled 'Cloning a Catalog Item'.
Never tried it. Is the second one the way to go when cloning items now?

To clone a catalog item, you obviously need a catalog item to clone,
and as far as I know FASL (aka Spansion/AMD/Fujitsu) dosn't have a
catalog item defined for it. But if it had, you oculd have done that
instead, yes.

My current registry settings are:

[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: 19400000; yes, it uses physical addresses
"MemLen"=dword: 6800000; 104 MB (2)

; Override names in default profile
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash]
"Name"="MSFLASH for FASL FLASH"
"Folder"="NOR Flash"

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\MSFlash]
"DriverPath"="Drivers\\BuiltIn\\FASLD"
; LoadFlags 0x01 == load synchronously
"LoadFlags"=dword:1
"Order"=dword:0

So far, it seems to be working (?). I can see the applet in the control
panel of my board. I could use the format option and finally create a
new partition.
I can see now the 'NOR Flash' folder in my system and I already stored
some files there, and after cold boot they are still there.

Question: that is my current state. Is it Ok what I did?

The only thing you might want to try is to remove the "AutoLoad"
section. "AutoLoad" entry in Storage Manager is usually only used to
load stand-alone (monolitic) drivers. Since you put the block driver
under "BuiltIn" the block driver is allready automatically loaded by
device.exe at startup. Since you have specified the block driver guid
IClass the storage manager will be notified when the driver loads and
it in turn will set up everything else that is defined by its Profile.

Q: is there a way that I can include in the storage area the upper 3 MB
(4)?
No, at least not without using multiple partitions. What you can do is
shift things around in the flash to creata a large continous flash file
system area.

Now I'm checking some registry settings that could be useful. For
example:

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash]
"Name"="MSFLASH for FASL FLASH"
"Folder"="NOR Flash"

;Automatically Mounts each detected partition (if FSD driver is
available)
; "AutoMount"=dword:1
;Automatically partitions the store with largest creatable
partition (???)
; "AutoPart"=dword:1
;Formats the store automatically
; "AutoFormat"=dword:1

As far as I know, with them I can do the formating and/or handling of
partition (?) after (the first) booting, so I would avoid to do it
manually (as I did it above).
Q: Am I right? It would be very useful in mass production.

Yes.

For the 'HIVE BOOT SECTION' tag, I don't get the concept of using it
for "starting drivers in the first boot phase...". May anybody explain
me that, please?
When using hive based registry, you need to load it from some sort of
persistant storage, right? Since you need information from the registry
on where to find the registry hive, what block driver and partition
driver etc. to load, you can't store that information in the hive based
part of the registry, because it has not yet been loaded. So, what the
HIVE BOOT SECTION tag denotes is that this part of the registry won't
be part of the hive, but will be present at startup, before actually
having loaded the registry hive.

Henrik Viklund
http://www.addlogic.se

.



Relevant Pages

  • Re: how to load in a build in driver whose index is greater 10 in Windows CE
    ... about the fact that numbers in the registry files are all hexadecimal, ... You must use the $device mount point to reference such a driver. ... Bruce Eitman [eMVP] wrote: ... But I likt this VCA12 as a build in driver, which will be load when the ...
    (microsoft.public.windowsce.platbuilder)
  • Re: "No .rel file found for module "
    ... about your dll, assuming it has gotten far enough to attempt to load it. ... I thought maybe it was the registry data too, ... The driver is straight from freescale and is supposedly good, ...
    (microsoft.public.windowsce.app.development)
  • Re: Getting a 2nd hard disk partition to mount in CE 5.0
    ... This sounds like a load order problem, although I've never seen this result (not mounting of 2nd partition). ... Then when the hive is restored and used driver D, C, B, A would load in that order. ... Once you figure out the differences between a clean boot and a hive boot, force that order by defining "Order" values in the relevant driver settings. ... Can you post your "profile" registry settings for the partitions and other relevant registry settings. ...
    (microsoft.public.windowsce.embedded)
  • Re: CE Event Log
    ... I guess it depends on *how* the registry is set, ... logging turned on in the driver, ... registry entries that you changed and why you're loading this driver, ... This is a Wifi device and I have a driver which does load and works. ...
    (microsoft.public.windowsce.embedded)
  • Re: "No .rel file found for module "
    ... it will only load if I launch the image with KITL enabled. ... I2C driver when it is launched through KITL. ... "Dean Ramsier" wrote: ... I thought maybe it was the registry data too, ...
    (microsoft.public.windowsce.app.development)