--cpu=name
Enables code generation for the selected Arm® processor or architecture.
If you do not include the --cpu
option,
armlink derives an architecture from the combination
of the input objects.
If you include --cpu=
, armlink:name
- Faults any input object that is not compatible with the cpu.
- For library selection, acts as if at least one input object is compiled
with
--cpu=
.name
Note
You cannot specify targets with Armv8.4-A or later architectures on thearmlink
command-line. To link for such targets, you must
not specify the --cpu
option when invoking armlink
directly.Syntax
--cpu=name
Where name
is the name of a
processor or architecture:
Processor and architecture names are not case-sensitive.
Wildcard characters are not accepted.
The following table shows the supported architectures. For a complete list of the supported architecture and processor names,
specify the --cpu=list
option.
Table 11-1 Supported Arm architectures
Architecture name | Description |
---|---|
6-M |
Armv6 architecture microcontroller profile. |
6S-M |
Armv6 architecture microcontroller profile with OS extensions. |
7-A |
Armv7 architecture application profile. |
7-A.security |
Armv7‑A architecture profile with
Security Extensions and includes the SMC instruction (formerly SMI ). |
|
Armv7 architecture real-time profile. |
7-M |
Armv7 architecture microcontroller profile. |
7E-M |
Armv7‑M architecture profile with DSP extension. |
8-A.32 |
Armv8‑A architecture profile, AArch32 state. |
8-A.32.crypto |
Armv8‑A architecture profile, AArch32 state with cryptographic instructions. |
8-A.64 |
Armv8‑A architecture profile, AArch64 state. |
8-A.64.crypto |
Armv8‑A architecture profile, AArch64 state with cryptographic instructions. |
|
Armv8.1, for Armv8‑A architecture profile, AArch32 state. |
|
Armv8.1, for Armv8‑A architecture profile, AArch32 state with cryptographic instructions. |
|
Armv8.1, for Armv8‑A architecture profile, AArch64 state. |
|
Armv8.1, for Armv8‑A architecture profile, AArch64 state with cryptographic instructions. |
|
Armv8.2, for Armv8‑A architecture profile, AArch32 state. |
|
Armv8.2, for Armv8‑A architecture profile, AArch32 state with cryptographic instructions. |
|
Armv8.2, for Armv8‑A architecture profile, AArch32
state with cryptographic instructions and the |
|
Armv8.2, for Armv8‑A architecture profile, AArch32
state with the |
|
Armv8.2, for Armv8‑A architecture profile, AArch64 state. |
|
Armv8.2, for Armv8‑A architecture profile, AArch64 state with cryptographic instructions. |
|
Armv8.2, for Armv8‑A architecture profile, AArch64
state with cryptographic instructions and the |
|
Armv8.2, for Armv8‑A architecture profile, AArch64
state with the |
|
Armv8.3, for Armv8‑A architecture profile, AArch32 state. |
|
Armv8.3, for Armv8‑A architecture profile, AArch32 state with cryptographic instructions. |
|
Armv8.3, for Armv8‑A architecture profile, AArch32
state with cryptographic instructions and the |
|
Armv8.3, for Armv8‑A architecture profile, AArch32
state with the |
|
Armv8.3, for Armv8‑A architecture profile, AArch64 state. |
|
Armv8.3, for Armv8‑A architecture profile, AArch64 state with cryptographic instructions. |
|
Armv8.3, for Armv8‑A architecture profile, AArch64
state with cryptographic instructions and the |
|
Armv8.3, for Armv8‑A architecture profile, AArch64
state with the |
8-R |
Armv8‑R architecture profile. |
8-M.Base |
Armv8‑M baseline architecture profile. Derived from the Armv6‑M architecture. |
8-M.Main |
Armv8‑M mainline architecture profile. Derived from the Armv7‑M architecture. |
8-M.Main.dsp |
Armv8‑M mainline architecture profile with DSP extension. |
Note
- The full list of supported architectures and processors depends on your license.
Usage
If you omit --cpu
, the linker auto-detects
the processor or architecture from the input object files.
Specify --cpu=list
to list the supported
processor and architecture names that you can use with --cpu=name
.
The link phase fails if any of the component object files rely on features that are incompatible with the specified processor. The linker also uses this option to optimize the choice of system libraries and any veneers that have to be generated when building the final image.
Restrictions
You cannot specify both a processor and an architecture on the same command-line.