All Projects → FreddieChopin → bleeding-edge-toolchain

FreddieChopin / bleeding-edge-toolchain

Licence: other
All-in-one script to build bleeding-edge-toolchain for ARM microcontrollers

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to bleeding-edge-toolchain

bx-github-ci
This tutorial provides one example on how a CI (Continuous Integration) workflow with the IAR Build Tools for Linux can be set up on GitHub. The IAR Build Tools on Linux are available for Arm, RISC-V and Renesas (RH850, RL78 and RX).
Stars: ✭ 20 (-66.67%)
Mutual labels:  toolchain, arm, cortex-m
rebuild
Zero-dependency, reproducible build environments
Stars: ✭ 48 (-20%)
Mutual labels:  toolchain, arm, gcc
Xpcc
DEPRECATED, use our successor library https://modm.io instead
Stars: ✭ 177 (+195%)
Mutual labels:  arm, cortex-m, gcc
utest
Lightweight unit testing framework for C/C++ projects. Suitable for embedded devices.
Stars: ✭ 18 (-70%)
Mutual labels:  arm, cortex-m, arm-microcontrollers
Arm Cmake Toolchains
CMake toolchain configurations for ARM
Stars: ✭ 148 (+146.67%)
Mutual labels:  arm, cortex-m, gcc
Raspberry Pi Cross Compilers
Latest GCC Cross Compiler & Native (ARM & ARM64) CI generated precompiled standalone toolchains for all Raspberry Pis. 🍇
Stars: ✭ 261 (+335%)
Mutual labels:  toolchain, arm, gcc
Polymcu
An open framework for micro-controller software
Stars: ✭ 173 (+188.33%)
Mutual labels:  toolchain, arm, gcc
m3forth
m3forth is a forth cross-compiler for cortex-m3 ARM microcontrollers
Stars: ✭ 16 (-73.33%)
Mutual labels:  arm, gdb
arm-none-eabi-gcc-xpack
A binary xPack with the Arm Embedded GCC toolchain
Stars: ✭ 85 (+41.67%)
Mutual labels:  arm, gcc
betafpv-f3
Board Support Crate for the BetaFPV F3 Drone Flight Controller
Stars: ✭ 37 (-38.33%)
Mutual labels:  arm, cortex-m
TMcuSys
🍆 STM32平台uCos与emWin练习项目。图片、音乐、视频、游戏、IAP运行器。
Stars: ✭ 25 (-58.33%)
Mutual labels:  arm, cortex-m
NickelTC
A dockerized, deterministic, automated, fixed, and fully-relocatable build of @NiLuJe's toolchain for Kobo eReaders.
Stars: ✭ 19 (-68.33%)
Mutual labels:  toolchain, gcc
lldbg
A lightweight native GUI for LLDB.
Stars: ✭ 83 (+38.33%)
Mutual labels:  gcc, gdb
cortexm-AES
high performance AES implementations optimized for cortex-m microcontrollers
Stars: ✭ 18 (-70%)
Mutual labels:  arm, cortex-m
embedded-in-rust
A blog about Rust and embedded stuff
Stars: ✭ 49 (-18.33%)
Mutual labels:  arm, cortex-m
zeptoforth
A not-so-small Forth for Cortex-M
Stars: ✭ 70 (+16.67%)
Mutual labels:  arm, cortex-m
how-to-qemu-arm-gdb-gtest
How to run, debug, and unit test ARM code on X86 ubuntu
Stars: ✭ 19 (-68.33%)
Mutual labels:  arm, gdb
metal.test
Deprecated, superseded by https://github.com/metal-ci/test
Stars: ✭ 41 (-31.67%)
Mutual labels:  arm, gdb
toolchain68k
build a toolchain for cross developement. Supports motorola m68k-elf, avr and arm-none-eabi
Stars: ✭ 18 (-70%)
Mutual labels:  toolchain, arm
homebrew-i386-elf-toolchain
Homebrew formulas for buildling a valid GCC toolchain for the i386-elf target.
Stars: ✭ 62 (+3.33%)
Mutual labels:  toolchain, gcc

bleeding-edge-toolchain

All-in-one script to build bleeding-edge-toolchain for ARM microcontrollers.

bleeding-edge-toolchain - what it's all about?

Toolchain for Linux

Due to the fact that building a binary on "Linux distribution A" that would work on "Linux distribution B" (where "Linux distribution B" may just be "Linux distribution A 6 months later after a few upgrades") is really hard (impossible?), there will be no binary packages for Linux. This script and some spare CPU time (~2 hours) is all you need.

To build native toolchain for Linux just run the script with no arguments:

./build-bleeding-edge-toolchain.sh

Most of the tools required by the script should be already present in your system, but some may be missing. Generally the tools listed below should be enough to successfully execute this script:

  • obvious tools needed to compile anything - like gcc, binutils, make and coreutils
  • m4, which is required to execute configure scripts
  • curl, used to download the source tarballs of toolchain components
  • tar, used to extract source tarballs and to compress a compiled toolchain
  • texinfo and texlive, (optional) used to generate documentation
  • python, required by GDB, may be either version 2 or 3, but should contain headers and libraries, so you may need some kind of "development" and/or "library" package, depending on your system

The exact set of required packages will be different on each system, but on a fresh Ubuntu installation you are going to need just these packages: curl, m4, python2.7-dev and optionally: texinfo and texlive.

Toolchain for Windows

As Windows is at the opposite end of spectrum when it comes to binary compatibility, the packages for 32-bit and 64-bit Windows are available on Freddie Chopin's website in Download > Software > bleeding-edge-toolchain. If you choose the easy path, just download an archive, extract it with 7-zip and add .../bin folder to your system's PATH environment variable.

If you want to also build a toolchain for 32-bit and/or 64-bit Windows pass --enable-win32 and/or --enable-win64 as arguments for the script, like this:

./build-bleeding-edge-toolchain.sh --enable-win32 --enable-win64

Such compilation has more dependencies:

  • Mingw-w64, namely i686-w64-mingw32-gcc (for 32-bit version) and/or x86_64-w64-mingw32-gcc (for 64-bit version) with their own dependencies (binutils, headers, ...)
  • libtermcap and libwinpthread compiled for Mingw-w64
  • p7zip, used to compress the toolchain into an archive in .7z format

Additional options

  • --keep-build-folders will cause all build folders to be left intact after the build, by default - if this option is not provided - all build folders are removed as soon as they are not needed anymore
  • --resume will try to resume the last (interrupted) build instead of starting from scratch; be advised that this option is experimental and may not work reliably in all possible cases - if in doubt or in case of strange errors just don't use it to perform a clean build
  • --skip-documentation will skip building html/pdf documentation in the subprojects, by default - if this option is not provided - the documentation is built, requiring texlive/texinfo
  • --skip-nano-libraries will skip building of "nano" libraries, by default - if this option is not provided - "nano" libraries will be built, making the whole process take significantly longer
  • --quiet will make the build slightly less noisy
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].