Symbian3/SDK/Source/GUID-1BA6BC6E-0B77-5B8A-AEF6-9E5DBAB36254.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 21 Jan 2010 18:18:20 +0000
changeset 0 89d6a7a84779
permissions -rw-r--r--
Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept xml:lang="en" id="GUID-1BA6BC6E-0B77-5B8A-AEF6-9E5DBAB36254"><title>Overview of the native build targets</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Symbian platform natively runs on ARM processors that use the standard Application Binary Interface (ABI) to run the binary code. This standard interface enable the binaries created by different compilers (that meet the ABI standard) to operate together. For more information about the ABI specification, see <xref scope="external" href="http://www.arm.com/products/DevTools/ABI.html">http://www.arm.com/products/DevTools/ABI.html</xref>. </p> <p>The Symbian platform build tools define native build targets that use either the ARM's RealView Compilation Tools (RVCT), or the GNU Compiler Collection (GCC), known as GCCE. Where, ARM RVCT (<xref scope="external" href="http://www.arm.com/products/DevTools/RealViewDevSuite.html">http://www.arm.com/products/DevTools/RealViewDevSuite.html</xref>) is particularly intended for licensees building ROMs for phones. GCCE is delivered on Symbian platform kits, and is also freely available from <xref scope="external" href="http://www.codesourcery.com">http://www.codesourcery.com</xref>. </p> <p>There are two versions of the ARM ABI, referred to as v1 and v2 respectively. RVCT can be used to build for either of these ABI versions, and GCCE can only be used to build for ARM ABI v2. </p> <p>In addition, the toolchain supports building to three versions of the ARM architecture; v5, v6, and v7. See <xref scope="external" href="http://www.arm.com/products/CPUs/architecture.html">http://www.arm.com/products/CPUs/architecture.html</xref> for details of the ARM architectures. </p> <p>The build targets are intended to generate generic code suitable for execution on processors based on these architectures. The toolchain allows customisation by licensees, for example, in order to target a specific processor more closely: see <xref href="GUID-5B442231-6E71-5F35-A27E-B14AEC2FC105.dita">ARMV5 build customisation</xref>. </p> <p>A summary of the available targets is shown below: </p> <table id="GUID-2FC9F5F7-2EE6-5E78-9BD9-9FB6FD23E7E8"><tgroup cols="4"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/><tbody><row><entry><p> <b>Target name</b>  </p> </entry> <entry><p> <b>Instruction set</b>  </p> </entry> <entry><p> <b>Compiler</b>  </p> </entry> <entry><p> <b>ABI</b>  </p> </entry> </row> <row><entry><p> <codeph>ARMV5</codeph>  </p> </entry> <entry><p>v5 </p> </entry> <entry><p>RVCT 2.2 </p> </entry> <entry><p>v1 </p> </entry> </row> <row><entry><p> <codeph>ARMV5_ABIv2</codeph>  </p> </entry> <entry><p>v5 </p> </entry> <entry><p>RVCT 2.2 </p> </entry> <entry><p>v2 </p> </entry> </row> <row><entry><p> <codeph>ARMV6</codeph>  </p> </entry> <entry><p>v6 </p> </entry> <entry><p>RVCT 2.2 </p> </entry> <entry><p>v1 </p> </entry> </row> <row><entry><p> <codeph>ARMV6_ABIv2</codeph>  </p> </entry> <entry><p>v6 </p> </entry> <entry><p>RVCT 2.2 </p> </entry> <entry><p>v2 </p> </entry> </row> <row><entry><p> <codeph>ARMV6t2</codeph>  </p> </entry> <entry><p>v6 </p> </entry> <entry><p>RVCT 2.2 </p> </entry> <entry><p>v2 </p> </entry> </row> <row><entry><p> <codeph>ARMV7</codeph>  </p> </entry> <entry><p>v7 </p> </entry> <entry><p>RVCT 3.1 </p> </entry> <entry><p>v2 </p> </entry> </row> <row><entry><p> <codeph>GCCE</codeph>  </p> </entry> <entry><p>v5 </p> </entry> <entry><p>GCCE 3.4 </p> </entry> <entry><p>v2 </p> </entry> </row> <row><entry><p> <codeph>GCCEV6</codeph>  </p> </entry> <entry><p>v6 </p> </entry> <entry><p>GCCE 3.4 </p> </entry> <entry><p>v2 </p> </entry> </row> <row><entry><p> <codeph>GCCEv6t2</codeph>  </p> </entry> <entry><p>v6 </p> </entry> <entry><p>GCCE 3.4 </p> </entry> <entry><p>v2 </p> </entry> </row> <row><entry><p> <codeph>GCCEv7</codeph>  </p> </entry> <entry><p>v7 </p> </entry> <entry><p>GCCE 4.2 </p> </entry> <entry><p>v2 </p> </entry> </row> </tbody> </tgroup> </table> <p> <b>Notes:</b>  </p> <ul><li id="GUID-0FA4F759-AF53-5012-B918-3DB7BFF079D1"><p>The Symbian platform that you build using RVCT 4.0 provides run-time support for executables built using the RVCT 2.2, RVCT 3.1 and RVCT 4.0 toolchains. </p> </li> <li id="GUID-967925CD-6B72-5EEB-9F7E-774C80F5EEC3"><p>From Symbian OS v9.4 onwards, the target names to build a binary conforming to ABIv2 are <codeph>ARMV5</codeph> and <codeph>ARMV6</codeph>, and for ABIv1 they are <codeph>ARMV5_ABIv1</codeph> and <codeph>ARMV6_ABIv1</codeph>. You can switch back to the conventional approach described in the table above. For more details, refer to <xref href="GUID-8061E4C1-4E63-53F6-9863-D0D7BB8A2E5D.dita">Switching between ABI modes</xref>. </p> </li> </ul> <p>For details of these targets, see: </p> <ul><li id="GUID-57982C1A-37D5-5003-886C-3C9CB0114523"><p><xref href="GUID-EFF3BD37-BC29-52F5-B8AA-6362F0C3E20F.dita">ARMV5 build targets</xref> </p> </li> <li id="GUID-41352C9E-196F-5484-BFEF-7F6135D955F1"><p><xref href="GUID-D0C1493F-BA2F-517B-9D96-073DCF3D7923.dita">ARMV6 build targets</xref> </p> </li> <li id="GUID-E7C4D7F2-91DC-57AA-BE3B-0849B914BFBA"><p><xref href="GUID-915A1B7D-10BB-5B4A-8C5E-99AD28375AD7.dita">ARMV7 build target</xref> </p> </li> <li id="GUID-D21C0880-4108-5E77-BB44-319A132C362D"><p><xref href="GUID-E48B708E-8B0B-5CF7-80D5-B55966387021.dita">GCCE build targets</xref> </p> </li> </ul> </conbody></concept>