Mobile Apps - Registry settings for two partitions in NAND Flash? One for Hive and one for User? WinCE6.0

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
A00xFFFFFFFF00
(1)
A00xFFFFFFFF0
(1)
A00xFFFFFFFF
(1)
XFFFFFFFF
(1)
WinCE
(1)
Point0000000FFFFFFF
(1)
ReservedSizeAtStart
(1)
NoDefaultUser
(1)
  Taylor replied to Taylor
04-Feb-10 04:04 AM
=A0 =A0Entry point
0000000
FFFFFFF
=A00xFFFFFFFF
0
0
  Marcelovk replied to Taylor
05-Feb-10 07:46 AM
Hi Taylor

Do you have the source code for the nand driver?

Basicaly what you are trying to accomplish is possible with two
schemes: One is the two driver settings, when you tell inside the
driver the offsets and the maximum amount of memory that you want to
use, then have the two driver loaded (Check if the driver already has
this kind of thing (in the nor flash that I use it has a
ReservedSizeAtStart n the registry settings). The other one is to have
a partition tool in boot time to do that (a little more complicated).

Basically

Also, I=B4ve seen that you are using DSKK in the second driver. This
will be wrong, unless you change all the DSK_ entries in the driver
and in the def file to DSKK_ . So the second driver won=B4t load. If you
copy the keys from the first driver to the second one, of course you
=B4ll have two driver pointing to the same place.

The "IClass" values tells the system what are the capabilities of your
driver. The :"{A32942B7-920C-486b-B0E6-92A702A99B35}" says that your
nand flash is power manageable
The "Flags"=3Ddword:1000 tells it to load in the first boot phase. This
is needed when you want to have HIVE working (because you need to load
first the filesys, to load the registry to keep booting)

Please, take sometime reading about how the drivers are loaded in the
system, and how the Filesys/Storage Manager/Device Manager works. It
looks like that you are just random trying stuff to acomplish what you
want. Believe me, in Windows CE this will only lead you to
frustration.

Good Luck,
Marcelovk.













=A0 =A0 =A0Entry point
x00000000
xFFFFFFFF
=A00xFFFFFFFF
000
000
  Taylor replied to Marcelovk
05-Feb-10 07:16 PM
r
p
s
=A0 =A0 =A0Entry point
=A00x00000000
=A00xFFFFFFFF
0 =A00xFFFFFFFF
00000
00000
p
  Marcelovk replied to Taylor
08-Feb-10 06:14 AM
No Taylor, you cannot partition the driver in the boot time in the way
that you want. The only partitioning that you can do using the
registry is to set one partition that occupies the full memory range
that your driver tells that is avaliable(using AutoPart, AutoMount and
AutoFormat). But you can do an application that boots at run time and
do the partioning. Search for CreatePartition, FormatStore, here in
the groups, there is some source code done. Try to create first the
partitioning application, then try to use it at boot time. You=B4ll find
some trouble because of the HIVE registry, as you need to have the
application running very early in the boot time.

But the question is, why do you want to do that? The standard is to
have the HIVE registry mounted in a folder of the storage, and Windows
CE supports better this scheme.

Thanks,
Marcelovk


u
ser
ge
up
t
ins
h =A0 =A0 =A0Entry point
=A00x00000000
=A00xFFFFFFFF
000 =A00xFFFFFFFF
0000000
0000000
up
Create New Account
help
Mobile Apps Booting on a WinCE 6.0 on an ARM9 SOC based device Hi, I have a terminal device on which I want to explore migration to WinCE 6.0. The device runs on a Cirrus Logic EP9307 integrated SOC with 8M flash Using the u-boot shell, I can download image files over serial. I have a WinCE 6.0 BSP from Cirrus for the EDB9307 dev board - EDB9307 also runs the EP9307 I am very new to this and not sure of the complexity involved in getting WinCE up and running on this platform so will be working somewhat in the dark. My questions: * Is it possible to boot WinCE without using ethernet / eboot? Can I boot a WinCE image using the current boot loader - u-boot? * What is the general strategy for customizing needed to help understand the problem better. Thanks, Amit Hi Amit, 1. You can boot WinCE with some I / O devices, such as CF card, SD / MMC card, or Flash, if and File system recognition in bootloader. 2. Maybe you can use U-boot to boot WinCE if you've made sure that all memory address mappings are the same as WinCE
Mobile Apps Questions about WINCE 5.0's some basics Hi, everyone I'm a new guy for WINCE5.0 in Windows Mobile 5. I wanto know some answers for below questions before turning to WINCE 5.0 app-dev. 1. Does every WINCE 5.0 support .NET CF 2.0 ?? I'm used to program in C# and dont want to turn back to C++. 2. Does every WINCE 5.0 Device support ActiveSyn when connected to PC ?? 3. Does every WINCE 5.0 Device support MAPI ?? As you can see, my question is totally about how the WINCE 5.0 likes WM5. My plan is to develop an app in WINCE 5.0, which can send and receive SMS on a WINCE 5.0 device having a CF card GPRS modem, and can get the command from
loaded in kernel. - - Message posted via PocketPCJunkies.com http: / / www.pocketpcjunkies.com / Uwe / Forums.aspx / wince-programming / 200803 / 1 I don't understand one think: I made an project identical with for my problem? - - Message posted via PocketPCJunkies.com http: / / www.pocketpcjunkies.com / Uwe / Forums.aspx / wince-programming / 200803 / 1 VMini isn't the best example, since it doesn't involve hardware to loaded it ? - - Message posted via PocketPCJunkies.com http: / / www.pocketpcjunkies.com / Uwe / Forums.aspx / wince-programming / 200803 / 1 When I built my OS image in debug I see a line variable for this ? - - Message posted via PocketPCJunkies.com http: / / www.pocketpcjunkies.com / Uwe / Forums.aspx / wince-programming / 200803 / 1 Huh? Why is that? Sorry, but you don't seem to be than perfect. Thanks. - - Message posted via PocketPCJunkies.com http: / / www.pocketpcjunkies.com / Uwe / Forums.aspx / wince-programming / 200803 / 1 What is the purpose of your driver? You are building a device for in the help. Paul T. I don't want to sell anything, I use WinCE 6.0 for academic purpose only. This virtual driver it's like an programming exercise put stupid questions. - - Message posted via PocketPCJunkies.com http: / / www.pocketpcjunkies.com / Uwe / Forums.aspx / wince-programming / 200803 / 1 OK, but *are you building a device OS or not*? That's into kernel space. - - Message posted via PocketPCJunkies.com http: / / www.pocketpcjunkies.com / Uwe / Forums.aspx / wince-programming / 200803 / 1 Yes, that will work, too. Once you get the registry entries set
A bad, but often used analogy is the old MS-DOS / Windows 3.1 analogy. WinCE is sort of like DOS- and "PocketPC" like Windows 3.x. To get a Windows running "on top" of DOS- likewise to get a PPC app to run on a WinCE device, it has to have the PPC OS "running on top." Unlike the DOS / Windows Pocket PC" is not a general-use software package that can be installed on any WinCE device. It has to be customized by device manufacturers with hardware drivers for each device of hacking. Historically, some folks have managed to get some PPC apps to run on WinCE devices by copying (or writing from scratch!) missing support files and drivers to the WinCE device but this isn't for the faint of heart. While the info probably won PCs" (clamshell Windows CE devices developed prior to the PPC.) In addition, Casio made a WinCE device popular with hackers called the BE-200 (IIRC) that many folks managed to geta Windows Mobile Device. PPC and WM are built on WindowsCE, but other things can use WinCE as well, such as vending machines, Kiosks, Auto electronics and dedicated GPS units. Does your If embedded GPS chip is not running serial, so how . Why one application run under WinCE can not lt another WinCE application to be run ? Sorry for some many questions, but
Mobile Apps (WINCE - x86) SATA for WINCE 5.0 and 6.0 ? Dear Sir, I have some question for SATA on WINCE platform. 1. Does standard CEPC BSP of WINCE 5.0 and WINCE 6.0 CE support SATA HDD ? 2. if NOT support , How could I do to enable SATA HDD in WINCE 5.0 and WINCE 6.0 ? 3. In the WINCE 6.0 catalog , the storage have SATA item. Where is the standard SATA driver ? Could