-         

Ergebnis 1 bis 5 von 5

Thema: Problem mit avr-ld

  1. #1

    Problem mit avr-ld

    Anzeige

    Hallo,

    habe die avr-toolchain unter ubuntu installiert, sowie die kontrollerlab-ide. Nun versuche ich verzweifelt ein kleines Demoprogramm zu builden, komme jedoch über das Kompilieren nicht hinaus.

    Kontrollerlab gibt beim Build folgendes aus:

    avr-gcc -mmcu=atmega8 -Wall -g -O1 -c hello.c -o hello.o
    avr-ld hello.o -mmcu=atmega8 -g -o project.out -Wl,-Map,project.map
    avr-ld: unrecognised emulation mode: mcu=atmega8
    Error(s) occured: The exit status was 1.

    Wenn ich avr-ld aus der Konsole starte mit:
    avr-ld hello.o -m AVR4 -v -g -o project.out

    bekomme ich folgendes:
    GNU ld version 2.16.1
    hello.o in function 'main':
    /.../hello.c:4: undefined reference to '__stack'
    /.../hello.c:4: undefined reference to '__stack'

    Der Vollständigkeit halber noch der Quellcode:
    Code:
    #include <avr/io.h>
    
    int main(void){
    DDRB = 0XFF;
    PORTB = 0x03;
    
    while(1){
    }
    
    return 0;
    }
    Kann mir jemand helfen? Liegt es vielleicht an der Installation der Toolchain (habe die Komponenten mit apt-get install installiert...)

    Vielen Dank und viele Grüße,
    \Ulli.

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Hast du schon mal versucht, avr-gcc als Linker zu verwenden?

    Code:
    avr-gcc hello.o -mmcu=atmega8 -o project.out -Wl,-Map,project.map
    GCC ist ja "nur" ein Treiber, der die benötigten Tools (compiler=cc1/cc1plus, assembler=as, linker=ld) aufruft, und zwar mit den passenden Optionen.
    Disclaimer: none. Sue me.

  3. #3
    Werde ich heute abend gleich mal versuchen...

    Mit dem Builden "zu Fuß" bin ich absolut nicht vertraut. Wollt eigentlich mit der IDE vom Kontrollerlab arbeiten und habe mir das Vorgehen nur aus dessen Output und den Project-Settings zusammengereimt. Offenbar stimmt aber irgendwas mit meinen Kontrollerlab-Settings oder meinen Pfaden nicht.

    Viele Grüße,
    \Ulli.

  4. #4
    Hallo Georg-Johann,
    danke für Deinen Hinweis. Wenn ich in den Kontrollerlab-Einstellungen avr-gcc sowohl für den Compiler als auch für den Linker einstelle, funktioniert's. Nur beim object copy command steht dann was anderes: "avr-ojcopy".

    Schöne Grüße und schöne Ostern,
    \Ulli.

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Das ist ein Fehler. Es muss heissen "avr-objcopy".
    Disclaimer: none. Sue me.

Berechtigungen

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