Skip to content

Releases: jrengdahl/cross

gcc-13.2-arm-cortexm7-eabi

27 May 03:22
Compare
Choose a tag to compare

This is a customized GCC 13.2 cross-compiler for ARM Cortex-M7 EABI. The customization includes:

-- OpenMP code generation (-fopenmp) is enabled. Normally GCC for EABI does not allow OpenMP.
The OpenMP library is not included. See https://github.com/jrengdahl/cross.

-- The libraries do not use r9, which is reserved for the threading subsystem.
See the ARM Procedure Call Stadnard (APCS) description of r9.
https://github.com/ARM-software/abi-aa/blob/2a70c42d62e9c3eb5887fa50b71257f20daca6f9/aapcs32/aapcs32.rst#core-registers

The compiler runs under Windows, and was built with Cygwin 3.5.3. It
expects the Cygwin bin directory containing the Cygwin DLLs to be on the
PATH. If you have not installed Cygwin, or the DLLs are not on the PATH
(for example, if you are running a build from within Eclipse), you can
copy the Cygwin DLLs to arm-cortexm7-eabi/cygwin64/bin and put that
directory on the PATH instead.

gcc-12.2-arm-cortexm33-eabi

27 Apr 03:06
Compare
Choose a tag to compare

GCC 12.2 for ARM Cortex-M33 (WIndows 11). This is a bare metal GCC for the M33 with r9 reserved and OpenMP enabled. Newlib is compiled with r9 reserved.

Fix packaging for Windows versions.

06 Dec 06:00
Compare
Choose a tag to compare
Pre-release

Forgot to repackage the Windows archives after following the steps in setupOpenMP.txt. Fixed.

v0.0

06 Dec 05:30
Compare
Choose a tag to compare
v0.0 Pre-release
Pre-release

First experimental release of OpenMP-enabled bare metal toolchains for several ARM targets.

  • aarch64-openmp-elf.7z
    An ARMv8 multi-lib toolchain for Windows.

  • aarch64-openmp-elf.tar.bz2
    An ARMv8 multi-lib toolchain for Linux.

  • arm-cortexm7-eabi.7z
    A Cortex-M7 toolchain for Windows.

  • arm-cortexm7-eabi.tar.bz2
    A Cortex-M7 toolchain for Linux.

  • arm-uboot-eabi.tar.bz2
    A Cortex-A9+NEON toolchain for Linux. This uses the aapcs-linux variant of eabi (fixed-length enums). It can be used to build u-boot, and (hopefully) u-boot standalone applications which use OpenMP. This version is optimized for the NXP i.MX6Q.

These have all been shown to generate code, and the uboot toolchain can build a working u-boot for the TX6Q-1010 SoM. There has been no testing beyond this.