Toolchain and Embedded Distributions: Difference between revisions

From Linux/Xtensa
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
== Introduction ==
For many embedded applications, the requirements for the processor deviate from those in development workstations. The chosen processor architecture, therefore, usually differs and requires ''cross'' development tools to compile the target applications on the workstation. Generating the cross development tools and a suitable environment is certainly not an easy venture. Several projects have, therefore, materialized over time to alleviate the process.
== Start from scratch with FSF/OSS sources ==
== Start from scratch with FSF/OSS sources ==


Starting from sources is certainly the most challenging approach. It usually requires additional patches and sometimes matching versions of sources.  
Creating a toolchain and bootable root file system starting from sources is certainly the most challenging approach. It usually requires additional patches and sometimes matching versions of sources. While support for Xtensa is integrated in most toolchain tools, they require additional configuration files to support a specific processor configuration. Tensilica, for example, provides a set of these files as part of the processor configuration download in form of an ''overlay''.
 
== [http://www.linuxfromscratch.org LinuxFromScratch] ==
 
This project consists of several projects intended to help building a Linux system from sources. The main project resembles a book that describes the build-process in great detail.  


== [http://crosstool-ng.org/ crosstool-NG] <small>([[crosstool-NG|build instructions for Xtensa]])</small> ==
== [http://crosstool-ng.org/ crosstool-NG] <small>([[crosstool-NG|build instructions for Xtensa]])</small> ==


crosstool-NG (http://crosstool-ng.org/) provides a system to build a complete toolchain. It supports the c-libraries uClibc, glibc, and eglibc, but can also be used to build a 'bare' toolchain. The current version does not yet support Xtensa as a target, but development is under way. More information about building a toolchain for Xtensa using crosstool-NG can be found [[crosstool-NG|here]].
crosstool-NG (http://crosstool-ng.org/) provides a system to build a complete toolchain. It supports various C-libraries (Multilib, uClibc, glibc, and eglibc), but can also be used to build a 'bare' toolchain. The current version does not yet support Xtensa as a target, but a development version can be retrieved from the local [http://git.linux-xtensa.org/ GIT] repositories. More information for building a toolchain for Xtensa using crosstool-NG can be found [[crosstool-NG|here]].


== [http://www.buildroot.uclibc.org BuildRoot] <small>([[Buildroot|build instructions for Xtensa]])</small> ==
== [http://www.buildroot.uclibc.org BuildRoot] <small>([[Buildroot|build instructions for Xtensa]])</small> ==


Buildroot is a set of Makefiles and patches that makes it easy to generate a cross-compilation toolchain and root file system for your target Linux system. For build instructions for Xtensa, see [[Buildroot]].
Buildroot is a set of Makefiles and patches that makes it easy to generate a cross-compilation toolchain and root file system for your target Linux system. Xtensa is fully supported in the official tree. For build instructions, see [[Buildroot]].
 
== Additional Resources ==
 
=== [http://openembedded.org OpenEmbedded] ===
 
OpenEmbedded (http://openembedded.org) provided a development environment for embedded systems.
 
=== [https://www.yoctoproject.org/ Yocto Project] ===
 
From the website:
<blockquote>The Yocto Project is an open source collaboration project that provides templates, tools and methods to help you create custom Linux-based systems for embedded products regardless of the hardware architecture.</blockquote>
 
=== [http://emdebian.org emDebian] ===
 
Based on the [http://www.debian.org debian] distribution, emDebian (http://emdebian.org) is a project to provide a special version of Debian taylored for embedded devices.

Revision as of 01:24, 15 March 2013

Start from scratch with FSF/OSS sources

Creating a toolchain and bootable root file system starting from sources is certainly the most challenging approach. It usually requires additional patches and sometimes matching versions of sources. While support for Xtensa is integrated in most toolchain tools, they require additional configuration files to support a specific processor configuration. Tensilica, for example, provides a set of these files as part of the processor configuration download in form of an overlay.

crosstool-NG (build instructions for Xtensa)

crosstool-NG (http://crosstool-ng.org/) provides a system to build a complete toolchain. It supports various C-libraries (Multilib, uClibc, glibc, and eglibc), but can also be used to build a 'bare' toolchain. The current version does not yet support Xtensa as a target, but a development version can be retrieved from the local GIT repositories. More information for building a toolchain for Xtensa using crosstool-NG can be found here.

BuildRoot (build instructions for Xtensa)

Buildroot is a set of Makefiles and patches that makes it easy to generate a cross-compilation toolchain and root file system for your target Linux system. Xtensa is fully supported in the official tree. For build instructions, see Buildroot.