Latest CI maintained Precompiled Standalone ARM & ARM64 Toolchains for Raspberry Pi SBCs |
- TL'DR
- Latest v3.0+ Release SneekPeak
- A. Precompiled Toolchains: Easy-to-Use
- B. Build-Script for Developers
- C. Cross-Compiling Latest QT Framework for Pi
- D. Supporting this Project ❤️
- E. Additional Information
- F. Citation
- G. License
- H. Acknowledgments
This project provides the Latest, CI maintained, Precompiled Raspberry Pi CPU optimized GCC Cross & Native (ARM & ARM64) Compressed Standalone Toolchains, that is fastest to setup and saves you tons of time and helps you to get quickly started with software development on Pi.
This project benefits everyone, from Professional Devs to a college research Student, looking for latest easy-to-use precompiled GCC toolchains for their Hobby Raspberry Pi project(s).
- ☑️ Latest GCC 10.2.0 toolchains available.
- ☑️ Automated CI maintained GCC standalone ARM & ARM64 toolchains.
- ☑️ Hardcoded paths free both Cross & Native Raspbian Buster (Debian 10) toolchains available.
- ☑️ Separate binaries for each Raspberry Pi variant (including latest Compute modules and Raspberry Pi 4).
- ☑️ PIGZ-TAR Compressed Binaries available with maximum possible compression.
- ☑️ Exclusive ARM64|AARCH64 Binaries for Raspberry Pi 64-Bit kernel OS flavors.
- ☑️ Open-sourced Toolchains build-scripts are also available.
- ☑️ Comprehensive Guide for Cross-compile Latest QT for any Raspberry Pi variant/model available
- ☑️ Latest GDB Debugger v9.2 included in all binaries.
This project now utilizes powerful Github Actions CI(Continuous Integration) to auto-compile Compressed GCC Cross & Native ARM & ARM64 Toolchain binaries and thereby auto-deploy them to SourceForge repository.
Following is the table for various CI generated OS targetted precompiled Toolchain Binaries available with this project:
References:
- Host OS: on which the toolchain is executed/used.
- Target OS: for which the toolchain generates code.
📝 Note: TAR-PIGZ Compressed pre-compiled GCC Toolchain binaries can be easily be downloaded from the project's SourceForge Repository or by clicking links given in the following table.
Toolchains | Host OS | Target OS | Current Status | Precompiled GCC versions available |
---|---|---|---|---|
Raspberry Pi GCC Cross-Compiler Toolchains (Stretch) | any x64/x86 Linux machine | Stretch 32-bit OS (Debian Version 9) only | Stable/Production | 6.3.0, 9.3.0, 10.2.0 |
Raspberry Pi GCC Cross-Compiler Toolchains (Buster) | any x64/x86 Linux machine | Buster 32-bit OS (Debian Version 10) only | Stable/Production | 8.3.0, 9.3.0, 10.2.0 |
Raspberry Pi GCC Native-Compiler Toolchains (Stretch) | Stretch 32-bit OS (Debian Version 9) only | Stretch 32-bit OS (Debian Version 9) only | Stable/Production | 9.3.0, 10.2.0 |
Raspberry Pi GCC Native-Compiler Toolchains (Buster) | Buster 32-bit OS (Debian Version 10) only | Buster 32-bit OS (Debian Version 10) only | Stable/Production | 9.3.0, 10.2.0 |
Raspberry Pi GCC 64-Bit Cross-Compiler Toolchains (Stretch) | any x64/x86 Linux machine | Stretch 64-bit OS (Debian Version 9) only | Stable/Production | 6.3.0, 9.3.0, 10.2.0 |
Raspberry Pi GCC 64-Bit Cross-Compiler Toolchains (Buster) | any x64/x86 Linux machine | Buster 64-bit OS (Debian Version 10) only | Stable/Production | 8.3.0, 9.3.0, 10.2.0 |
Raspberry Pi GCC 64-Bit Native-Compiler Toolchains (Stretch) | Stretch 64-bit OS (Debian Version 9) only | Stretch 64-bit OS (Debian Version 9) only | Stable/Production | 9.3.0, 10.2.0 |
Raspberry Pi GCC 64-Bit Native-Compiler Toolchains (Buster) | Buster 64-bit OS (Debian Version 10) only | Buster 64-bit OS (Debian Version 10) only | Stable/Production | 9.3.0, 10.2.0 |
Exclusive/Experimental Toolchains | x86/x86_64 Pi Desktop | x86/x86_64 Pi Desktop | Beta/Experimental | 10.2.0 (x86), 10.2.0 (x86_64) |
Tip::bulb: To get the location of each Binary of this project on SourceForge, you can also check out this Reference Tree.
These precompiled toolchains setup requires just three easy steps - Downloading, Extracting and Linking:
➡️ WIKI-Documentation (en-English)
-
This project now provides user-friendly open-sourced bash build-scripts that auto-generates Compressed Cross & Native GCC ARM & ARM64 Toolchain binaries targeting Raspberry Pi 32-bit & 64-bit OSes.
-
If you need additional language support or need to compile another suitable GCC version toolchains for your Raspberry Pi, then you can use these scripts to manually compile any GCC toolchains by running suitable build-scripts yourself through your system terminal.
Now, there's a steps-by-step guide available to cross-compile Latest QT for any Raspberry Pi variant/model available, using the Raspberry Pi Toolchains available with this project:
➡️ Step-by-Step Instruction for Cross-Compiling Latest QT Framework for Raspberry Pi
If these binaries helped you big time, please consider supporting it through any size donations.:heart:.
Also please share your thoughts or just drop a star ⭐.
- All Raspberry Pi hardware/versions/models are currently supported.
- Any other ARM & ARM64 Device (such as Android, other SBCs, IoT etc.) with similar or compatible Hardware architecture(see Optimization Flags), should also work.
- C++
- Fortran
- C
- Any other language support can be easily compiled.
These toolchains are built with these following system-specific LTO (Link Time Optimization) flags, therefore you can easily take advantage of your Raspberry Pi's CPU specific features with these Toolchains while compiling your programs:
Raspberry Pi Board | Link Time Optimization Flags |
---|---|
Raspberry Pi - Zero/W/WH & 1 Model A/B/A+/B+ | -march=armv6 -mfloat-abi=hard -mfpu=vfp |
Raspberry Pi - 2 & 3 Model A/B | -march=armv7-a -mfloat-abi=hard -mfpu=neon-vfpv4 |
Raspberry Pi - 3 & 4 Model A+/B+ & Compute 3/3-lite/3+ (32-Bit) | -march=armv8-a -mfloat-abi=hard -mfpu=neon-fp-armv8 |
Raspberry Pi - 3 & 4 Model A+/B+ & Compute 3/3-lite/3+ (64-Bit) | -march=armv8-a+fp+simd |
Raspberry Pi 4+: The latest Raspberry Pi 4 uses a Broadcom BCM2711 SoC with a 1.5 GHz 64-bit quad-core ARM Cortex-A72 processor, that also have armv8-a architecture similar to Raspberry Pi 3B+, therefore it is also officially supported!
Here is a Bibtex entry you can use to cite this project in a publication:
@misc{raspberry-pi-cross-compilers,
Title = {Raspberry Pi Toolchains},
Author = {Abhishek Thakur},
howpublished = {\url{https://github.com/abhiTronix/raspberry-pi-cross-compilers}},
year = {2020}
}
Copyright © 2020 abhiTronix
This Project source-code and its precompiled binaries are licensed under the GPLv3 license.
Thank you,
- GNU project for providing the latest source code.
- Raspberry Pi project for providing the latest kernel and docs.
- GitHub Actions for making it easier to automate Toolchain Builder workflows.
- Sourceforge project for allowing me to publish these binaries.