[OE-core] [PATCH 4/5] tune-cortexm3.inc: Cortex-M3 doesn't support ARM instructions

Phil Blundell pb at pbcl.net
Sun Apr 27 15:22:45 UTC 2014


On Fri, 2014-04-25 at 18:40 +0200, Martin Jansa wrote:
> Extracted from "Cortex-M3 Technical Reference Manual":
> "The processor implements the ARM v7-M architecture. This includes the entire
> 16-bit Thumb instruction set and the base Thumb-2 32-bit instruction set
> architecture. The processor cannot execute ARM instructions."

This is true, though it's worth noting that the Thumb-only restriction
is generic to ARMv7-M and not specific to Cortex-M3.  This tune file
seems to conflate the architecture and the particular CPU slightly and
it seems like some refactoring might be desirable, though obviously that
doesn't make your patch wrong.  Also...

>  PACKAGE_EXTRA_ARCHS_tune-cortexm3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7m-vfp"

... this seems a bit bogus.  Presumably
${PACKAGE_EXTRA_ARCHS_tune-armv7at} will include "arm" and a bunch of
other architectures, some of which (e.g. armv4) are more or less
guaranteed to be 32-bit code.  Without a wholesale rethink of the way
that PACKAGE_ARCHs are done on arm, it doesn't seem very safe for armv7m
machines to admit any earlier architecture at all in their
PACKAGE_EXTRA_ARCHS.

p.





More information about the Openembedded-core mailing list