PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit KontrollerLab



chris1801
25.03.2008, 20:51
Hallo,
Ich war auf der Suche nach eine AVR-IDE für Linux und habe KontrollerLab gefunden. Ich habe es mir Installiert, ein kleines Testprogramm geschrieben, wollte es Komplimieren und habe follgende Fehlermeldungen bekommen:

Das Programm:


#include </avr/io.h>

int main()
{
char state;
int i, j, k; // Wait counters
DDRA=0x00; // Set all pins as outputs
state=0;
while (1) // Loop forever
{
for (i=0; i<10000; i++)
for (j=0; j<100; j++)
k++;
state = ~state;
PORTA = state;
}
}

Fehlermeldung:


/usr/local/avr/bin/avr-gcc -mmcuatmega32 -O0 -c ctest1.c -o ctest1.o
ctest1.c:1:21: error: /avr/io.h No such file or directory


Darauf hin habe ich das include follgendermaßen geändert:

#include </usr/local/avr/include/avr/io.h>
Da bei mir diese dateien dort liegen.
follgende Fehlermeldungen:


/usr/local/avr/bin/avr-gcc -mmcuatmega32 -O0 -c ctest1.c -o ctest1.o
In file included from ctest1.c:1:
/usr/local/avr/include/avr/io.h:94:26:avr/sfr_defs.h: No such file or directory
/usr/local/avr/include/avr/io.h:169:25:avr/iom32.h: No such file or directory
/usr/local/avr/include/avr/io.h:305:26:avr/portpins.h: No such file or directory
/usr/local/avr/include/avr/io.h:307:24:avr/common.h: No such file or directory
/usr/local/avr/include/avr/io.h:309:25avr/version.h: No such file or directory
/usr/local/avr/include/avr/io.h:312:22:avr/fuse.h: No such file or directory
/usr/local/avr/include/avr/io.h:315:22:avr/lock.h: No such file or directory


KontrollerLab ist bei mir unter meinem home-verzeichniss Installiert, avr-gcc unter /usr/local/avr/


Ich würde mich sehr über hilfe freuen,
Christoph

NowakA
26.04.2008, 17:06
Hallo chris!

Also ich verwende auch Kontrollerlab in Ubuntu und finde es ganz komfortabel! Du must bei include Anweisungen von Compiler internen Header-Files genau auf die Schreibweise achten sonst findert er sie nicht (Auch wenn du den gesamten Linux-Pfad mit angibst)! Du musst also nur schreiben "include <avr/io.h> oder zB. include <avr/interupt.h>! Hier weiss der Compiler wo er suchen muss denn bei der Installation von avr-gcc wird ein Eintrag im Path angelegt und vermerkt wo die Systemheader liegen! Eigene Header-Files muessen im Projektverzeichniss gespeichert werden und mit include "eigene.h" eingetragen werden!
Zum Debuggen wirst du aber um AVR-Studio (Windows) nicht herum kommen! Kontrollerlab ist einfach noch nicht so weit! Hier musst du dann in kontrollerlab aber mit der Option "Execute make in the projekt directory" compilieren, denn das build-in build system erzeugt keine Dateien die AVR-Studio verwenden kann! Ein make-file kopiert man am besten von Winavr ins Projektverzeichnis. Man kann es dann in kontrollerlab bearbeiten!

s.o.
26.04.2008, 19:35
ich finde es auch schade, dass Kontrollerlab mehr oder minder tot ist. Denn für Linux gibts einfach keinen gescheiten Debugger und Kontrollerlab war auf dem richtigen weg. Eventuell mal CadManiac anschreiben was mit dem Projekt los ist, der leitet nämlich das Projekt.

NowakA
27.04.2008, 19:23
Hallo s.o.

Kontrollerlab ist nicht tot! Hab CadManiac diesbezueglich schon mal angeschrieben! Es erfordert eben sehr viel Zeitaufwand den Debugger auf Stand AVRStudio zu bringen. Neben Familien- und Berufsleben dauert das eben seine Zeit! Am besten wuerde das eben Atmel selbst erledigen koennen, doch fuer 20% Linux-User finden die das nicht der Muehe wert! Ich persoenlich zieh vor jedem Linuxprogrammierer den Hut! Denn wer setzt sich schon tagelang hin, programmiert eine Anwendung, stellt diese dann kostenlos (Opensoftware Grundsatz von Linux) zur Verfuegung ohne jehmals einen Euro dabei zu verdienen! Muessen schon echte Patrioten sein!