From 9140eabbd97ae3759a8ec35efc47afef895af972 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Fri, 26 Sep 2025 15:14:27 +0200 Subject: [PATCH] gcc-arm-none-eabi: bare-metal toolchain for building Cortex-M firmware This matches the version used by NXP in rel_imx_6.6.52_2.2.1. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/layer.conf | 2 ++ .../gcc-arm-none-eabi_14.2.rel1.bb | 21 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 meta-digi-arm/dynamic-layers/arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_14.2.rel1.bb diff --git a/meta-digi-arm/conf/layer.conf b/meta-digi-arm/conf/layer.conf index e6e938408..3f7c8ba15 100644 --- a/meta-digi-arm/conf/layer.conf +++ b/meta-digi-arm/conf/layer.conf @@ -10,6 +10,8 @@ BBFILE_PATTERN_digi-arm := "^${LAYERDIR}/" BBFILE_PRIORITY_digi-arm = "5" BBFILES_DYNAMIC += " \ + arm-toolchain:${LAYERDIR}/dynamic-layers/arm-toolchain/*/*/*.bb \ + arm-toolchain:${LAYERDIR}/dynamic-layers/arm-toolchain/*/*/*.bbappend \ freescale-layer:${LAYERDIR}/dynamic-layers/freescale-layer/*/*/*.bb \ freescale-layer:${LAYERDIR}/dynamic-layers/freescale-layer/*/*/*.bbappend \ stm-st-stm32mp:${LAYERDIR}/dynamic-layers/stm-st-stm32mp/*/*/*.bb \ diff --git a/meta-digi-arm/dynamic-layers/arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_14.2.rel1.bb b/meta-digi-arm/dynamic-layers/arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_14.2.rel1.bb new file mode 100644 index 000000000..d069ccb4e --- /dev/null +++ b/meta-digi-arm/dynamic-layers/arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_14.2.rel1.bb @@ -0,0 +1,21 @@ +# Copyright (C) 2019 Garmin Ltd. or its subsidiaries +# Released under the MIT license (see COPYING.MIT for the terms) + +require recipes-devtools/external-arm-toolchain/arm-binary-toolchain.inc + +COMPATIBLE_HOST = "(x86_64|aarch64).*-linux" + +SUMMARY = "Arm GNU Toolchain - AArch32 bare-metal target (arm-none-eabi)" +LICENSE = "GPL-3.0-with-GCC-exception & GPL-3.0-only" + +LIC_FILES_CHKSUM:aarch64 = "file://share/doc/gcc/Copying.html;md5=b58b1e79cb685387c684bf647c848b82" +LIC_FILES_CHKSUM:x86-64 = "file://share/doc/gcc/Copying.html;md5=b58b1e79cb685387c684bf647c848b82" + +SRC_URI = "https://developer.arm.com/-/media/Files/downloads/gnu/${PV}/binrel/arm-gnu-toolchain-${PV}-${HOST_ARCH}-${BINNAME}.tar.xz;name=gcc-${HOST_ARCH}" +SRC_URI[gcc-aarch64.sha256sum] = "87330bab085dd8749d4ed0ad633674b9dc48b237b61069e3b481abd364d0a684" +SRC_URI[gcc-x86_64.sha256sum] = "62a63b981fe391a9cbad7ef51b17e49aeaa3e7b0d029b36ca1e9c3b2a9b78823" + +S = "${WORKDIR}/arm-gnu-toolchain-${PV}-${HOST_ARCH}-${BINNAME}" + +UPSTREAM_CHECK_URI = "https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads" +UPSTREAM_CHECK_REGEX = "arm-gnu-toolchain-(?P\d+\.\d*\.[A-z]*\d*).*-${HOST_ARCH}-${BINNAME}\.tar\.\w+"