XPE or Windows CE as I/O Controller Box.

J

John Smith

Hi all, I'm totally newbie in XPE and WinCE so sorry if the questions
are stupid, yet I would really appreciate if someone would take the time
to answer ;-)

I would like to use a box as controller for some multimedia devices.

When receiving some inputs (ethernet / parallel port / serial port) the
box would make some computations and then would send some output
signals (ethernet / parallel port / serial port / firewire / twain /
wia / DirectShow filters and so on ...) to control some multimedia
devices as synchronously as possible.

The box would be a dedicated box so I really do not need anything else
than a service launched at start time and the communication / multimedia
layers. I even do not need GUI or other services ... the ideal would be
a standalone app without any multitasking OS. MS-Dos would be enough if
only it would provide all the communication / multimedia layers !

So my questions are :

Q1: which of XPE / WinCE would be better for this project ?
I would prefer XPE because I better know the classical Windows
programming and never tried WinCe. Besides I don't know if WinCE would
fit for a classical x86 computer box and I also don't know if I would
find all the API / communication / multimedia / driver layers to control
all my multimedia devices.

Q2: If I choose XPE, how light can I configure it to be ?
Is it possible to have something as light as the kernel, the drivers and
layers for the multimedia devices, but nothing else ... no GUI, no
screen, no logon, no keyboard, no mouse, no other services, no other
tasks or interrupts ... just a single service as high a priority and as
real time as possible listenig input ports and sending the output
signals. If not which is the best approximation ?

Q3: In this case, How much place would it take, how fast would it boot ?

Q4: I also found on the web On Time RTOS-32 which seems to be a sort of
light Windows kernel to execute real-time apps. Someone tried it ? Do
you think it would suit my needs ?

TIA,
JS.
 
S

Slobodan Brcin \(eMVP\)

Windows XP Embedded side of answers to your questions:

A1: Consider your knowledge and time you will need to invest in learning XPe
or WinCE. and since you said that you will use x86 device logical choice
would be XPe.
A2: If can be lighter than 5 MB but it would be kernel only (no much use for
this).
In 10 MB you could put all drivers that you need, but you will need to write
your program as driver.
DirectShow will compromise everything since you will need Win32 subsystem,
etc..
Here we are talking about 64 MB image given or taken 16 MB.

A3: You could always resume your image from hibernation.
My best time so far is less than 2 seconds from end of POST (This was
P4-2400 800Mhz Intel 875 chipset (Chaintech board), ATI Radeon 9500).
But with different graphic card (NVIDIA GeForce MX-440 8x) and board
manufacturer same image resume in less than 8 seconds.
But this is probably result of different graphic drivers and since you don't
need them, then ....
Normal boot time on this machines is between 12..15 seconds for my needs.
BTW my image size is currently little above 64 MB.

This will depend mostly on type of hardware you use drivers and BIOS
implementation of int 13 read requests.

A4:
I have never tried this.


Regards,
Slobodan
 
J

John Smith

Thank You Slobodan,

Could you please also answer the questions below.

My goal is too achieve this project as quickly as possible. So I would
like too spend the less time in learning new technologies.

So I also think XPE would be a good solution. 64 Mo seems OK to me, the
goal is not to have the lighter OS but the less disturbed by other tasks
to achieve the more real-time possible execution for my app. A few
seconds to boot that's also right.

My questions :

Q1 : keeping the win32 subsystem and DirectShow layer, can I still
remove all the unnecessary devices / drivers : graphic card, mouse /
keyboard ...

Q2 : Using a box without screen / keyboard / mouse is it possible to
redirect message boxes to a log and automatically reboot the system if
an error occurs

Q3 : about hibernation : I would like to always resume from the same
point no matter what happened during the previous session.
Can I save the initial state of the box so that all the times the box is
powered the OS will be in this same initial state.
What I mean : let's say I reboot harshly, or there is a power loss, so
the system can't go to hibernation ... I would like that when powered
the system starts from the "initial state hibernation".

I think that this is possible with a "normal boot sequence" on a read
only media. Is this also possible with Hibernation ? How do I save the
initial state ?

Regards,
JS.
 
S

Slobodan Brcin \(eMVP\)

A1:
When we talk about XPe we don't talk about removing features, but more like
adding features to empty project.
So you can add/remove all things that are not absolutely needed for your
project. (drivers,services,programs, etc)

A2:
Yes it is possible to configure XPe for completely headless operation.
But log option would collide with hibernation you want in Q3. (So you must
not write anything to disk if you plan to use hibernation in a way that you
resume same image many times)

A3:
It is possible with regular XPe, with slight modification of BIOS int 13.
Also if you don't feel comfortable with programming then there is readyon
solution from http://www.vci.com/ .
Anyhow you should not log or change data on your disk in this scenario.

Regards,
Slobodan
 
J

John Smith

Thank You Slobodan,
A1:
When we talk about XPe we don't talk about removing features, but more like
adding features to empty project.
So you can add/remove all things that are not absolutely needed for your
project. (drivers,services,programs, etc)
Great.


A2:
Yes it is possible to configure XPe for completely headless operation.
But log option would collide with hibernation you want in Q3. (So you must
not write anything to disk if you plan to use hibernation in a way that you
resume same image many times)

I was thinking to use 2 partitions or 2 flash cards : one for the OS
read-only, a second for data, writable.
I think this should be realisable, isn't it ?

A3:
It is possible with regular XPe, with slight modification of BIOS int 13.
Also if you don't feel comfortable with programming then there is readyon
solution from http://www.vci.com/ .
Anyhow you should not log or change data on your disk in this scenario.

What product from VenturCom ? What I see is some real-time kernels or
add-ons but what would help the restore from hibernation herein ?


Regards,
JS.
 
S

Slobodan Brcin \(eMVP\)

A2> This is something you will need to find out by yourself. I have no idea
how VenturCom solution solves the problem with active file system that is
not protected and preserved in same state during each boot. No matter how
manny disks you have, you will need to close FS before hibernation and
restore is after hibernation if you want your data undamaged during resume
process.

A3> Like I said "ReadyOn" solution.

Regards,
Slobodan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top