Forum: Compiler & IDEs Hex file erzeugen aus AVR GCC


von A. R. (redegle)


Lesenswert?

Hallo,

ich habe auf meinen Rechner AVR Studio 4.18 und WinAvr (AVR GCC) 
installiert.

Nun wollte ich anfangen etwas C Programmieren zu lernen.

Hierzu habe ich mir hier aus dem Forum folgendes Programm angeschaut.

/* Alle Zeichen zwischen Schrägstrich-Stern
   und Stern-Schrägstrich sind lediglich Kommentare */

// Zeilenkommentare sind ebenfalls möglich
// alle auf die beiden Schrägstriche folgenden
// Zeichen einer Zeile sind Kommentar

#include <avr/io.h>          // (1)

int main (void) {            // (2)

   DDRB  = 0xff;             // (3)
   PORTB = 0x03;             // (4)

   while(1) {                // (5a)
     /* "leere" Schleife*/  // (5b)
   }                         // (5c)

   /* wird nie erreicht */
   return 0;                 // (6)
}


Das Problem ist.
Ich weiß nicht wie ich hierraus eine Hexfile erzeugen kann.

: Verschoben durch User
von Kasperle (Gast)


Lesenswert?

Hast du schon ein neues Projekt erzeugt?

von A. R. (redegle)


Lesenswert?

JA

Habe das auch durchsimuliert und compiliert (ohne Fehler).

Ich kann das auch als Makefile speichern.

von narf (Gast)


Lesenswert?

comilieren erzeugt ein HEX .. das liegt in einem unterordner "default"

von A. R. (redegle)


Lesenswert?

Wenn ich ein neues Projekt mache mit "Atmel AVR Assembler" dann ja.

Ich hab es jedoch mit "AVR GCC" gemacht.

Hier finde ich keine solche Hex File.

von Oliver (Gast)


Lesenswert?

Wenn du das Programm simulieren kannst, gibt es auch ein hexfile.

Wie narf schon schrieb, das hex-file steht im Unterordner default des 
Projektverzeichnisses.

Oliver

von A. R. (redegle)


Angehängte Dateien:

Lesenswert?

Anbei ein Screen.

Ich sehe kein Hex file

von Zed (Gast)


Lesenswert?

Nutze doch einfach mal den explorer um dich in den Defaultordner zu 
klicken. Ansonsten versuche es mit der Windowssuchfunktion mit "*.hex"-

Viel Glück!

von Zed (Gast)


Lesenswert?

Achso, ich glaube es muss im Projekr auch immer eine main.c existieren 
wenn ich richtig liege!

von A. R. (redegle)


Lesenswert?

OK super Danke.

Hab die Datei gefunden^^.

Muss ich die in den Flash schreiben oder ins EEPROM?

von Michael B. (planlessmichi)


Lesenswert?

Nein, eine main.c muss es nicht geben; nur eine Funktion mit main(); in 
welcher Datei die liegt, ist egal; sprich: Das passt bei Dir schon.

Was die hier alle gemeint haben: Die hex-Datei wird automatisch erstellt 
und liegt dann im (vom AVR-Studio erstellten) Unterordner "default". Du 
musst Dich nur noch (z.B. über den Windows File-Explorer) in Dein 
Projektverzeichnis klicken und dann in den default-Ordner. Und da liegt 
dann auch Deine hex-Datei (vorrausgesetzt, Du konntest fehlerfrei 
compilieren, was bei Dir ja aber auch der Fall ist)


EDIT: O.k., da war ich jetzt wohl ein paar Sekunden zu spät :-)

EDIT2: Ins Flash; für's EEPROM sind dann die (optionalen) eep-Dateien

von A. R. (redegle)


Lesenswert?

Danke

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.