Jon Mason ea21deb5e9 arm-toolchain: remove libmount-mountfd-support when using binary toolchain 8 ay önce
..
conf 9975a3b3d9 layer.conf: Update for the scarthgap release series 1 yıl önce
recipes-bsp 45642fca29 arm-toolchain: grub: fix do_configure() breakage with external-arm toolchain 3 yıl önce
recipes-core ea21deb5e9 arm-toolchain: remove libmount-mountfd-support when using binary toolchain 8 ay önce
recipes-devtools b6a47cd180 external-arm-toolchain: ignore warnings about 32-bit time types 1 yıl önce
README.md 980f37d4d3 arm-toolchain/gcc-arm-12.2: remove 2 yıl önce

README.md

meta-arm-toolchain Yocto Layer

This layer contains recipes for the prebuilt GNU Arm toolchains.

Information regarding contributing, reporting bugs, etc can be found in the top-level meta-arm readme file.

Recipes for pre-built GNU Arm toolchain for Linux development are provided under recipes-devtools/external-arm-toolchain/.

external-arm-toolchain.bb ~~~~~~~~~~~~~~~~~~~~~~~~~

This recipe provides support for pre-built GNU toolchains targeting processors from the Arm Cortex-A family and implementing the Arm A-profile architecture.

Usage ^^^^^

In order to use any of pre-built Arm toolchain versions (8.2, 8.3, 9.2 and so on), a user needs to download and untar tool-set on host machine at a particular installation path eg: /opt/toolchain/. Then user needs to specify following in conf/local.conf in order to replace OE toolchain with pre-built GNU-A toolchain:

TCMODE = "external-arm" EXTERNAL_TOOLCHAIN = ""

  • Eg. for AArch64 (eg. qemuarm64 machine in poky distro) EXTERNAL_TOOLCHAIN = "\ /gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu \ "

  • Eg. for AArch32 (eg. qemuarm machine in poky distro) EXTERNAL_TOOLCHAIN = "\ /gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf \ "

  • Supported distros and machines ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    Since this pre-built GNU-A tool-set simply replaces OE toolchain, so it is meant to be distro and machine agnostic as long as one is cross-compiling for Arm A-profile architecture.

    Tested distro and machines (for zeus stable release):

    1. Distro: poky; machines: qemuarm and qemuarm64 (build and boot tested)
    2. Distro: RPB; machines: dragonboard-410c (build and boot tested)
    3. Distro: world; machines: qemuarm and qemuarm64. Build tested for following layers:
      • poky/meta
      • poky/meta-poky
      • poky/meta-yocto-bsp
      • meta-openembedded/meta-oe
      • meta-openembedded/meta-python
      • meta-openembedded/meta-networking

    SDK support ^^^^^^^^^^^

    Pre-built toochain provides support to build OE SDK which has been tested using following commands:

    $ bitbake core-image-base -c populate_sdk $ bitbake core-image-base -c testsdk

    Note: Currently generated SDK only uses glibc provided by pre-built toolchain.

      The cross compiler, binutils, gdb/gdbserver etc. are built from source.
      This is something we would like to improve in future in order to package
      most of the components from pre-built toolchain instead.
    

    Pre-built Arm toolchain for bare-metal development

    Recipes for pre-built GNU Arm toolchain for bare-metal development are provided under recipes-devtools/external-arm-toolchain/.

    gcc-arm-none-eabi_.bb ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    This recipe provides support for pre-built GNU Arm Embedded toolchain for bare-metal software development on devices based on 32-bit Arm Cortex-A, Cortex-R and Cortex-M processors.

    Supported version: 9-2019-q4-major

    gcc-aarch64-none-elf_.bb ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    This recipe provides support for pre-built GNU Arm toolchain for bare-metal software development on devices based on 64-bit Arm Cortex-A processors.

    Supported version: 9.2-2019.12

    Layer maintainer(s)