Forum: Compiler & IDEs avr-gcc und linux (kdevelop)


von Matthias Mayer (Gast)


Lesenswert?

Hallo!
Ich möchte avr-gcc unter Linux verwenden. Auf Windows verwende ich
schon winavr, mit dem ich schon sehr gute Erfahrungen gemacht habe. Zur
abwechslung möchte ich es aber mal auf Linux probieren. Ich bin noch
ein ziemlicher Linux Newbi aber ich konnte schon wenigsten die
folgenden Dateien erfolgreich installieren können.
cdk-avr-base-0.3-20031111.i386.rpm
cdk-avr-binutils-2.14-20030906.i386.rpm
cdk-avr-gcc-3.3.2-20031206.i386.rpm
cdk-avr-libc-1.0.2-20040229.noarch.rpm
cdk-avr-uisp-20040207cvs-20040304.i386.rpm
cdk4avr-0.3.tar.bz2
Ich hatte auf sourceforge.net gelesen dass die Datein Cross Compiler
??! sind bzw. unterstüzen. Leider kann ich damit nicht viel anfagen.
Also erste Frage was bedeutet eigentlich cross compiler (läuft parallel
zum vorhandenen GNU-GCC).
Desweiteren würde ich gerne einen vorhandenen Editor von meinem Suse
8.2 verwenden (KWrite, vorzugsweise aber KDevelop). Meine nächste Frage
ist, wie kann ich das avr-gcc richtig in meine Entwicklungsumgebung
einbinden. Zur Zeit zeigt kDevelop Fehlermeldungen an, wie z.B. dass er
delay.h (konflikt mit io.h) nicht findet oder er findet die Register
(DDRB) nicht. Ausserdem was muss ich zusätzlich in das automatisch
generierte makefile von kdevelop hineinschreiben.
Danke schon mal im voraus
Matthias

von Jörg Wunsch (Gast)


Lesenswert?

> Also erste Frage was bedeutet eigentlich cross compiler (läuft
> parallel zum vorhandenen GNU-GCC).

Ein Crosscompiler ist einer, bei dem die Wirts- und die Zielplattform
verschieden sind (englisch: host und target).  Für Microcontroller ist
das praktisch immer der Fall.

Das Gegenstück ist der native compiler, also der, der den Code für
Dein Wirtssystem erzeugt.

Beim GCC hat es sich eingebürgert, bei Crosscompilern den Namen aller
Tools einen Präfix voranzusetzen, damit man sie vom native compiler
unterscheiden kann.  So heißt der gcc dann avr-gcc, der ld avr-ld usw.

Zu KDevelop kann ich Dir nix sagen, bin eingefleischter
Emacs-Nutzer. ;-)

von Benjamin Johann (Gast)


Lesenswert?

Ja... interessante Fehler!
Ich habe das procedere gerade mit dem MSP-Compiler hinter mir. Es ist
wirklich nicht einfach! Du mußt die Header-Filers an der richtigen
stelle in dein Projekt einbinden. Dann findet kdevelop auch die
"Register". Viel spannender ist aber nachher das debuggen mit z.B.
ddd. Das wiederum habe ich nämlich nicht hinbekommen.
Zurück zu deiner Frage:
Ich habe die Oberfläche nicht auswendig im Kopf aber du musst in den
generellen optionen deinen compiler eintragen - nämlich avr-gcc.
Die header und libs kannst du unter Projektoptionen spezifizieren.
wichtig ist, daß du hier auch die compileroptionen richtig angibst: bei
mir war das "--mmcpu=msp430" oder so. Dann gibt es im Menü Make oder
so die möglichkeiten Config-Optionen anzugeben. Die kannst du dir aber
dann sparen, weil ja schon der richtige compiler genutzt und die
wichtigsten optionen eingetragen wurden.
Alles in allem läufts dann ohne den Makefile nochmal anzufassen.
Benni

von zagor (Gast)


Lesenswert?

ich benutze Kate für die AVR programmierung und compilirung. ich hatte
keine probleme. falls du fragen hast, gebe ich dir gerne auskunft.

gruss zagor

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.