mikrocontroller.net

Forum: Compiler & IDEs "binary" im Makefile erzeugt kein bin-datei


Autor: funkker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich kompiliere ein  Miniprogramm von Winavr mit der Make. Habe 
dort "binary" angegeben. Es wird aber keine "bin" erzeugt, woran liegt 
das?

Danke.

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo hast Du „binary“ angegeben und wie?  Was heißt „Es wird aber keine 
"bin" erzeugt“?  Erwartest Du, eine Datei mit der Endung .bin zu 
erhalten oder woraus schließt Du das?  Was geschieht stattdessen?  Wie 
compilierst Du?  Was sind die Meldungen des Compilers?

Wieder mal ein Textadventure ohne grundlegende Angaben.

Autor: funkker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Auszug aus der Make.
Unten ist "binary".
Beim erstellen der Make mit Mfile kann man es ja auswählen.
# Hey Emacs, this is a -*- makefile -*-
#----------------------------------------------------------------------------
# WinAVR Makefile Template written by Eric B. Weddington, Jörg Wunsch, et al.
#
# Released to the Public Domain
#
# Additional material for this makefile was written by:
# Peter Fleury
# Tim Henigan
# Colin O'Flynn
# Reiner Patommel
# Markus Pfaff
# Sander Pool
# Frederik Rouleau
# Carlos Lamas
#
#----------------------------------------------------------------------------
# On command line:
#
# make all = Make software.
#
# make clean = Clean out built project files.
#
# make coff = Convert ELF to AVR COFF.
#
# make extcoff = Convert ELF to AVR Extended COFF.
#
# make program = Download the hex file to the device, using avrdude.
#                Please customize the avrdude settings below first!
#
# make debug = Start either simulavr or avarice as specified for debugging, 
#              with avr-gdb or avr-insight as the front end for debugging.
#
# make filename.s = Just compile filename.c into the assembler code only.
#
# make filename.i = Create a preprocessed source file for use in submitting
#                   bug reports to the GCC project.
#
# To rebuild project do "make clean" then "make all".
#----------------------------------------------------------------------------


# MCU name
MCU = atmega32


# Processor frequency.
#     This will define a symbol, F_CPU, in all source code files equal to the 
#     processor frequency. You can then use this symbol in your source code to 
#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
#     automatically to create a 32-bit value in your source code.
#     Typical values are:
#         F_CPU =  1000000
#         F_CPU =  1843200
#         F_CPU =  2000000
#         F_CPU =  3686400
#         F_CPU =  4000000
#         F_CPU =  7372800
#         F_CPU =  8000000
#         F_CPU = 11059200
#         F_CPU = 14745600
F_CPU = 16000000
#         F_CPU = 18432000
#         F_CPU = 20000000
#         F_CPU = 8000000


# Output format. (can be srec, ihex, binary)
FORMAT = binary


# Target file name (without extension).
TARGET = main

.....

Autor: funkker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich erwarte eine Datei mit der Endung "bin" bei dieser Einstellung.
Es ist eine hex-datei vorhanden mit der Endung ".hex".

Autor: eklige Tunke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Öhm, häng mal alles an (als Dateianhang), das wichtigste fehlt imho. 
Wenn das, was fehlt, nur halbwegs so aussieht, wie bei mir, bekommst du 
nie ein *.bin sondern immer ein hex und elf und dann noch eep lss und 
sym. ;-)
Aber lass erst mal dein Makefile anschauen.

funkker schrieb:
> Ich erwarte eine Datei mit der Endung "bin" bei dieser Einstellung.
Du nimmst an , du solltest aber lieber mal das Makefile lesen 
(können). Das FORMAT ändert den Suffix höchstwahrscheinlich überhaupt 
man gar nicht!

Den Unterschied zwischen Formaten kenne ich aber nicht. (Hab im Makefile 
hier im AVR-GCC-Tutorial/Exkurs Makefiles und in meinem 
nachgeschaut, die müssten mehr oder weniger wie deines sein.)

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
funkker schrieb:
> Ich erwarte eine Datei mit der Endung "bin" bei dieser Einstellung.

Das schien mir auch so, deshalb hatte ich gefragt.  Es gibt aber keine 
Regel, die besagt, dass das so sein muss, und in der Tat haben die 
meisten Binaries andere Endungen oder gar keine.

> Es ist eine hex-datei vorhanden mit der Endung ".hex".

Das ist Dein Binary.  Es gibt auch eine Datei mit der Endung „.elf“, die 
enthält auch Dein Binary, nur in anderer Form.  Welches von beiden Du 
verwendest, hängt von dem Programm ab, das das Binary als Nächstes 
vorgeworfen bekommt.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
funkker schrieb:
> Es ist eine hex-datei vorhanden mit der Endung ".hex".

Und du bist dir ganz sicher, dass das eine Intel-Hex-Datei ist,
oder heißt sie nur so?

Nimm's als Bug in Mfile... sorry, ich bearbeite dafür gerade keine
Bugreports und plane auch kein neues Release. ;-)

Autor: funkker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe die Datei mal umgenannt nach ".bin" und mit dem Progger von Bascom 
geladen, weil der zwischen bin und hex unterscheidet beim laden. es ist 
eine bin-datei die "hex" heisst. Ausserdem ist die bin-hex wesentlich 
kleiner als das ihex-format.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.