Arm Compiler 6
Download and install a development suite containing the Arm Compiler 6 for your operating system.
Set these environment variables:
Set
ZEPHYR_TOOLCHAIN_VARIANT
toarmclang
.Set
ARMCLANG_TOOLCHAIN_PATH
to the toolchain installation directory.
The Arm Compiler 6 needs the
ARMLMD_LICENSE_FILE
environment variable to point to your license file or server.
For example:
# Linux, macOS, license file: export ARMLMD_LICENSE_FILE=/<path>/license_armds.dat # Linux, macOS, license server: export ARMLMD_LICENSE_FILE=8224@myserver# Windows, license file: set ARMLMD_LICENSE_FILE=c:\<path>\license_armds.dat # Windows, license server: set ARMLMD_LICENSE_FILE=8224@myserver
If the Arm Compiler 6 was installed as part of an Arm Development Studio, then you must set the
ARM_PRODUCT_DEF
to point to the product definition file: See also: Product and toolkit configuration. For example if the Arm Development Studio is installed in:/opt/armds-2020-1
with a Gold license, then setARM_PRODUCT_DEF
to point to/opt/armds-2020-1/gold.elmap
.Note
The Arm Compiler 6 uses
armlink
for linking. This is incompatible with Zephyr’s linker script template, which works with GNU ld. Zephyr’s Arm Compiler 6 support Zephyr’s CMake linker script generator, which supports generating scatter files. Basic scatter file support is in place, but there are still areas covered in ld templates which are not fully supported by the CMake linker script generator.Some Zephyr subsystems or modules may also contain C or assembly code that relies on GNU intrinsics and have not yet been updated to work fully with
armclang
.