ARM or ARM4 for XScale

  • Thread starter Christian Waidner
  • Start date
C

Christian Waidner

Hi!

I've written a program with Visual Studio 2003 and now want to install
it on my PocketPC. It's an Asus MyPal 620 with an Intel XScale
processor. Visual Studio produces 6 different .cab-Files, including 2
for ARM-Architecture (which are suitable for XScale iirc).
Can anybody tell me the difference between the ARM-cab and the
ARM4-cab and which want to use to get better results on a XScale?

Thanks in advance for your help,
Chris
 
O

Ofer B.

What are all of these ARM binaries?

XScale supports the ARM v5 instruction set, however it is also backwards
compatible with the ARMv4 instruction set. There are three variants of this:

ARMv4 -> this supports only 32 bit ARMv4 instructions

ARMv4T -> 'T' stands for Thumb. Thumb is the ARM 16 bit instruction mode

ARMv4I -> 'I' stands for Interworking. This allows for 32-bit and 16-bit
instructions to co-exist

As for the other ARM processors:

StrongARM (SA1110) -> only supports ARMv4 instructions

ARM920T, etc -> Typically supports all three variants

The ..NET Compact Framework will provide three sets of binaries for ARM.

ARMv4 for PocketPC 2000 and Pocket PC 2002. This will run all ARM of the ARM
devices, including XScale. The cab that gets deployed to these devices only
has "arm" in the name.

ARMv4 for Windows CE.NET. This will run on Windows CE.NET devices compiled
with the ARMv4 kernel in Platform Builder. This will also be binaries for
Pocket PC 2003. The cab that gets deployed for these devices has "armv4" in
the name.

ARMv4T or ARMv4I for Windows CE.NET. This will run on Windows CE.NET devices
compiled with either the ARMv4T or ARMv4I kernels in Platform builder. The
cab that gets deployed to these devices has "armv4T" in the name.
 
J

John T

Ofer B. said:
ARMv4 -> this supports only 32 bit ARMv4 instructions...

ARMv4 for Windows CE.NET. This will run on Windows CE.NET devices
compiled with the ARMv4 kernel in Platform Builder. This will also be
binaries for Pocket PC 2003. The cab that gets deployed for these
devices has "armv4" in the name.

It's my understanding that devices upgraded from PPC2002 to PPC/Windows
Mobile 2003 should also use the ARMv4 binaries. Is this correct?
 
N

Neville Lang

John,

I have an Compaq iPAQ 3970 which uses the Intel XScale processor and
originally had the Pocket PC 2002 operating system. I have recently upgraded
to Windows Mobile 2003 and use the .NET CF SP2.

Under the original operating system, I used the ARM binaries generated for
my app under VS .NET 2003 and now under the WM2003 OS, I use the generated
ARMV4 binaries without any problem.

Regards,
Neville Lang
 
S

Steve Maillet \(eMVP\)

Yes the ARMV4 is for devices running Pocket PC 2003 . Other Windows CE.NET
devices may include the "T" depending on how the OEM built the OS for the
device but ALL Pocket PC 2003 builds will use ARMV4.
 
C

Christian Waidner

Hi again!

OK, thanks to all for the information, but this unfortunately doesn't
solve my problem. I know, that the Compact Framework is delivered as
seperate binaries (or cab-files) for different flavors of Windows
Mobile. But that's not the point.

What I'm interested in is this:
I've programmed an application with VS 2003. VS 2003 generates the
mentioned cab-files as output for my application. In the
cab/release-folder I got 2 arm-compatible archives (xxx_arm.cab and
xxx.armv4.cab). Which one should I use for what device and what is the
difference. There is no armv4, armv4i, ... -cab

Thanks again for your thoughts,
Chris
 
F

Flynn Arrowstarr

Hi, Chris

From what I'm gathering, if you're deploying to
WM2003/PPC 2003, use the Armv4.cab file. If you're
deploying to a PPC 2002, use the Arm.cab file. For PPC
2000 devices, there are three main possibilities:
Arm.cab, Mips.cab, and SH3.cab.

So here's the breakdown:

.cab OS version
---------------------------------
* Armv4 -- WM2003/PPC 2003 (all)
* Arm -- PPC 2002 (all) and PPC 2000 (iPaq)
* SH3 -- PPC 2000 (HP Jornada)
* MIPS -- PPC 2000 (Casio Cassiopia)

Hope this helps

Flynn
 

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