Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



ARMV6 build target

The ARMV6 build target builds to the ARMV6 architecture. Like the ARMV5 target, the target requires the ARM's RealView Compilation Tools (RVCT) v2.2 build 616 from Symbian OS v9.4 onwards.


Building binaries for ARMV6

To build for ARMV6 with abld, use:

> abld build ARMV6 | ARMV6_ABIv2 [udeb | urel]

Binaries are generated in the udeb and/or urel sub-directories of the epoc32\release\ARMV6\ directory for ABI v1 and epoc32\release\ARMV6_ABIv2\ directory for ABI v2.

As per the conventional approach mentioned above, the build targets ARMV6 and ARMV6_ABIv2 are used to build binaries conforming to ARMV6 ABI v1 and ABI v2 respectively. Since Symbian OS v9.4 and later, the behaviour of these native build targets (ARMV6 and ARMV6_ABIv2) has changed. The build target ARMV6 is used to build binaries conforming to ABI v2 instead of ABI v1, and ARMV6_ABIv1 is used to build binaries conforming to ABI v1. Also, the release directories have changed to epoc32\release\ARMV6\ for ABI v2 binaries and epoc32\release\ARMV6_ABIv1\ for ABI v1 binaries.

You can switch back to the old approach, where the targets ARMV6 and ARMV6_ABIv2 will build binaries conforming to ABI v1 and ABI v2 respectively. For more details on this, refer to Switching between ABI modes.

Library export (.lib) files are generated in the epoc32\release\ARMV5\lib\ directory. This directory is used as the LIB file format does not vary for processor architecture after ARMV5.

Note that code is not built for ARMV6 target by default. It has to be explicitly specified on the command line or with a prj_platforms statement in the component's BLD.INF file.

[Top]


IDE (CodeWarrior) support for ARMV6

To build for ARMV6 from the CodeWarrior IDE, specify ARMV6 as the target in the Platform Selection field when importing a project from an .mmp file. ARMV6 binaries can then be built by setting the target to ARMV6 UREL or UDEB.

From the command line, to generate a CodeWarrior XML project file for ARMV6 use:

> makmake <project>.mmp CW_IDE:ARMV6

and then import the generated XML file from the IDE.

Note that ARMV6 target is not created by default. It has to be explicitly specified either on the command line through makmake or in the Platform Selection field.

[Top]


Customisation for ARMV6

The build system provides the ARMV6 target by providing a build specialization file (BSF) in the epoc32\tools\ directory. The BSF files for ABI v1 and v2 builds are ARMV6_ABIv1.BSF and ARMV6.bsf respectively. For more information about BSF mechanism, refer to ARMV5 build customisation.