<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.ccc-mannheim.de/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Cortex-Evaluation-Boards</id>
	<title>Cortex-Evaluation-Boards - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://www.ccc-mannheim.de/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Cortex-Evaluation-Boards"/>
	<link rel="alternate" type="text/html" href="https://www.ccc-mannheim.de/mediawiki/index.php?title=Cortex-Evaluation-Boards&amp;action=history"/>
	<updated>2026-04-17T21:08:51Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in C3MAWiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://www.ccc-mannheim.de/mediawiki/index.php?title=Cortex-Evaluation-Boards&amp;diff=113&amp;oldid=prev</id>
		<title>Gonium: /* Installation summon-arm-toolchain */</title>
		<link rel="alternate" type="text/html" href="https://www.ccc-mannheim.de/mediawiki/index.php?title=Cortex-Evaluation-Boards&amp;diff=113&amp;oldid=prev"/>
		<updated>2013-09-25T14:32:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Installation summon-arm-toolchain&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Kategorie:öffentlich]]&lt;br /&gt;
{{aktives Projekt|Kontakt=fzahn|öffentlich=ja}}&lt;br /&gt;
&lt;br /&gt;
=Idee=&lt;br /&gt;
&lt;br /&gt;
Neben den viel verwendeten AVR-Mikrocontrollern drängen zur Zeit verschiedene Hersteller (TI , STM) mit Evaluation-Boards auf den Markt, welche auf den ARM Cortex-Prozessoren basieren.&lt;br /&gt;
&lt;br /&gt;
Besonders interessant sind hier die Boards&lt;br /&gt;
&lt;br /&gt;
* [http://www.st.com/internet/evalboard/product/252419.jsp STM32F4 Discovery]&lt;br /&gt;
* [http://www.ti.com/tool/ek-lm4f120xl/ TI Stellaris]&lt;br /&gt;
&lt;br /&gt;
Die Boads basieren beide auf dem ARM Cortex M4 Prozessor und bieten hohe Leistungsfähigkeit im Vergleich zur klassischen AVR Architektur. AUch haben die Boards gleich einen Programmier- / Debug-Adapter mit an Board und warten damit darauf, von uns bespielt zu werden :)&lt;br /&gt;
&lt;br /&gt;
=Aufbau Toolchain=&lt;br /&gt;
&lt;br /&gt;
Die beiden Hersteller sehen, auch in Ihrer Dokumentation, vorwiegend den Einsatz kommerzieller Entwicklungsumgebungen vor. Im $Internet gibt es aber zahlreiche Dokumente, die den Aufbau einer freien Toolchain auf Basis gcc, ... beschreiben.  Da die Informationen hier sehr verschiedenartig vorliegen, habe ich hier den von mir gewählten Weg dokumentiert, um eine Toolchain sowohl für das Stellaris Launchpad, wie auch für den STM32F4 zusammenzubauen. Ich habe das ganze unter Mac OS X Mountain Lion gebaut, jedoch sollten die Informationen sich leicht auf Linux-Systeme übertragen lassen&lt;br /&gt;
&lt;br /&gt;
==ARM Cross-Compiler==&lt;br /&gt;
&lt;br /&gt;
===Vorbedingungen===&lt;br /&gt;
Als erstes muss der Cross-Compiler für die ARM-Prozessoren installiert werden. Hier gibt es mit [https://github.com/esden/summon-arm-toolchain summon-arm-toolchain] eine aktuell gehaltene Toolchain, welche über ein Installskript leicht installiert werden kann.&lt;br /&gt;
&lt;br /&gt;
Die folgende Anleitung sammt weitestgehend aus dem README der summon-arm-toolchain:&lt;br /&gt;
&lt;br /&gt;
Installation notwendiger Pakete mit MacPorts:&lt;br /&gt;
&lt;br /&gt;
  port install gmp mpfr libmpc wget libftdi git-core py27-yaml python_select&lt;br /&gt;
&lt;br /&gt;
py-yaml wurde hierbei nicht richtig akzeptiert. Dieses habe ich nachinstalliert durch:&lt;br /&gt;
 &lt;br /&gt;
 sudo easy_install pyyaml&lt;br /&gt;
&lt;br /&gt;
(Danke pcopfer!!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation summon-arm-toolchain===&lt;br /&gt;
&lt;br /&gt;
 cd ~&lt;br /&gt;
 mkdir Development&lt;br /&gt;
 cd Development&lt;br /&gt;
 git clone https://github.com/esden/summon-arm-toolchain.git&lt;br /&gt;
 port install gmp mpfr libmpc wget libftdi git-core py27-yaml python_select&lt;br /&gt;
 cd summon-arm-toolchain&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HINWEIS 26.09.2013, Gonium: OpenOCD scheint kaputt zu sein und braucht einen Patch, siehe [[http://www.radiohobbyist.org/blog/?p=1337]]. Der compile-Vorgang kann auch mit &lt;br /&gt;
&lt;br /&gt;
 cd &amp;amp;&amp;amp; git clone git://github.com/ehntoo/summon-arm-toolchain.git &amp;amp;&amp;amp; cd summon-arm-toolchain &amp;amp;&amp;amp; wget -O - http://darkrainfall.org/build-openocd.patch | patch -p1 &amp;amp;&amp;amp; ./summon-arm-toolchain&lt;br /&gt;
&lt;br /&gt;
gestartet werden. Die im folgenden beschriebenen Konfigurationseinstellungen habe ich bislang nicht getestet.&lt;br /&gt;
&lt;br /&gt;
Im Skript &amp;quot;summon-arm-toolchain&amp;quot; sollte nun noch der DARWIN_OPT-Pfad auf den Mac Ports Pfad geändert werden ( bei mir: /opt/local = Default).&lt;br /&gt;
Erstellt wird die Toolchain jetzt mit:&lt;br /&gt;
&lt;br /&gt;
 ./summon-arm-toolchain PREFIX=~/Development/sat LIBSTM32_EN=1&lt;br /&gt;
&lt;br /&gt;
PREFIX gibt an, wo die toolchain installiert werden soll, mit LBSTM32_EN=1 erreicht man, dass nicht nur die freie LIBOPENCM3 installiert und kompiliert iwrd, sondern außerdem noch die LIB von STM.&lt;br /&gt;
&lt;br /&gt;
Das ganze dauert jetzt ne Weile. Das Skript lädt die notwendigen Pakete für die Toolchain herunter und kompiliert diese. Am Ende landet die Toolchain in dem Pfad, den wir unter PREFIX angegeben haben.&lt;br /&gt;
&lt;br /&gt;
Zum Schluss habe ich meine Toolchain nun unter ~/Development/sat&lt;br /&gt;
&lt;br /&gt;
Das Verzeichnis ~/Development/sat/bin füge ich nun noch meiner PATH-Variable in der .profile zu, so dass die Binaries des Compilers auch gefunden werden.&lt;br /&gt;
Danach ist ein Neustart des Terminals erforderlich, damit die neue PATH-Variable Verwendung findet&lt;br /&gt;
&lt;br /&gt;
==Librarys und boardspezifische Komponenten der Toolchain==&lt;br /&gt;
&lt;br /&gt;
Neben der eigentlichen Toolchain benötigt man für jeden Hersteller (STM und TI) noch die jeweiligen Hersteller-Bibliotheken, welche die entsprechenden Mappings/Registeradressen/Peripheriefunktionen/... für das jeweilige Board bereitstellen. Die Bibliotheken müssen von den Herstellern heruntergeladen werden und bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
===TI Launchpad===&lt;br /&gt;
====TI Stellarisware====&lt;br /&gt;
&lt;br /&gt;
Texas Instruments stellt die sogenannte Stellarisware zur Verfügung. Neben Dokumentation, verschiedenen Bibliothken enthält das File auch Beispielcode. Die Stellarisware lässt sich nach Registrierung von der Homepage von TI herunterladen.&lt;br /&gt;
&lt;br /&gt;
Man erhält dabei ein EXE-File &amp;quot;SW-LM3S-9453.exe&amp;quot;, welche man aber mit unzip entpacken kann.&lt;br /&gt;
&lt;br /&gt;
 cp SW-LM3S-9453.exe ~/Development/.&lt;br /&gt;
 cd ~/Development&lt;br /&gt;
 mkdir stellarisware&lt;br /&gt;
 cd stellarisware&lt;br /&gt;
 unzip ../SW-LM3S-9453.exe&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
====LM4Tools====&lt;br /&gt;
&lt;br /&gt;
LM4Flash installieren (zum Flashen von BINs aufs TI Launchpad):&lt;br /&gt;
&lt;br /&gt;
Aus: [http://recursive-labs.com/blog/2012/10/28/stellaris-launchpad-gnu-linux-getting-started/]&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/utzig/lm4tools.git&lt;br /&gt;
 cd lm4tools/lm4flash&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Projekt-Template mit Makefile====&lt;br /&gt;
Ein Project-Template, um Anwendungen für das TI Stellaris-Evaluationsboard zu schreiben, findet man unter:&lt;br /&gt;
&lt;br /&gt;
[http://github.com/C3MA/Stellaris-Template.git Stellaris-Template]&lt;br /&gt;
&lt;br /&gt;
===STM32F4 Discovery===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== STM Standard Peripherals Library====&lt;br /&gt;
&lt;br /&gt;
Die entsprechende Library von STM lädt man sich am besten in Form des [http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f4discovery_fw.zip Firmware-Pakets] für das STM32F4 Discovery von der STM-Homepage. Im Gegensatz zu TI ist es hier nicht erforderlich, sich dort anzumelden.&lt;br /&gt;
Den Inhalt dieses Zipfiles habe ich ebenfalls in ~/Development/ gesichert und den Order in stm32f4xx-fw umbenannt.&lt;br /&gt;
Die wichtigsten Ordner in diesem File sind die Ordner mit den Library-Dateien von STM und ARM. Diese müssen später im Makefile als includes eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====ST-Link====&lt;br /&gt;
&lt;br /&gt;
Mit dem ST-Link Paket kann man binarys auf das Discovery-Board flashen.&lt;br /&gt;
&lt;br /&gt;
Benötigt wird hierzu autotools, welches sich am besten mit brew installieren lässt:&lt;br /&gt;
&lt;br /&gt;
 brew install autotools&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/texane/stlink.git&lt;br /&gt;
 cd stlink&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
====Projekt Template mit Makefile====&lt;br /&gt;
Anbei befindet sich ein Template zur Erstellung von Anwendungen auf Basis STM32F4 Discovery.&lt;br /&gt;
Das Template bindet die STM-Librarys direkt über das Makefile ein. Dieses ist also an die Pfade des eigenen Systems anzupassen. Das Makefile war vom Ursprungsauthor (siehe Quellenangabe im File) eigentlich zum Kompilieren des IO_Toggle Beispielcodes von STM gedacht und wurde von mir für das Project-Template angepasst. Ggfs. sind die verwendeten Bibliotheken noch als &amp;quot;SRC&amp;quot; im Makefile zu ergänzen.&lt;br /&gt;
&lt;br /&gt;
Im Template sind die Linker-Skripte und der Startup-Code enthalten. Achtung: Bei dem Linker-SKript (&amp;quot;stm32_flash.ld&amp;quot;) sind in dem FIrmware-Paket von STM sowohl Varianten für 128 kb RAM, wie auch für 192 kb RAM enthalten. Im Project-Template findet sich die richtige Version mit 192kB.&lt;br /&gt;
&lt;br /&gt;
Das Template findet sich unter:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://github.com/C3MA/stm32f4discovery-template.git STM32F4Discover-Template bei GIthub]&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
&lt;br /&gt;
Basis für diese Anleitung wahren zahlreiche Quellen im Internet. Vor allem aber:&lt;br /&gt;
&lt;br /&gt;
* http://jeremyherbert.net/get/stm32f4_getting_started&lt;br /&gt;
* http://www.mikrocontroller.net/articles/STM32F4-Discovery&lt;br /&gt;
* http://www.alexwhittemore.com/open-source-ide-and-toolchain-for-the-stm32f4-discovery-on-mac-osx-lion&lt;br /&gt;
* http://www.metropolis4ever.de/wordpress/2012/03/st-stm32f4-discovery-mit-eclipse-und-gdb-unter-mac-os-x&lt;/div&gt;</summary>
		<author><name>Gonium</name></author>
	</entry>
</feed>