Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
eclipse [2011/08/12 12:48] – [Cross Compilen mit Eclipse] mkrummsdorf | eclipse [2022/08/04 15:02] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 25: | Line 25: | ||
'' | '' | ||
- | herunterladen. In dem entpackten Ordner ist das direkt ausführbare Eclipse. Es müssen keine Plugins mehr installiert werden. Mitunter kann es jedoch vorkommen, dass für die Ausführung von Eclipse noch eine Java Runtime Umgebung benötigt wird. Diese ist mit < | + | herunterladen. In dem entpackten Ordner ist das direkt ausführbare Eclipse. Es müssen keine Plugins mehr installiert werden. Mitunter kann es jedoch vorkommen, dass für die Ausführung von Eclipse noch eine Java Runtime Umgebung benötigt wird. Diese wird mit folgendem Befehl installiert. |
+ | < | ||
==== Installation per apt-get ==== | ==== Installation per apt-get ==== | ||
Mit apt-get wird die eclipse Plattform installiert: | Mit apt-get wird die eclipse Plattform installiert: | ||
- | '' | + | <code bash>user@ubuntu: |
- | <note warning>Ubuntu 10.04 liefert das sehr alte Eclipse Galileo mit. Es wird empfohlen ein neueres Paket direkt herunterzuladen. Siehe [[eclipse# | + | |
- | <note tip>Das Paket eclipse-platform enthält nur die Platform und keine Sprachspezifischen plugins. Diese müssen noch mit dem Plugin Manager nachinstalliert werden. Es kann auch eine schon vorhandene Installation von eclipse genutzt werden.</ | + | <WRAP round alert> |
+ | Ubuntu 10.04 liefert das sehr alte Eclipse Galileo mit. Es wird empfohlen ein neueres Paket direkt herunterzuladen. Siehe [[eclipse# | ||
+ | </WRAP> | ||
+ | |||
+ | <WRAP round tip> | ||
+ | Das Paket eclipse-platform enthält nur die Platform und keine Sprachspezifischen plugins. Diese müssen noch mit dem Plugin Manager nachinstalliert werden. Es kann auch eine schon vorhandene Installation von eclipse genutzt werden. | ||
+ | </WRAP> | ||
===== Konfiguration ===== | ===== Konfiguration ===== | ||
Line 37: | Line 45: | ||
**Environment**: | **Environment**: | ||
- | <note important> | + | <WRAP round important> |
+ | Starten von Eclipse per Doppelklick im File-Explorer übernimmt nicht die gesetzten Umgebungsvariablen der Shell. | ||
+ | </ | ||
+ | |||
+ | |||
+ | Die erste Möglichkeit um eclipse mit den gesetzten Umgebnungsvariablen zu benutzen ist, eclipse aus einer Konsole heraus zu starten. | ||
+ | |||
+ | Eine andere Möglichkeit ist, die relevanten Umgebungsvariablen in eine Datei zu schreiben, z.B. | ||
+ | <code bash> | ||
+ | export CROSS_COMPILE=arm-linux-' | ||
+ | |||
+ | Und dann ein Shell-Skript zu schreiben das zuerst die Umgebungsvariablen setzt und dann eclipse startet: | ||
+ | |||
+ | <code bash> | ||
+ | source ~/ | ||
+ | cd ~/eclipse | ||
+ | ./ | ||
+ | |||
+ | Man kann dann auch einen " | ||
+ | {{ :eclipse: | ||
+ | ===== Erstellen eines neuen Cross Compiler Projektes ===== | ||
+ | * Menü '' | ||
+ | * Projektnamen eingeben und als '' | ||
+ | * Im nächsten Fenster über '' | ||
+ | <code> | ||
+ | Prefix: arm-none-linux-gnueabi- | ||
+ | Path: /opt/ | ||
+ | </code> | ||
+ | * Im nächsten Fenster '' | ||
===== Erstellen eines Projektes aus bestehenden Sourcen ===== | ===== Erstellen eines Projektes aus bestehenden Sourcen ===== | ||
Line 54: | Line 90: | ||
- Das Projekt mit einem Klick auf den Hammer bauen. | - Das Projekt mit einem Klick auf den Hammer bauen. | ||
- Nach einem erfolgreichen Build ist im Project Explorer das Binary mit der Zusatzinfo der Architektur, | - Nach einem erfolgreichen Build ist im Project Explorer das Binary mit der Zusatzinfo der Architektur, | ||
- | <note>Wenn statt arm als Architektur die Hostarchitektur steht (z.B. x86), dann wurde der falsche Compiler gewählt. Siehe auch: [[eclipse# | + | <WRAP round info> |
+ | Wenn statt arm als Architektur die Hostarchitektur steht (z.B. x86), dann wurde der falsche Compiler gewählt. Siehe auch: [[eclipse# | ||
+ | </WRAP> | ||
+ | |||
===== Cross Compilen mit Eclipse ===== | ===== Cross Compilen mit Eclipse ===== | ||
Ein Projekt kann auch in Eclipse für eine andere Plattform kompiliert werden. Es ist dafür ein Aufruf des targetspezifischen Compilers nötig. Hier sollen die dazu vorzunehmenden Einstellungen in Eclipse anhand des C Compilers verdeutlicht werden, der durch das LTIB-Paket mitgeliefert wird. Für dieses Beispiel ist dies der GCC 4.3.3. | Ein Projekt kann auch in Eclipse für eine andere Plattform kompiliert werden. Es ist dafür ein Aufruf des targetspezifischen Compilers nötig. Hier sollen die dazu vorzunehmenden Einstellungen in Eclipse anhand des C Compilers verdeutlicht werden, der durch das LTIB-Paket mitgeliefert wird. Für dieses Beispiel ist dies der GCC 4.3.3. | ||
Line 75: | Line 115: | ||
Jetzt wird in der gewählten Configuration das Projekt für die Zielhardware gebaut. Zum Kopieren der gebauten Binärdatei in das RootFS ist noch Folgendes zu erledigen: | Jetzt wird in der gewählten Configuration das Projekt für die Zielhardware gebaut. Zum Kopieren der gebauten Binärdatei in das RootFS ist noch Folgendes zu erledigen: | ||
- | In den Projekteigenschaften unter '' | + | In den Projekteigenschaften unter '' |
+ | Das Kopieren direkt ins LTIB-RootFS funktioniert nur, wenn die Benutzerrechte von Eclipse das Schreiben an diese Stelle erlauben. Notfalls sind vorher die Rechte des Zielverzeichnisses entsprechend anzupassen. | ||
+ | </wrap> | ||
Line 87: | Line 130: | ||
Im nächsten Formular muss nur noch das heruntergeladene ZIP-Archiv ausgewählt werden und mit '' | Im nächsten Formular muss nur noch das heruntergeladene ZIP-Archiv ausgewählt werden und mit '' | ||
{{ : | {{ : | ||
- | <note tip> | + | <WRAP round tip> |
+ | Sollte es beim Kompilieren probleme geben, kann man zuerst das Bauen per direktem Aufruf von '' | ||
+ | </WRAP> | ||
===== Debuggen ===== | ===== Debuggen ===== | ||
* [[eclipse: | * [[eclipse: | ||
- | * [[eclipse: | + | * [[eclipse: |
Line 96: | Line 142: | ||
===== Quellen ===== | ===== Quellen ===== | ||
* http:// | * http:// | ||
+ | * http:// | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
* http:// | * http:// |