<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.ethernut.de/nutwiki/index.php?action=history&amp;feed=atom&amp;title=Documents%2FToolchains</id>
		<title>Documents/Toolchains - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.ethernut.de/nutwiki/index.php?action=history&amp;feed=atom&amp;title=Documents%2FToolchains"/>
		<link rel="alternate" type="text/html" href="http://www.ethernut.de/nutwiki/index.php?title=Documents/Toolchains&amp;action=history"/>
		<updated>2026-05-16T15:32:28Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://www.ethernut.de/nutwiki/index.php?title=Documents/Toolchains&amp;diff=359&amp;oldid=prev</id>
		<title>Harald: Created page with &quot;&lt;div id=&quot;content&quot;&gt;  = AVR and ARM Toolchains for Linux =  This Document contains instructions to build AVR/ARM toolchains on Linux.  == AVR on Linux ==  Download and unpack th...&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.ethernut.de/nutwiki/index.php?title=Documents/Toolchains&amp;diff=359&amp;oldid=prev"/>
				<updated>2017-07-13T08:25:35Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;div id=&amp;quot;content&amp;quot;&amp;gt;  = AVR and ARM Toolchains for Linux =  This Document contains instructions to build AVR/ARM toolchains on Linux.  == AVR on Linux ==  Download and unpack th...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div id=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= AVR and ARM Toolchains for Linux =&lt;br /&gt;
&lt;br /&gt;
This Document contains instructions to build AVR/ARM toolchains on Linux.&lt;br /&gt;
&lt;br /&gt;
== AVR on Linux ==&lt;br /&gt;
&lt;br /&gt;
Download and unpack the following sources into separate folders.&lt;br /&gt;
&lt;br /&gt;
'''Download Sources:'''&lt;br /&gt;
binutils (ftp://gcc.gnu.org/pub/binutils/releases)&amp;lt;br /&amp;gt;&lt;br /&gt;
gcc (ftp://gcc.gnu.org/pub/gcc/releases)&amp;lt;br /&amp;gt;&lt;br /&gt;
avrlibc (http://download.savannah.gnu.org/releases/avr-libc/)&lt;br /&gt;
&lt;br /&gt;
Because those Path names are so difficult to remember we set an environment variable called prefix to our install destination.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;coding&amp;quot;&amp;gt;$ export prefix=/whereever/you/want/to/install/&lt;br /&gt;
          &amp;lt;/pre&amp;gt;&lt;br /&gt;
After unpacking we should now have an directory for each of our archives. To keep things clean we create a build directory in each subdirectory. From the build directory we run the usual configure make install. After a sucessful build we add the required directories to the PATH. This is necessary because the gcc needs binutils.&lt;br /&gt;
&lt;br /&gt;
'''Building binutils:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;coding&amp;quot;&amp;gt;$ ../configure --prefix=$prefix --target=avr --disable-nls&lt;br /&gt;
$ make&lt;br /&gt;
$ make install&lt;br /&gt;
$ PATH=$PATH:$prefix/bin&lt;br /&gt;
$ export PATH&lt;br /&gt;
          &amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Building gcc:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;coding&amp;quot;&amp;gt;$ ../configure --prefix=$prefix --target=avr --enable-languages=c,c++ --disable-nls \&lt;br /&gt;
    --disable-libssp --with-dwarf2&lt;br /&gt;
$ make&lt;br /&gt;
$ make install&lt;br /&gt;
$ PATH=$PATH:$prefix/avr/bin&lt;br /&gt;
$ export PATH&lt;br /&gt;
          &amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Building avrlibc:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;coding&amp;quot;&amp;gt;$ ../configure --prefix=$prefix --build=`../config.guess` --host=avr&lt;br /&gt;
$ make&lt;br /&gt;
$ make install&lt;br /&gt;
          &amp;lt;/pre&amp;gt;&lt;br /&gt;
== ARM on Linux ==&lt;br /&gt;
&lt;br /&gt;
For Arm we use newlib instead of avrlibc.&lt;br /&gt;
&lt;br /&gt;
'''Download Sources:'''&lt;br /&gt;
binutils (ftp://gcc.gnu.org/pub/binutils/releases)&amp;lt;br /&amp;gt;&lt;br /&gt;
gcc (ftp://gcc.gnu.org/pub/gcc/releases)&amp;lt;br /&amp;gt;&lt;br /&gt;
newlib (ftp://sources.redhat.com/pub/newlib/)&lt;br /&gt;
&lt;br /&gt;
'''for binutils:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;coding&amp;quot;&amp;gt;$ ../configure --prefix=[targetroot] --target=arm-elf --enable-interwork --enable-multilib&lt;br /&gt;
$ make&lt;br /&gt;
$ make install&lt;br /&gt;
$ PATH=$PATH:[targetroot]/arm-elf/bin&lt;br /&gt;
$ export PATH&lt;br /&gt;
          &amp;lt;/pre&amp;gt;&lt;br /&gt;
'''for gcc:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;coding&amp;quot;&amp;gt;$ ../configure --prefix=[targetroot] --target=arm-elf --disable-threads \&lt;br /&gt;
    --enable-interwork --enable-multilib --enable-languages=&amp;amp;quot;,c,++&amp;amp;quot; \&lt;br /&gt;
    --with-newlib --with-headers=[newlib-source]/newlin/libc/include&lt;br /&gt;
$ make&lt;br /&gt;
$ make install&lt;br /&gt;
$ PATH=$PATH:[targetroot]/bin&lt;br /&gt;
$ export PATH&lt;br /&gt;
          &amp;lt;/pre&amp;gt;&lt;br /&gt;
'''for newlib:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;coding&amp;quot;&amp;gt; &lt;br /&gt;
$ ../configure --prefix=[targetroot] --target=arm-elf --enable-target-optspace&lt;br /&gt;
$ make&lt;br /&gt;
$ make install&lt;br /&gt;
          &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Harald</name></author>	</entry>

	</feed>