[Buildroot] [PATCH] Add thumb support to buildroot for the ARM architecture

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Fri Mar 14 13:56:55 UTC 2008


Le Fri, 14 Mar 2008 14:19:29 +0100,
Thomas Petazzoni <thomas.petazzoni at free-electrons.com> a écrit :

> However, there is quite a big difference between your S3C2440 real
> hardware and the Qemu versatilepb emulation. S3C2440 is based on 920T
> as you say, which supports the ARMv4T ISA. But the versatilepb
> emulation of Qemu emulates an ARM926EJ-S CPU, which supports the
> ARMv5TEJ ISA. And as far as I understood, there are some differences
> in the ARM <-> Thumb switch capabilities between ARMv4T and ARMv5T.

In particular, from the ARM architecture manual:

«
BL (H == 10 and H == 11 forms) is in all T variants.
BLX (H == 01 form) is in T variants of ARMv5 and above.
»

So on your S3C2440, the 'blx' instruction is not supported. And this
instruction can especially be used to do interworking. So if gcc
generated this instruction, it of course will fail with the "illegal
instruction" exception.

Sincerly,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Free Embedded Linux Training Materials
on http://free-electrons.com/training
(More than 1500 pages!)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20080314/729ea7f3/attachment.asc>


More information about the buildroot mailing list