Skip to main content

About the xPack GNU Arm Embedded GCC

The project

The xPack GNU Arm Embedded GCC project is part of the xPack Reproducible Build Framework and is hosted on GitHub as xpack-dev-tools/arm-none-eabi-gcc-xpack, part of the xPack Binary Development Tools.

The main goal of this project is to streamline the development of embedded projects. µOS++ is the first cross-platform project to benefit from the xPack tools.

Project history

This project began in February 2018 as one of the support tools for the GNU Arm Eclipse plug-ins, which were later rebranded as GNU MCU Eclipse plug-ins and are now integrated into the Eclipse Embedded CDT.

The initial name of the package was GNU MCU Eclipse ARM Embedded GCC and was first published on npmjs.com as @gnu-mcu-eclipse/arm-none-eabi-gcc.

March 2018

The first release of GNU MCU Eclipse ARM Embedded GCC was v6.3.1-1.1.

July 2019

The project was renamed xPack GNU Arm Embedded GCC and the npm scope was changed from @gnu-mcu-eclipse to @xpack-dev-tools (in v7.3.1-1.2).

July 2020

Support for 32/64-bit Arm GNU/Linux platforms (like Raspberry Pi) was added (in v9.3.1-1.1).

October 2020

After extensive experimentation, support for Python scripting was added to GDB, using an embedded Python 3 instance (in v9.3.1-1.4).

October 2021

In the Windows binaries, the MSVC runtime was replaced with the newer Universal C Runtime (UCRT) (in v10.3.1-2.1).

December 2021

Support for Apple Silicon macOS was added (in v10.3.1-2.3).

May 2022

Support for x86 Windows and x86 GNU/Linux (32-bit) was discontinued (in v11.2.1-1.1).

December 2022

The project received a significant update by transitioning the build scripts from the cumbersome monolithic XBB Docker images to the more flexible and modular xPacks. XBB version 5.0.0 marked a major milestone for the xPack project, as it was the first self-sustained release. This version enabled the creation of new binary xPacks using existing binary xPacks, eliminating the need for custom Docker images or other compiled tools.

August 2024

The project underwent a comprehensive restructuring. To streamline the top package.json by showcasing only user-related definitions and concealing build-related ones, all build-related files were relocated to the build-assets folder. Furthermore, the development Git branch was renamed to xpack-development for enhanced clarity.

Support for TUI in GDB was added on Windows too (in v13.3.1-1.1).

The web site

The initial web site was launched in July 2019 as a sub-site in the xPack web site. It used the Jekyll Doc Theme 6.0 by Tom Johnson.

In August 2024, as part of the project restructuring, the website content was migrated from the xPack Jekyll sub-site to a local Docusaurus configuration stored in the website folder. To ensure continuity, HTML <meta> redirects were added to the old pages. Additionally, a GitHub Action was implemented to automatically publish the site upon any pushes to the website Git branch.

The author

This project is currently maintained by Liviu Ionescu (ilg-ul), a senior computer engineer, with expertise in C++/C embedded systems, RTOSes, build tools, operating systems, compilers and Internet technologies.

He can be reached at <ilg@livius.net>. Please note, this email address is provided as a courtesy. For all correspondence related to the xPack GNU Arm Embedded GCC project, kindly use the project support page).