Forum: Mikrocontroller und Digitale Elektronik wie kann ich eine bin. Datei mit IAR erstellen


von Peter (Gast)


Lesenswert?

Hallo,
ich hab da gerade ein Problem.
Und zwar habe ich ein Programm für mein AT91SAM7X-Board, welches ich mit
IAR erstellt habe.
Nun will ich dieses mit dem Flash-Loader(SAM-BA) über die
USB-Schnittsttelle reinladen.
Dazu möchte ich mein Prog. als ".bin" Datei im IAR-Programm speichern.
Leider funktioniert dieses nicht, da ich im Options-Menü -> Output
keine solche Funktion vorfinde die mir dies ermöglicht!
Hat da jemand eine Ahnung wie ich das hinkriege?

Kann man sein fertiges Programm irgendwie anders als ".bin"-File
speichern?

Ich bin für jede Hilfe sehr dankbar!

Gruß Peter

von 3357 (Gast)


Lesenswert?

Als Hex ?

von Peter (Gast)


Lesenswert?

Hi,
muss aber unbedingt eine bin sein, da Sam-Ba nur bin Files reinladen 
kann...

von Εrnst B. (ernst)


Lesenswert?

dann erzeug doch eine .hex und wandel die in .bin um...
Gnu-binutils (egal ob AVR oder ARM oder i386 Version) können das z.B.

> objcopy -I ihex -O binary test.hex test.bin
Fertig.
Gibt noch 2^X weitere Parameter zum einstellen, wenn du z.B. bestimmte 
Sections verschieben musst. Das ist aber eher interressant wenn das 
source-File ein ELF ist, und du daraus getrennte EEprom/Flash Files 
erstellen musst..

von Til (Gast)


Lesenswert?

Welche IAR Version benutzt du? Der IAR Linker kann das eigentlich, du 
musst dann unter Project Options | Linker | Format | Other "Raw Binary" 
auswählen.

von Peter (Gast)


Lesenswert?

Hi, das habe ich versucht, aber leider erzeugt mir IAR leider nie ein 
binary file.
Benutze sogar 2 Versionen.
einmal die 5.11 und die 4.XX und bei beiden geht es nicht!

Habe auch die Oprion Extra-Output --> Generate Extra-Output File 
versucht, aber auch da nix.
Wo ist der Fehler???

von Til Stork (Segger) (Gast)


Lesenswert?

Ich habs gerade nochmal versucht mit dem IAR ARM V442A und V511, geht 
bei beiden problemlos.

Was passiert denn wenn du linkst? Irgendwelche Fehlermeldungen oder ist 
das Bin File einfach nicht da? Schaust du auch in das richtige Output 
Verzeichnis?

Vielleicht ist an deinem Projekt was vermurkst? Lad dir einfach mal von 
www.segger.com ne Trialversion embOS/ARM runter und starte irgendeins 
von den Projekten, die mit dabei sind. Dann stell die Project settings 
um und lass dir das Bin File erzeugen, das muss gehen.

von Peter (Gast)


Lesenswert?

Hi, ja bei mir ist dann gar kein Bin file da.
Ich werd mal deinen Rat versuchen.

Danke schonmal

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Ist es eigentlich andersrum möglich mit IAR ein Bin-File zu importieren?

von Til Stork (Gast)


Lesenswert?

Bin File importieren?? Und dann?? Du kannst ja nicht wieder C Code draus 
machen. Sehe jetzt gerade nicht die Anwendungsmöglichkeit.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Und dann brennen.
Das ist ganz nützlich wenn man einen Programmer hat, der nur mit IAR 
funktioniert aber man IAR nicht zum übersetzen nutzen will.

von Sarah (Gast)


Lesenswert?

Hallo,
konnte das Problem gelöst werden? Stehe vor dem selbigen. Erhalte bei 
der Einstellung raw binary eine .a79 Datei, aber keine .bin
Gibt es schon eine Lösung?

Danke
Gruß Sarah

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Ich konnte das Problem nicht lösen. Ich verwende jetzt kein IAR mehr.

von gast (Gast)


Lesenswert?


von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Die a79-Datei ist eine Bin-Datei, wenn man Raw Binary wählt.

von Sarah (Gast)


Lesenswert?

Und wie mach ich daraus eine .bin, damit ich sie auch laden kann? Wollte 
das Sam-Prog mal probieren.

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Umbenennen? xxx.a79 -> xxx.bin

von Sarah (Gast)


Lesenswert?

Das geht so einfach? Okay. Ich probiere es aus. 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.