Status of the Xtensa Port: Difference between revisions

From Linux/Xtensa
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
== Xtensa Support in OpenSource Software ==
This page provides additional information for software support for the Xtensa architecture. While most applications are written architecture independent, development tools and operating systems must be ported to a new processor architecture. Support for the Xtensa architecture has already been integrated in most Open Source software projects. Development trees that feed to the respective mainline repository and for new development can be found in local [http://git.linux-xtensa.org GIT] repositories.


Unlike applications that are mostly written architecture-independent, development tools and operating systems must be ported to a new processor architecture. Support for the Xtensa architecture has already been integrated in most Open Source software. Development trees that feed to the respective mainline repository and for new development can be found in local [http://git.linux-xtensa.org GIT repositories]
=== Toolchain: Compiler (GCC) and various binary utilities (binutils) ===


=== Toolchain: Compiler (GCC) and various binary utilities (binutils) ===
All GNU toolchain tools are maintained in OpenSource and can be downloaded from the respective locations.
* Binutils: http://www.gnu.org/software/binutils/
* GCC: http://gcc.gnu.org/


GNU toolchain tools are maintained in OpenSource and can be downloaded from the respective locations.
Additional information to patch these sources for a specific Xtensa processor configuration can be found under [[Toolchain and Embedded Distributions]].


=== C-Libraries: GLIBC and uClibc ===
=== C-Libraries: GlibC and uClibc ===


Xtensa has long been part of uClibc, however, there are a lot of bug fixes pending the next release (0.9.33.3). Support for the Native Posix Thread Library (NTPL) is under development and is expected to be part of the following release. Development for Glibc with NPTL (older thread libraries are not supported by Glibc anymore) is also current under way. A development branch can be found in local [http://git.linux-xtensa.org GIT repositories].
Xtensa has long been part of uClibc, however, there are a lot of bug fixes pending for the next release (0.9.33.3). Support for the Native Posix Thread Library (NTPL) is under development and is expected to be part of the following release. Development for Glibc with NPTL (older thread libraries are not supported by Glibc anymore) is also current under way. A development tree can be found in the local [http://git.linux-xtensa.org GIT] repositories.  


=== Debugging ===
=== Debugging ===


GDB is also maintained in OpenSource and can be downloaded from [[http://www.gnu.org/software/gdb/]]. Support for other debugging tools (strace, ltrace, oprofile, etc.) has not been pushed to their respective main repository. Patches have been included in local buildroot repositories.
GDB is also maintained in OpenSource and can be downloaded from http://www.gnu.org/software/gdb/. Support for other debugging tools (strace, ltrace, oprofile, etc.) has not been pushed to their respective main repositories, yet. Patches have been maintained in local buildroot repositories.


=== Linux kernel ===
=== Linux kernel ===


Xtensa has been part of the official Linux kernel tree since 2.6.13. For the latest version, see also [[Internet_Resources]]
Xtensa has been part of the official Linux kernel tree since 2.6.13, however, a lot of patches were maintained in a local stable tree for a long time, and are currently ported to the latest kernel tree. Features, such as large memory support and cache aliasing should be expected to hit the kernel in the 3.10/3.11 time frame. The latest version can be found at https://www.kernel.org/.


=== Toolchain and root-fs generators: crosstool-NG, buildroot ===
=== Toolchain and embedded distributions (crosstool-NG, buildroot, etc) ===


Xtensa is supported by buildroot and can be downloaded from [[http://www.buildroot.net]]. Support for crosstool-NG has not been pushed into the official tree yet. A version can be downloaded from local [http://git.linux-xtensa.org GIT repositories]
Xtensa is supported by buildroot, which can be downloaded from http://www.buildroot.net. Support for crosstool-NG has not been pushed into the official tree yet. A version can be downloaded from local [http://git.linux-xtensa.org GIT] repositories. Additional information to configure these tools for a specific Xtensa processor configuration can be found under [[Toolchain and Embedded Distributions]].

Revision as of 01:50, 16 March 2013

This page provides additional information for software support for the Xtensa architecture. While most applications are written architecture independent, development tools and operating systems must be ported to a new processor architecture. Support for the Xtensa architecture has already been integrated in most Open Source software projects. Development trees that feed to the respective mainline repository and for new development can be found in local GIT repositories.

Toolchain: Compiler (GCC) and various binary utilities (binutils)

All GNU toolchain tools are maintained in OpenSource and can be downloaded from the respective locations.

Additional information to patch these sources for a specific Xtensa processor configuration can be found under Toolchain and Embedded Distributions.

C-Libraries: GlibC and uClibc

Xtensa has long been part of uClibc, however, there are a lot of bug fixes pending for the next release (0.9.33.3). Support for the Native Posix Thread Library (NTPL) is under development and is expected to be part of the following release. Development for Glibc with NPTL (older thread libraries are not supported by Glibc anymore) is also current under way. A development tree can be found in the local GIT repositories.

Debugging

GDB is also maintained in OpenSource and can be downloaded from http://www.gnu.org/software/gdb/. Support for other debugging tools (strace, ltrace, oprofile, etc.) has not been pushed to their respective main repositories, yet. Patches have been maintained in local buildroot repositories.

Linux kernel

Xtensa has been part of the official Linux kernel tree since 2.6.13, however, a lot of patches were maintained in a local stable tree for a long time, and are currently ported to the latest kernel tree. Features, such as large memory support and cache aliasing should be expected to hit the kernel in the 3.10/3.11 time frame. The latest version can be found at https://www.kernel.org/.

Toolchain and embedded distributions (crosstool-NG, buildroot, etc)

Xtensa is supported by buildroot, which can be downloaded from http://www.buildroot.net. Support for crosstool-NG has not been pushed into the official tree yet. A version can be downloaded from local GIT repositories. Additional information to configure these tools for a specific Xtensa processor configuration can be found under Toolchain and Embedded Distributions.