Forum: Compiler & IDEs .ihx Datei in eine .hex Datei umwandeln


von Chris (Gast)


Lesenswert?

Hi Leute...

ich hätte da eine Frage an euch.
Die wäre, wie man aus einer .ihx Datei eine .hex Datei erzeugen kann um
diese dann diese dann an den MicroController zu schicken!

Gruß chris

von Rufus T. Firefly (Gast)


Lesenswert?

Kommandozeile:

  ren *.ihx *.hex


*.ihx ist bereits ein Hexformat.

von Jörg Wunsch (Gast)


Lesenswert?

mv foo.ihx foo.hex

oder

ren foo.ihx foo.hex

(je nach deiner Shell)

Oder was meintest du?

Ach nein, das erste brauchst du nicht, da den Systemen, die "mv" als
Kommando haben der Dateisuffix schnuppe ist, solange der Inhalt
stimmt. ;-)

von Chris (Gast)


Lesenswert?

kann man dies dann auch durch den MicroController jagen??

von Matthias (Gast)


Lesenswert?

Hi

beim SDCC liegt (oder lag?) ein Tool bei mit dem man wirklich .ihx in
.hex umwandeln konnte. Hieß IIRC packihx. Ziel des ganzen wars die
manchmal etwas komischen ihx-Dateien des SDCC (Zeilenlängen von 1 Byte
aber dann auch wieder viel zu lange Zeilen (>32 Nutzbyte),  z.T. etwas
unsortierte Adressen) in eine gleichmäßige hex-Datei zu verwandeln da
manche Programmiertools insbesondere mit den langen Zeilen (fgets()
läßt grüßen) nicht zurecht kamen.

Ob das heute aber noch nötig ist?

Matthias

von Chris (Gast)


Lesenswert?

Hi...

Ich glaube unter SDCC gibt es diesen Tool auf unserer Version nicht!
(Versuchen schadet ja nicht!)
Lautet der Befehl IIRC oder etwa anders. Beschreib mal bitte wie dieser
benutzt werden soll, da ich damit nicht wirklich zurecht komme!

Gruß Chris

von Chris (Gast)


Lesenswert?

Hi....

Kann mir jemand vielleicht ein Beispielprogramm schreiben, wie man ein
Port an einem MicroController anspricht! unter SDCC!!

von peter dannegger (Gast)


Lesenswert?

@Jörg,

"Ach nein, das erste brauchst du nicht, da den Systemen, die "mv"
als
Kommando haben der Dateisuffix schnuppe ist, solange der Inhalt
stimmt. ;-)"


Ich kenns eigentlich immer nur umgekehrt:

Der AVR-GCC akzeptiert nur Files, die foo.c heißen, ein foo.faa
verweigert er gnadenlos.

Der Keil C51 sucht bei der Eingabe "c51 foo" nach foo.c, aber bei
einer vollständigen Eingabe "c51 foo.faa" compiliert er klaglos
foo.faa.

Auch ein Programmer sucht bei "foo" nach foo.hex, frißt aber auch ein
foo.faa ohne zu murren.


Die einzige Ausnahme sind unter Windows ausführbare Progamme, die
müssen *.exe, *.com usw. heißen.


Peter

von peter dannegger (Gast)


Lesenswert?

@Chris,

wo ist das Problem:

#include<reg51.h>

P0 = 0x12;
if( P1 & 1<<7 )
  P2++;
P3 = ~(P0 & P2);


Peter

von Jörg Wunsch (Gast)


Lesenswert?

Nö, Peter, Windows besteht an so vielen Stellen auf bestimmten
Suffixen, dass es nicht mehr schön ist.  Bei SSL-Zertifikaten ändern
sich die Suffixe teilweise je nach Verwendungszweck...

Der GCC akzeptiert auch jeden beliebigen Suffix, allerdings
funktioniert dann die automatische Erkennung der Quellsprache nicht
mehr, sodass man mit -x language (also hier -x c) nachhelfen muss.
(Standardmäßig kann er C-, C++- und Assemblerdateien mit und ohne
Präprozessor anhand des Suffixes erkennen.)

Allerdings ist der C-Compiler unter Unixen wirklich so ziemlich das
einzige Gegenbeispiel für ein Programm, was nach Dateisuffix geht.  So
gut wie alles andere geht nach Dateiinhalt.  Dem avrdude kannst du
eine Binärdatei mit der Endung .hex aufdrängeln, und er wird kein
Problem haben damit (oder auch umgekehrt).

von Chris (Gast)


Lesenswert?

Welche inludedatei braucht man eigentlich um Ports bei SDCC ansprechen
zu können??


Gruß Chris

von Sepp (Gast)


Lesenswert?

Die zu Deinem Controller.

von AndreasH (Gast)


Lesenswert?

include Dateien z.B. so:
#include <at89s8252.h>

ihx nach hex so:
packihx can.ihx > can.hex

Grüße
andreas

von Chris (Gast)


Lesenswert?

hi...

danke für die Informationen, die du mir gegeben hat.
Sie haben mich sehr viel weiter gebracht.

Gruß Chris

von Alex (Gast)


Lesenswert?

was ist eine hex datei und wie kann man sie entpacken ?

von Werner (Gast)


Lesenswert?

mit µcunzip, must halt mal googlen

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.