ARM Linux

ARM Linux was a headache.

ARM Ltd. provide a platform which I compile on and GCC in the last three years has been upgraded; it’s now on 4.5.0.

I compile, there are weird error messages on the inline assembly, implying thumb mode was being used when compiling.

GCC docs indicate ARM by default.

There’s an undocumented GCC switch, “-marm”, which forces the compiler to emit ARM (which according to the docs is the default mode).

I suspect maybe the compiler I have is custom built and emitting thumb by default.

Anyways, means I need to modify the 6.1 makefile for Linux. However, the “-marm” flag should be pretty harmless, as the ldrexd/strexd instructions aren’t supported in thumb, e.g. there are no thumb users.

Oh, also, the “armv6k” architecture seems to have disappeared; there is now an “armv6zk”, which I’m using, but I can’t find out what the “z” signifies!

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Anti-Spam Quiz: