Page 1 of 2 12 LastLast
Results 1 to 10 of 13

Thread: Run WinCE & XP together

  1. #1
    FLAC ShawJohn's Avatar
    Join Date
    Aug 2004
    Location
    On the edge!
    Posts
    1,790

    Lightbulb Run WinCE & XP together

    After reading a recent post about this I did some reading and found this...
    Might help get Tomtom running on PC! Seems to let the two OS's talk to each other through TCP/IP but yet run in their own memory space.

    *Thoughts...*

    ************************************************** ********

    Windows XP doesn't provide real-time capabilities, hindering its utility for industrial applications. However, because it supports so many apps, sometimes it would be useful to have it running on the same platform as Windows CE.

    That's possible with the CeWin extender from Kuka Roboter, which enables Windows CE and Windows XP to run together on one PC.

    This paper will describe the technology. CeWin is software only real time extension technology for the desktop Windows has been developed, which guarantees deterministic response on interrupts which are targeted to Windows CE. Theses interrupts can be generated by any PCI- or ISA- PC plug in board controlled by Windows CE and have always a higher priority than the desktop Windows.

    As long as at least one Windows CE task is active, the processorís execution time is available exclusively for Windows CE. In other words, only if all Windows CE tasks have given up their execution time, Windows will be reactivated. This is done when Windows CE falls into the so called idle task of Windows CE. From this point of view, one can say, desktop Windows runs as the idle task of Windows CE. The Windows CE idle task controls the re-activation of Windows. This makes it possible for the programmer to control the sharing of the processor between the two operating systems according to the requirements of the application.

    The CeWin product license from KUKA Roboter only consists of the coupling mechanisms to have both operating systems concurrently on the same PC. However, it does not include the two also needed original Microsoft licenses for Windows XP and Windows CE. Those have to be procured at the official Microsoft distributors. After installing the two original software products, the installation of CeWin has to be done at last.

    Communication between Windows CE and desktop Windows
    The TCP/IP-protocol is used for communication between Windows CE and Windows XP using shared memory areas. For this purpose two corresponding network drivers have been developed for both sides, Windows XP and Windows CE.

    Both systems can exchange data over the commonly accessible shared memory area as they would do via an Ethernet line. Using the Windows built in IP-Forwarding feature, Windows CE can access other systems, which are connected to the Windows XP TCP/IP network.

    This communication method has the advantage, that the two systems can be torn apart and connected by a real Ethernet line without changing one of the applications. This makes sense, if the real time target system is not only PC-based but also an embedded system like a stand alone controller without Windows PC functionality.

    For a more direct TCP/IP connection to systems outside of the PC an additional Ethernet hardware can be used. An Ethernet board, which is supported by a standard Windows CE driver, can be plugged in into the PC. Usually, this will be an additional Ethernet board beside the first one, which is used by Windows. CeWin can control this Ethernet board directly.

    Using the standard TCP/IP protocol, any additional Windows CE products can be used together with CeWin, e. g. development systems like Platform Builder or Kernel Tracker. As Windows CE and Windows XP run on the same processor, no special host is required for the development.

    For the run time system, TCP/IP sockets etc. can be used for proprietary communication protocols between Windows and Windows CE programs. Alternatively standard mechanisms like DCOM or SOAP may be used for communication.

    From the point of view of the Windows CE or the Windows XP applications there is no difference between running under CeWin on the same PC or as usual running on two different systems. Host and target system are identical.


    Loading and starting of CeWin

    After Windows XP is up and running, CeWin can be started by uploading the Windows CE image file with a little loader tool which is a Win32 application and easily can be integrated into a user written Windows XP application. This application communicates with the CeWin interface driver which was loaded during the boot sequence of Windows XP. Initially, the loader calls the driver to allocate memory that Windows CE later uses for code and data. The allocated memory is guaranteed to be fixed (not swapped to disk) and the code running in this memory has the highest privilege level (Ring 0). The next step of the loader is to read the Windows CE image from disk, and copy it to the allocated memory on behalf of the driver. After the code and data are relocated to the loading address, Windows CE is started by calling the init function of Windows CE. As soon as all initialization tasks are idle, the init function returns and the loader terminate. From now on, Windows CE only will be activated by real time interrupts followed by task scheduling.


    Activation of CeWin by interrupts

    The interrupts for Windows CE as well as for Windows are received directly from the Programmable Interrupt Controller (PIC) of the PC. However, the real time Extension technology assures that the interrupts enabled for Windows CE always have higher priority than everything in Windows (including Windows interrupts). These interrupts will interrupt Windows XP or CeWin tasks within a few microseconds and call the corresponding Windows CE interrupt service routine (ISR). After returning from the ISR, but before returning to Windows, the system checks, if there are any Windows CE tasks ready to run. If this is the case (one or more tasks has been activated within the ISR), the system will not return to Windows, but it will activate the corresponding Windows CE task, first. Those tasks keep on running until all of them will be suspended again. The system then enters the idle task of Windows CE, which will lead to a return to Windows XP. Since Windows XP only will be re-activated, if all Windows CE tasks are idle, one can say that Windows XP runs as the idle task of Windows CE. The Windows CE idle task controls the re-activation of Windows. This makes it possible for the programmer to control the sharing of the processor between the two operating systems.


    Exception Handling of Windows CE

    Whenever Windows CE is activated via the ISRs a new exception table is loaded by only one assembler instruction. Therefore the exception handling for page faults, debugging, and so on is exactly the same as it is by Windows CE running stand alone. Before falling back to Windows, its exception table is re-loaded.
    The arithmetic Co-Processor also can be used within CeWin without any restrictions. Since it is possible that the interrupted Windows has the Co-Processor currently in use, the state of the arithmetic Co-Processor is saved whenever Windows CE needs it and restored before returning to Windows.

    Target Market
    Real Time Extender for Windows XP using Windows CE

    PC-based automation (PLC, Motion Control)
    Real Time Measurements and Controls
    PC and HMI add on for existing Windows CE applications
    Windows CE target simulation with real time behavior and hardware access

    Technical Features
    Full usage of the RTOS Windows CE concurrently to desktop Windows
    Multitasking, Intertask communication, Win32 API
    TCP/IP Stack, ISAPI, ASP, SOAP etc.
    Optional Products
    Runtime environment for C, C++, C#, Visual Basic etc.
    Software only solution, no additional hardware necessary
    Usage of the well known Microsoft development tools for desktop Windows as well as for the RTOS development
    Graphical real time analysis tools (Kernel Tracker etc.)
    High resolution real time timer, granularity ca. 0.8 us
    Hardware access to ISA and PCI plug in boards
    Usage of the original Win32 API for Windows CE
    All additional features of Windows CE are usable
    Communication between desktop Windows and Windows CE via shared memory TCP/IP. Usage of DCOM or SOAP possible.
    Access of the Windows hard disc (using a directory share)

    Commercial Features
    No need for additional intelligent co-processor board nor separate control
    Reduction of hardware costs
    Less hardware components: Reduction of failures
    More compact controls possible
    Small learning curve
    Known tools (Visual Studio, Visual Basic etc.)
    Win32 API
    Re-usage of existing Windows CE Software and Know How is possible
    Two scaled versions available
    Low cost entry product CeWin LE (Light Edition)
    Full version CeWin PE (Professional Edition)

    How to work with it?
    Microsoft tools as the Integrated Development Environment (IDE) to develop and debug real time applications

    Wizards to generate applications

    Development, test and debugging of the real target (no simulation) possible on the same PC with Visual Studio

    Communication between desktop Windows and Windows CE via shared memory TCP/IP

    Start and stop of the RTOS can be done after Windows is up and running by a Win32 application. This application can be built in into a user application (DLL).
    ************************************************** ********
    Taken from http://www.windowsfordevices.com/art...263960940.html

  2. #2
    FLAC SFiorito's Avatar
    Join Date
    May 2004
    Posts
    1,365
    Isn't TomTom Navigator only for ARM devices? So it won't work period besides in the Windows Mobile emulator from MSFT.

  3. #3
    FLAC ShawJohn's Avatar
    Join Date
    Aug 2004
    Location
    On the edge!
    Posts
    1,790
    Why not? I thought you could get TOMTOM for WinCE PDA's ?!?!

    This would allow you to install WinCE in tandem with WinXP on an x86 PC, running the two OS's in different memory spaces, and letting them communicate by TCP/IP. AFAIK Its like a Virtual PPC or something. If I could find a trial or a torrent or a newsgroup etc. I would have a play but so far drawn a blank. ANd Im not buying it on speculation

  4. #4
    FLAC ShawJohn's Avatar
    Join Date
    Aug 2004
    Location
    On the edge!
    Posts
    1,790
    Anyone else tried the CEWin approach?

  5. #5
    FLAC SFiorito's Avatar
    Join Date
    May 2004
    Posts
    1,365
    ARM is a processor. a lot (most?) Windows PDA's use it. TomTom Navigator is compiled for ARM processors. it won't run using this CEWin product.

  6. #6
    FLAC ShawJohn's Avatar
    Join Date
    Aug 2004
    Location
    On the edge!
    Posts
    1,790
    booooo

  7. #7
    FLAC ShawJohn's Avatar
    Join Date
    Aug 2004
    Location
    On the edge!
    Posts
    1,790
    what about this then... An ARM emulator:

    http://fabrice.bellard.free.fr/qemu/

  8. #8
    FLAC ShawJohn's Avatar
    Join Date
    Aug 2004
    Location
    On the edge!
    Posts
    1,790
    Another idea is to use JavaVM to run a PPC program?

    Wouldn't that work?

  9. #9
    FLAC SFiorito's Avatar
    Join Date
    May 2004
    Posts
    1,365
    MSFT already has a PPC emulator and MP3Car members have already tried to run Navigator through it. It's way too slow. And exactly how would you run a WinCE program compiled for ARM processors through a Java VM??????

  10. #10
    FLAC ShawJohn's Avatar
    Join Date
    Aug 2004
    Location
    On the edge!
    Posts
    1,790
    I thought Java was platform indipendent, designed to make web apps run on any pc hardware, Unix/x86/mac etc...?!? Or am I wrong?

Page 1 of 2 12 LastLast

Similar Threads

  1. Another crazy mod: RAM booting XP (no, not EWF)
    By SFiorito in forum WinNT Based
    Replies: 11
    Last Post: 01-18-2007, 07:39 PM
  2. Can I upgrade XP home to prefoessional?
    By Skipjacks in forum Software & Software Development
    Replies: 8
    Last Post: 01-30-2005, 08:06 AM
  3. XP on CF II Drive
    By NOS TANG in forum Software & Software Development
    Replies: 13
    Last Post: 11-30-2004, 01:20 PM
  4. for those looking to decrease memory load from xp
    By saikano in forum Software & Software Development
    Replies: 16
    Last Post: 07-18-2004, 06:05 PM
  5. how well will xp run on this machine?
    By Ram000 in forum General MP3Car Discussion
    Replies: 11
    Last Post: 05-25-2004, 07:33 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •