PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nibobee-Kurz-HOWTO: Entwicklung unter Linux mit Eclipse



Doctor-Evil
19.01.2010, 06:58
Bei mir funktioniert unter Windows mit WINAVR und AVRStudio4 die line.h Library nicht (findet beim Linken irgendwelche deklarierten Speicherbereiche nicht), deshalb habe ich versucht unter Linux eine Entwicklungsumgebung mit Eclipse aufzusetzen. Da dies nicht ganz einfach ist, anbei folgende Punkte die es dabei zu beachten gilt, falls jemand ein ähnliches Problem hat:

Vorab: Die Include-Dateien sind nicht im ZIP /.tar.gz Paket enthalten, sondern nur im MSI Installer, dieser kann unter Linux aber mit wine bzw. "msiexec /i paket.msi" entpackt werden.

Benötigte Pakete:

sudo apt-get install eclipse build-essential sun-java6-jdk
sudo apt-get install gcc-avr avrdude binutils-avr avr-libc avr8-burn-o-mat

Eclipse:
* CDT Plugin für C/C++ Entwicklung (über Plugin/Update Manager, z.B.http://download.eclipse.org/tools/cdt/releases/galileo )
* AVR Plugin (über Plugin/Update Manager,http://avr-eclipse.sourceforge.net/updatesite/ )

Nibobee Libraries:
* Includes aus *.msi File
* Libs aus ZIP / MSI

Nach dem Anlegen eines neuen Projekts für AVR-GCC folgende Einstellungen vornehmen (<nibobeelib> ist der Pfad,in dem die entpackten Includes und LIbs liegen):

Project Settings:
- AVR Compiler -> Directories -> Include Paths (-I):
* <nibobeelib>/include
* /usr/lib/avr/include

- AVR Compiler -> Symbols -> Define Syms (-D): _NIBOBEE_

- AVR Compiler -> Optimization -> Optimization Level: -Os

- AVR C Linker -> Libraries -> Libraries Path (-L): <nibobeelib>/lib
- AVR C Linker -> Libraries -> Objects -> Other Objects:
<nibobeelib>/lib/libnibobee_line.a
<nibobeelib>/lib/libnibobee_utils.a
<nibobeelib>/lib/libnibobee_base.a

Damit sollte alles funktionieren.

waschtl
19.01.2010, 13:58
Hi Doctor-Evil meine Einstellungen sehen soweit aus wie deine. Allerdings muss ich noch unter meiner Eclipse-Version (Build id: 20090920-1017) unter
AVR Compiler -> Language Standard
den `Language Standard` auf `ISO C99(-std=c99)` einstellen, da ich sonst mit Fehlermeldungen zugebombt werde