> Thanks for your input. If I understand correctly, the code compiled for the ARM processor should run on the Intel Xscale?
This is true.
> I take it the Xscale is a ARM processor. It's been awhile since I owned a WinCE PDA and I remember that there were three different processors - each one had to have the code specially compiled for it. I take it that's not the case now?
I'll try to bring some light into the MS chaos of version names. I give _no_ guarantee that the following information is correct. So I'm not responsible for decisions you made base on this perhaps wrong information!
There exist some kernel versions of a Windows embedded OS. The most common are:
- Windows CE 2.2
- Windows CE 3.0
- Windows CE .Net 4.2
- Windows CE 5.0
Then we have some keyless Pocket PC's with the OS:
- Windows CE 3.0
- Pocket PC 2000 using the Windows CE 3.0 kernel
- Pocket PC 2002 (aka Windows mobile 2002 for Pocket PC) using the Windows CE 3.0 kernel
- Pocket PC 2003 (aka Windows mobile 2003 for Pocket PC) using the Windows CE .Net 4.2 kernel
- Pocket PC 2003 SE (aka Windows mobile 2003 SE for Pocket PC) using the Windows CE .Net 4.2 kernel ?
In the example above we have three OS versions with a Windows CE 3.0 kernel, they differ esspecially in the number of API functions. Emu42PPC and Emu48PPC are Pocket PC 2002 applications which use API calls exist only in Pocket PC 2002 and later, so they can't run on Pocket PC 2000 devices.
Pocket PC 2002 applications mean: I build them with eVC++ 3.0 compiler and the Pocket PC 2002 SDK.
Now to the CPU's you asked for:
StrongARM, XScale, Bulverde are chips for embedded systems from Intel. Intel licensed the ARM CPU core inside. I mentioned in my earlier mail the Samsung S3C2410 chip. This chip use the same or quite equal core (ARM 920T). Because of this, binary code for the Intel chips can also be executed on the Samsung chip.
Earlier WinCE OS supported several different incompatible CPU's (MIPS, SH3, SH4, x86, ...). This mean the OS and the application was specially compiled for this CPU. There was also a meta binary format for applications that the OS should convert into the necessary CPU binary format before running. This concept never worked very successful (speed reasons).
Now back to the Pocket PC 2002 versions. Pocket PC 2002 PDA's were the first one, only sold with an ARM core CPU. Most one with the StrongARM and the later one with the XScale CPU's. PDA's with XScale CPU are slower than the one with StrongARM CPU at same clock speed running on Pocket PC 2002. This was fixed with the Pocket PC 2003 version, because this OS was especially optimized for the XScale CPU's. Currently all Pocket PC 2002, 2003, 2003 SE devices use an ARM core CPU with compatible binary files. Differences are only in the Win API. So Pocket PC 2002 supports no multimedia timers, where the Windows CE .Net 4.2 kernel and the OS base on this kernel do.
Finally some word to the Windows CE 5.0 kernel. This kernel should be available for MIPS, ARM, SH, x86 CPU cores. So forthcoming keyless Pocket PC PDA's using the Windows CE 5.0 kernel may need different compiled applications.
> The Dell X30 with 624MHZ processor and WiFI/Blue Tooth at about $300 looks like a great deal. My birthday's coming up, so I'm thinking I deserve to buy myself a gift.
I can only repeat my previous mail, from the technical aspects it _should_ work, but I haven't tested this so I must say I don't know.
Regards
Christoph