Doctor-Evil
19.01.2010, 07: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.
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.