-         

Seite 1 von 6 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 53

Thema: brauche Starthilfe

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.02.2005
    Beiträge
    385

    brauche Starthilfe

    Anzeige

    Hi,
    ich würde gerne AVR-GCC lernen, da ich mittlerweile ausschließlich unter Suse Linux arbeite.
    Ich hab selber schon gesucht und dieses avr-gcc gefunden. Allerdings bräuchte ich ein Tutorial, das mit von Anfang an erklärt, wie alles funktioniert. Dh. das erste wäre wohl die Installation von avr-gcc, danach wäre wohl dran, wie man das Prog. auf das RNBFRA bringt, usw...
    Hat da jemand was tolles auf lager? Hab schon mikroscontroller.net gefunden, das sieht schon sehr gut aus, allerdings weiß ich schon mal nicht, welche dateien ich für avr-gcc runterladen muss.
    Wäre sehr dankbar für schnelle Abhilfe.
    mfg
    jagdfalke

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Willkommen im avr-gcc-Club
    Zum Anfang ersma die Installation:
    Installationsanleitung /Build von avr-gcc, avr-libc, binutils auf linuxfocus.org
    Hab ich schon mal ausprobiert und hat prompt geklappt. Teilweise muss man in den ftp-Archiven etwas rumsuchen weil die Links nicht mehr up to date sind, aber das schaffst du.
    Disclaimer: none. Sue me.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    30.08.2005
    Ort
    Friedrichshafen
    Beiträge
    11
    Hallo

    um den Hexfile zu erstellen, brauchst Du einen Makefile. Dafür gibt es fertige Vorlagen, die man nur an wenigen Stellen anpassen muss.
    Zum Übertragen des Hexfiles in den AVR benutze ich den Avrdude und bin sehr zufrieden damit.
    Nummer 5 lebt!

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2004
    Ort
    Karlsruhe
    Beiträge
    223
    um den Hexfile zu erstellen, brauchst Du einen Makefile
    das ist so nicht richtig. Du kannst das hex-file auch von Hand erstellen, aber mit einem passenden Makefile ist das deutlich einfacher. Ein Makefile ist letztendlich nur eine "Bauanleitung" die in der richtigen Reihenfolge die richtigen Befehle aufruft.
    mfile müsste eigentlich auch unter Linux laufen. Habs aber bisher noch nicht ausprobiert.

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.02.2005
    Beiträge
    385
    ok, ich werd mal anfangen der Anleitung zu folgen. Melde mich wenn was nicht klappt
    Danke schon mal

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.02.2005
    Beiträge
    385
    Ok, ich habe soweit alles installiert. Hat auch gut geklappt. Jetzt habe ich mir das Programbeispiel angeschaut: avrm8ledtest-0.2. Das steht dort zum download zur Verfügung.
    Man soll in das Verzeichniss wechseln und make und make load ausführen.

    make:
    avr-gcc -g -mmcu=atmega8 -Wall -Wstrict-prototypes -Os -mcall-prologues -o avrm8ledtest.out -Wl,-Map,avrm8ledtest.map avrm8ledtest.o
    ld: unrecognised emulation mode: AVR4
    Supported emulations: elf_i386 i386linux elf64alpha alpha hppalinux elf64_ia64 m68kelf m68klinux elf32ppclinux elf32ppc elf32ppcsim elf64ppc elf_s390 elf64_s390 elf32_sparc sparclinux elf64_sparc sun4 elf_x86_64
    make: *** [avrm8ledtest.out] Fehler 1
    make load:
    avr-gcc -g -mmcu=atmega8 -Wall -Wstrict-prototypes -Os -mcall-prologues -o avrm8ledtest.out -Wl,-Map,avrm8ledtest.map avrm8ledtest.o
    ld: unrecognised emulation mode: AVR4
    Supported emulations: elf_i386 i386linux elf64alpha alpha hppalinux elf64_ia64 m68kelf m68klinux elf32ppclinux elf32ppc elf32ppcsim elf64ppc elf_s390 elf64_s390 elf32_sparc sparclinux elf64_sparc sun4 elf_x86_64
    make: *** [avrm8ledtest.out] Fehler 1
    Das sieht mir alles sehr kryptisch aus, kann damit rein garnichts anfangen. Was mir noch aufgefallen ist, ist dass ich unter Windows der Programmieradapter ans Board angesteckt lassen kann und das programm läuft problemlos (mit Bascom). Unter Linux aber zuckt kein einziger Servo, solange bis ich den Adapter abnehme. Wenn ich dann das Programm neu starte läuft alles wie gewohnt. Kann das was mit diesem Printer Deamon zu tun haben, von dem da die Rede ist? Ich weiß gar nicht wo ich den ausschalten kann. Hab einfach mal alle installierten Printer gelöscht aber Fehlanzeige.

    Kann jemand helfen?

    mfg
    jagdfalke

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Offenbar wird der falsche ld aufgerufen. Sieht aus wie der host ld und nicht wie avr-ld.
    Da stimmt also etwas mit deiner Installation nicht bzw mit den Pfaden.
    Wenn du GCC zusätzlich den Schalter -v gibst, siehtst du genauer, was er macht und welchen linker er versucht aufzurufen.

    ::Edit::
    Hast du die Installationsanleitung befolgt? Vielleicht ist es ein zu neues bfd, was noch nicht auf AVR angepasst ist...?
    avr-ld gehört nicht zum gcc, sondern ist Teil von bfd.
    Disclaimer: none. Sue me.

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.02.2005
    Beiträge
    385
    ich hab halt immer die neuste Version der jeweiligen Sources genommen. Dann probier ichs halt nochmal mit genau den selben, wie in der Anleitung.

    kleine Zwischenfrage: was ist ein Linker????

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.02.2005
    Beiträge
    385
    Ich hab jetzt alles genauso gemacht, wie des in der Anleitung steht. Mit folgenden Files:

    avr-libc-1.0.5.tar.bz2
    binutils-2.15.tar.bz2
    gcc-core-3.4.2.tar.bz2
    uisp-20040311.tar.bz2

    in genau der Reihenfolgen wie in der Anleitung beschrieben.

    Folge von make und make load:
    mathias@linux:~/avrm8ledtest-0.2> make
    avr-gcc -g -mmcu=atmega8 -Wall -Wstrict-prototypes -Os -mcall-prologues -o avrm8ledtest.out -Wl,-Map,avrm8ledtest.map avrm8ledtest.o
    ld: unrecognised emulation mode: AVR4
    Supported emulations: elf_i386 i386linux elf64alpha alpha hppalinux elf64_ia64 m68kelf m68klinux elf32ppclinux elf32ppc elf32ppcsim elf64ppc elf_s390 elf64_s390 elf32_sparc sparclinux elf64_sparc sun4 elf_x86_64
    make: *** [avrm8ledtest.out] Fehler 1
    mathias@linux:~/avrm8ledtest-0.2> make load
    avr-gcc -g -mmcu=atmega8 -Wall -Wstrict-prototypes -Os -mcall-prologues -o avrm8ledtest.out -Wl,-Map,avrm8ledtest.map avrm8ledtest.o
    ld: unrecognised emulation mode: AVR4
    Supported emulations: elf_i386 i386linux elf64alpha alpha hppalinux elf64_ia64 m68kelf m68klinux elf32ppclinux elf32ppc elf32ppcsim elf64ppc elf_s390 elf64_s390 elf32_sparc sparclinux elf64_sparc sun4 elf_x86_64
    make: *** [avrm8ledtest.out] Fehler 1

    allerding lauteten die letzten paar Zeilen von make install in bin-utils:
    make[1]: Leaving directory `/home/mathias/binutils-2.15/obj-avr/intl'
    make[1]: Entering directory `/home/mathias/binutils-2.15/obj-avr/ld'
    make[1]: *** Keine Regel, um »install« zu erstellen. Schluss.
    make[1]: Leaving directory `/home/mathias/binutils-2.15/obj-avr/ld'
    make: *** [install-ld] Fehler 2
    Da ist ja ein Fehler passiert. Kann das damit zusammenhängen?

    mfg
    jagdfalke

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Da wird immer noch der i386-ld aufgerufen.
    avr-ld: supported targets: elf32-avr elf32-little elf32-big srec symbolsrec tekhe
    avr-ld: supported emulations: AVR2 AVR1 AVR3 AVR4 AVR5
    Dein avr-ld wird also nicht gefunden --> Pfade anpassen, evtl das Makefile. Wie gesagt, mach mal die Option -v zum gcc-Aufruf dazu (im Makefile).
    Oder du hast beim configure was vergessen, evtl einen neuen configure-Lauf, zum Build das obj-Verzeichnis wegputzen.

    ::Edit::

    Ein Linker bindet (linkt) die Objekte, die der Assembler generiert zusammen. Zu einem neuen Objekt, einem Executable, einer Lib, ...
    Der Assembler wiederum wird von Compiler aufgerufen, meist implizit.
    Disclaimer: none. Sue me.

Seite 1 von 6 123 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •