Asked By Taylor
02-Feb-10 02:39 PM

Hello!
I am trying to set up a new WinCE 6.0 device with two persistent
partitions - one to store the Hive and one to store data that the user
can access.
Ideally, I will set the user partition to show up as external storage
when plugged into a PC, but I am pretty sure I know how to do that
part.
My real issue is that I cannot get two different partitions to show up
under "My Device". The default BSP came with one - "NAND Flash" that
is linked to a partition in the flash called "pstorage" which contains
the hive.
Using the bootloader (RedBoot), I added a user partition in flash
called "user" as seen below:
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0xE0000000 0xE0000000 0x00040000 0x00000000
pstorage 0xE1000000 0xA0100000 0x02000000 0xFFFFFFFF
user 0xE3000000 0xA0100000 0x03000000 0xFFFFFFFF
FIS directory 0xE7F60000 0xE7F60000 0x0001F000 0x00000000
RedBoot config 0xE7F7F000 0xE7F7F000 0x00001000 0x00000000
For the life of me though, I cannot get any "User" partition to show up
in "My Device" in explorer. I have tried lots of different
configurations, and none seem to work.
Some of the configurations leave me with two partitions - "Nand Flash"
and "Nand Flash2", but they both seem to reference the same physical
partition in the flash, as they both end up containing the registry,
and any changes to one show up in the other.
Interestingly, I can change the reference from the "pstorage"
partition to the "user" partition in the original NAND driver, and
have verified that it will use that larger partition, so the physical
partition on the flash seems to work, I just cannot get windows CE to
see both partitions at the same time.
At the end of this post are my current settings, which basically have
no effect ("My Device" just shows the original "Nand Flash" partition
like it always has, with no other partition shown).
Other things I have tried are:
changing the
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\PStorage\]
key to:
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\PStorage\Part00]
and then making another one that says:
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\PStorage\Part01]
That did not do anything if I recall correctly.
My current strategy has been to try listing two "drivers". The default
NAND driver, and one I made called "UserStore" with basically the same
settings, but a different value for "Partition", referencing my "user"
partition.
I have tried it both in and out of my Hive registry section, but that
does not seem to have any effect.
I am really new to this all, and I basically have no idea what I am
doing at this point - but this is the only thing that has been so
troubling for me; I have been able to figure most of this stuff out just
fine except for this.
My questions are:
Am I going about this the right way? Should I be making two physical
partitions in redboot and then treating them separately in the
registry?
Or should I make one physical partition and set my registry up to make
two disks out of it somehow? I am not even sure what the nomenclature
for that should be.
If two physical partitions in redboot is fine, how do I get the system
to "see" and mount the "user" partition? Do I need to create keys for
a separate "Driver" like:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\User_Store]
or is that wrong?
Also, I have seen some references to running some C code to do things,
but I am not even sure where to do that and do not know much about it.
I'd *really* like to accomplish this via registry changes.
Any help would be appreciated. I have searched exhaustively for a few
days now, and tried as many configurations as I can. None seem to
work.
Below are my registry settings that currently do not work (that is,
everything boots, but i do not see my "User" partition mounted in "My
Device" or under Storage Manager unmounted)
; HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\init\BootVars]
RegFlushKey