- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 10

Thema: .hex Datei wird nicht etstellt

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2010
    Ort
    Nähe Wien
    Alter
    34
    Beiträge
    108

    .hex Datei wird nicht etstellt

    Hallo,

    Also nachdem meine erste Schaltung (mehr oder weniger nur ein AtMega32 mit ISP anschluss und 2 LEDs) nun endlich fertig ist, wollte ich mich mal an die Programmierung setzen. Beim Asuro ging das ja ganz einfach, aus einer .c-Datei eine .hex-Datei zu machen und ie zu übertragen. Dachte ich mit, das muss doch hier auch ganz ähnlich gehen.

    Also hab ich mir ein (meiner Meinung nach passendes) makefile von MFile aus WinAvr machen lassen und den LED-Blink-Code aus der RN-Wiki kopiert.

    Code:
    // Testprogramm: Blinken auf Pin PC0
    //
    #ifndef MCU             // Welcher AVR genutzt wird, wird i.A. im Makefile definiert
    #define MCU  atmega32
    #endif
    
    #ifndef F_CPU           // kann auch im Makefile definiert sein
    #define F_CPU 1000000UL // Takt als LONG definieren, da zu groß für Integer 
    #endif
    
    
    
    #include <avr/io.h>     // Namen der IO Register
    #include <util/delay.h> // Funktionen zum warten
    // Achtung, damit delay richtig funktioniert muß mit Optimierung compiliert werden
    
    int main(void)
    {
     DDRC = _BV(0);         // Nur PC0 als output,  _BV(0) = (1<<0) = 1
     PORTC = 254;           // Pullups auf allen anderen Pins 
        
     while (1)
     { 
       PORTC &= 255-_BV(0); //  0 auf Bit 0 Ausgeben, Rest so lassen
       _delay_ms(100);      //  100 ms Warten
       PORTC |= _BV(0);     //  1 auf Bit 0 Ausgeben, Rest so lassen
       _delay_ms(100);
     }
    }
    So, wenn ich jetzt mein make-all.bat ausführe (da steht ja eig nur "make all" drin), dann werden auch brav neue Datein erstellt. Also ich bekomme ein neues Verzeichnis .dept, in welchem sich die datei main.o.d befindet. Außerdem bekomme ich die Datein main.lst, main.map und main.o.
    Leider aber keine .hex-Datei, die ich dann auf meinen µC übertragen könnte.

    Was genau brauch ich da jetzt falsch?
    Am makefile selbst wirds ja wohl kaum liegen, wenn das von einem Programm aus WinAvr so erstellt wird, sollte das ja schon richtig sein oder?

    lg
    ijjiij

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Und was kommt als Bildschirm-Output beim Ausführen von make-all.bat?
    MfG
    Stefan

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2010
    Ort
    Nähe Wien
    Alter
    34
    Beiträge
    108
    Also, wenn ich die make-all.bat per doppelklick ausführe öffnet sich die Konsole, Einiges an Text lauft ganz schnell über den Bildschirm, leider zu schnell das man irgendwas davon lesen könnte, und die Konsole geht wieder zu.

    Bei starten der make-all.bat über die CMD gibts folgende Fehlermeldung: "make: *** No rule to make target 'all'. Stop."
    Weiters passiert hier garnichts, es wird also auch nichts erstellt.

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Zitat Zitat von ijjiij Beitrag anzeigen
    Also, wenn ich die make-all.bat per doppelklick ausführe öffnet sich die Konsole, Einiges an Text lauft ganz schnell über den Bildschirm, leider zu schnell das man irgendwas davon lesen könnte, und die Konsole geht wieder zu.
    Batch-Datei öffnen (bei der Gelegenheit auch gleich mal den Inhalt hier posten) und als letzte Zeile "pause" ergänzen.
    MfG
    Stefan

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2010
    Ort
    Nähe Wien
    Alter
    34
    Beiträge
    108
    Wie gewünscht hier die Ausgabe in der Konsole:

    Code:
    -------- begin --------
    avr-gcc (GCC) 3.3.1
    Copyright (C) 2003 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    
    Linking: main.elf
    avr-gcc -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funs
    igned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhln
    s=main.o  -std=gnu99 -MMD -MP -MF .dep/main.elf.d main.o --output main.elf -Wl,-
    Map=main.map,--cref     -lm
    main.o(.text+0x16): In function `main':
    : undefined reference to `_delay_ms'
    main.o(.text+0x20): In function `main':
    : undefined reference to `_delay_ms'
    make: *** [main.elf] Error 1
    Und hier der Inhalt der Batch-Datei:
    Code:
    make all
    pause
    Hoffe du wirst schlau daraus,
    Danke für deine Hilfe!

  6. #6
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Zitat Zitat von ijjiij Beitrag anzeigen
    Code:
    avr-gcc (GCC) 3.3.1
    Copyright (C) 2003 Free Software Foundation, Inc.
    Geht's nicht vielleicht noch ein wenig älter?
    Deine AVR-Libc wird dann ja wohl vom gleichen Kaliber sein. Und diese prähistorische Version hatte wohl noch kein _delay_ms.
    MfG
    Stefan

Ähnliche Themen

  1. Antworten: 25
    Letzter Beitrag: 21.08.2008, 23:33
  2. kann nicht hex. datei finden
    Von marik im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 24.11.2007, 20:55
  3. bin- und hex-Datei werden nicht mehr erzeugt
    Von Robothomas im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 07.08.2007, 14:44
  4. Wie wird ne Header Datei richtig aufgebaut
    Von Cybrix im Forum C - Programmierung (GCC u.a.)
    Antworten: 9
    Letzter Beitrag: 28.11.2006, 12:03
  5. datei nicht in hex sondern in bin
    Von pebisoft im Forum C - Programmierung (GCC u.a.)
    Antworten: 7
    Letzter Beitrag: 02.09.2005, 09:26

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress