Toolchain and Embedded Distributions: Difference between revisions

From Linux/Xtensa
Jump to navigation Jump to search
(Removed XLIDE from the list.)
No edit summary
Line 2: Line 2:


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.  
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.  
Note that except for [[Buildroot_Build_Instructions]], most embedded distributions listed below don't currently support the Xtensa architecture and require modifications. Patches for various versions of the toolchain sources can be found under http://www.linux-xtensa.org/pub/patches/.


== Start from scratch with FSF/OSS sources ==
== Start from scratch with FSF/OSS sources ==
Line 11: Line 9:
== [http://www.linuxfromscratch.org LinuxFromScratch] ==
== [http://www.linuxfromscratch.org LinuxFromScratch] ==


This project is docomprises 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.  
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://kegel.com/crosstool CrossTool] ==
== [http://crosstool-ng.org/ crosstool-NG] ==


CrossTool (http://kegel.com/crosstool/") was developed by Dan Kegel originally to test different versions of the toolchain in various combinations for cross-compilation. It consists of a set of scripts and configuration files.  
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 here [[crosstool-NG]].


== [http://www.buildroot.uclibc.org BuildRoot] ==
== [http://www.buildroot.uclibc.org BuildRoot] ==


Buildroot is a set of Makefiles and patches that makes it easy generate a cross-compilation toolchain and root filesystem for your target Linux system using the uClibc C library.
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]].


For build instructions specific to getting a Linux kernel running on the Xtensa architecture on the LX60 board, see [[Buildroot_Build_Instructions]].
== Additional Resources ==


== [http://openembedded.org OpenEmbedded] ==
=== [http://openembedded.org OpenEmbedded] ===


OpenEmbedded (http://openembedded.org) provided a development environment for embedded systems.  
OpenEmbedded (http://openembedded.org) provided a development environment for embedded systems.  


== [http://emdebian.org emDebian] ==
=== [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.
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 20:37, 2 March 2013

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

Starting from sources is certainly the most challenging approach. It usually requires additional patches and sometimes matching versions of sources.

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.

crosstool-NG

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 here crosstool-NG.

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. For build instructions for Xtensa, see Buildroot.

Additional Resources

OpenEmbedded

OpenEmbedded (http://openembedded.org) provided a development environment for embedded systems.

Yocto Project

From the website:

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.

emDebian

Based on the debian distribution, emDebian (http://emdebian.org) is a project to provide a special version of Debian taylored for embedded devices.