Forum: Compiler & IDEs AVRDUDE unter Linux


von Oryx (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe versucht, AVRDUDE unter Linux (Suse 9.3) zu kompilieren.
configure lief noch sauber durch.

Aber beim Aufruf von make kam die im Anhang beschriebene
Fehlermeldung.

Zu meinen Fragen:
a) Was könnte mir da noch fehlen?
b) Läuft es bei anderen?
c) Könnte mir jemand eine ausführbare Datei zukommen lassen?

Am liebsten wäre mir natürlich, es selbst fertigzustellen.

Desweiteren habe ich noch Fragen zum erstellen des Compilers:
Welche Quellcodeversion sollte ich nehmen?
Die neueste, ich denke 4.0x der doch eine ältere mit 3.x?
Gibt es da Erfahrungswerte?

MfG
Oryx

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> a) Was könnte mir da noch fehlen?

Die wesentliche Fehlermeldung als Text (statt als PDF), am besten
gleich inline im Posting.

Sorry, ich zumindest möchte meine Zeit nicht mit dem Download von
Bildern oder PDFs verplempern nur weil du es nicht vermocht hast, die
wesentliche Fehlermeldung per cut&paste zu zitieren.

> b) Läuft es bei anderen?

Natürlich.

avrdude ist im Wesentlichen auf FreeBSD entstanden und auf Linux
ausgiebig genutzt/getestet.  Letzteres benutze ich u.a. täglich auf
Arbeit.

> c) Könnte mir jemand eine ausführbare Datei zukommen lassen?

Zur Not, aber wofür eigentlich?  PPC, Sparc64, AMD64?  Welche
Library-Versionen (ist bei Linux ja auch alles andere als trivial
mittlerweile)?  Mit oder ohne libusb?

> Desweiteren habe ich noch Fragen zum erstellen des Compilers:
> Welche Quellcodeversion sollte ich nehmen?
> Die neueste, ich denke 4.0x der doch eine ältere mit 3.x?

4.0x keinesfalls.  Wenn überhaupt 4.x, dann den letzten Snapshot.
Gegenüber 4.01 sind da einige Bugfixes für den AVR dabei.

3.4.4 wäre ansonsten die stable line.

von Michael K. (onkel_michi)


Lesenswert?

Hallo,

hatte das gleiche Problem, aber in einem anderen Forum hat man mir dann
geholfen.

Die Fehlermeldung sollte weg sein, wenn Du texinfo mit Yast
nachinstallierst.
Für texi2html zu bekommen musst Du die latex-Pakete installieren.

Bei mir hat das so geklappt.

von Klaus Leidinger (Gast)


Lesenswert?

Oryx,

alternativ zum Vorschlag von Michi kannst Du auch im Makefile

        die Zeile SUBDIRS = doc mit dem # auskommentieren

also so:


#SUBDIRS = doc
DIST_SUBDIRS = windows


und auf eine schöne Diku verzichten ;-)

HTH,
Klaus

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Im aktuellen avrdude (5.0) wird die Doku standardmäßig übrigens nicht
mehr gebaut.  Die man page enthält nahezu dasselbe an Informationen,
ein paar Beispiele fehlen sowie die Liste aller unterstützten
Programmieradapter (kann man sich ja im avrdude.conf selbst ansehen).

von Oryx (Gast)


Lesenswert?

Hallo,
ich danke erst mal.

Es hat mit dem Auskommentieren geklappt:
#SUBDIRS = doc

@Jörg
das mit dem Text aud der Konsole heraus habe ich jetzt auch
hinbekommen.

Gibt es jetzt noch eine Möglichkeit, den Reset-Pin nach dem
Programieren auf 1 zu legen.
Der Kontroller läuft im Moment noch nicht los.

Mit dem Compiler bin ich noch nicht wirklich weitergekommen. Ich habe
einige fertige RPM-Dateien für mein System gefunden.
Leider läuft damit kein C++

und beim Linken erscheint folgende Fehlermeldung:
/opt/cross/lib/gcc/avr/4.0.2/../../../../avr/bin/ld:
/home/dieter/src_obj/spiegel/spiegel.out: could not find output section
.eeprom for input section .eeprom
/opt/cross/lib/gcc/avr/4.0.2/../../../../avr/bin/ld: final link failed:
Nonrepresentable section on output
make: *** [/home/dieter/src_obj/spiegel/spiegel.out] Fehler 1

Im meinem Programmcode wird kein EEprom verwendet

Ich werde in den nächsten Tagen noch einmal mein Glück mit dem Compiler
versuchen.

Noch eine blöde Frage von einem Neuling:
Wie bekomme ich die paralele Schnittstelle für einen normalen user
freigegeben? Wonach muss ich da suchen?

MfG
Oryx

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> Gibt es jetzt noch eine Möglichkeit, den Reset-Pin nach dem
> Programieren auf 1 zu legen.

Normalerweise sollte das die `exit specification' (Option -E) machen
können, also z.B. -E noreset.  Allerdings glaube ich mich daran zu
erinnern gehört zu haben :), dass diese im Moment nicht funktionieren
würde.  Wenn dem so ist => bitte einen Bugreport schreiben (auf
http://savannah.nongnu.org gibt's da ein Web-Interface dafür).

> Ich habe einige fertige RPM-Dateien für mein System gefunden.

Aua.  ,,habe ... gefunden'' :-)  Unterm Abstreicher? ;-)

Windows-Nutzer wären da wohl etwas vorsichtiger...

Die avr-libc-Doku enthält eine Selbstcompilier-Anweisung, mit der du
selbst unbedarft innerhalb von maximal 1 Stunde zum Ziel kommen
solltest.

GCC 4.0x ist für AVR überhaupt nicht empfehlenswert, da er einige
bekannte Bugs hatte.  Wenn es schon ein 4.x sein muss, dann einen
aktuellen Snapshot nehmen, ansonsten bei der stabilen Version 3.4.4
bleiben.

RPMs für Linux werden nur saumäßig gepflegt, wie's scheint.  Beklag
dich bei den Distributoren, die RPM-basierte Linuxe zusammennageln.
Offensichtlich ist es bei denen nicht so einfach, stabil irgendeine
derartige Software mit unterzubekommen, die nun vielleicht nicht
gerade 30 oder mehr Prozent ihrer Benutzer nehmen würden.  Bei FreeBSD
weiß ich selbst, wie einfach es ist, etwas in die ports collection
aufzunehmen, das dann mit jedem FreeBSD mit verteilt wird, und sowohl
GenToo als auch Debian Linux scheinen einigermaßen agile Leute zu
haben, die im Rahmen von deren Paketsystemen die AVR-Toolchain
pflegen.

> Wie bekomme ich die paralele Schnittstelle für einen normalen user
> freigegeben?

Die Permissions auf /dev/parportX entsprechend setzen (X dürfte in den
allermeisten Fällen eine 0 sein).  Die Unix-Variante des Parallelport-
Zugriffs geht einen relativ sauberen Weg (Linux und FreeBSD), bei dem
der Parallelport mit einem eigenständigen Treiber unterstützt wird.
Das ist zwar nicht die allerschnellste Variante, aber sie ist
ordentlich gegen andere konkurrierende Zugriffe verriegelt und sie
benötigt kein großräumiges Sicherheitsloch, da man den Zugriff sauber
über die /dev/*-Permissions regeln kann.  Für Windows gibt's keinen
derartigen Treiber, sodass dort nur das Standard-Sicherheitsloch übrig
bleibt, alle IO-Ports für Anwenderprogramme zu öffnen.

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.