Description
Preface
GNU Arm Embedded toolchain has been a popular choice by many because most Zephyr users are developing for Arm-based SoCs and it has been the go-to toolchain for bare metal Arm development for years; in fact, the Zephyr documentation even endorses this toolchain for non-Linux users to some degree.
Now that the Zephyr SDK toolchains are available for all three major operating systems (i.e. Linux, macOS and Windows), there is no need to use a third-party provided GNU toolchain such as the GNU Arm Embedded, and the Zephyr SDK should become the default and recommended toolchain so as to ensure the best compatibility and developer experience.
Proposed change
- Remove any endorsements of the GNU Arm Embedded toolchain in the Zephyr documentation.
- Mention that the Zephyr SDK is recommended over the GNU Arm Embedded anywhere it is mentioned in the documentation.
- Stop including GNU Arm Embedded toolchain as part of the CI/Developer Docker image.
Note that we are not declaring the GNU Arm Embedded toolchain to be unsupported at this time; we are simply no longer endorsing it, and instead recommending the Zephyr SDK for building Arm binaries on all operating systems.
Additional context
The GNU Arm Embedded toolchain has not had major incompatibility issues until now because the Zephyr SDK tried to align with the GNU Arm Embedded as much as possible; but, that is no longer going to be possible as we start implementing more features like those described in zephyrproject-rtos/sdk-ng#350.
as we start implementing zephyrproject-rtos/sdk-ng#350 in order to support more advanced C/C++ features, we will need to start telling its users "if you want to use this feature, you must use the Zephyr SDK," in which case we might as well just tell them to use the Zephyr SDK in the first place, unless they have a very good reason not to, and avoid using the GNU Arm Embedded.
Metadata
Metadata
Assignees
Type
Projects
Status