Forum: Mikrocontroller und Digitale Elektronik Aus IAR ein hex-File erzeugen und dann auf uC flashen


von Dennis (Gast)


Lesenswert?

Hallo Leute!

Ich hoffe, mir kann jemand hier helfen. Ich habe ein Programm in IAR 
geschrieben und würde dies nun gerne als ein File irgendwo ablegen und 
dieses dann auf den uC flashen. Momenatan muss ich halt IAR öffnen und 
dann über den normalen Weg die Sachen auf den Controller laden.

Daher die Frage: Gibt es die Möglichkeit irgendein hex-File zu erzeugen 
und das mit einem anderen Programm auf den uC zu laden? Ohne dass ich 
jedesmal den ganzen Quelltext vor mir habe?

Verwende einen MSP430F2418 über JTAG.

Wäre echt toll!


Gruß, Dennis

von Dennis (Gast)


Lesenswert?

OK, hab gerade den MSPFET gefunden - muss ich nurnoch ein hex-File 
erzeugen können.

von Achim M. (minifloat)


Lesenswert?

Hallo,
mit mspdebug http://mspdebug.sourceforge.net/
sollte das möglich sein, falls dein USB-JTAG-Adapter einer der 
unterstützten ist. Du brauchst dann noch libusb dazu. mspdebug ist ein 
Device-Server für den msp-gdb GNU Debugger.

Löschen geht so:
bash$> mspdebug olimex "erase"

Brennen geht so:
bash$> mspdebug olimex "prog main.hex"

"olimex" hab ich jetzt nur als Platzhalter für deinen USB-JTAG-Adapter 
benutzt. Für das Launchpad muss man z.B. "rf2500" nehmen.

mfg mf

von Dennis (Gast)


Lesenswert?

Ich habe hier nur einen selbstgebauten Parallelport-Programmer

von Dennis (Gast)


Lesenswert?

Angeblich wird der unterstützt, aber es funktioniert nicht - ich kann 
keine Verbindung aufbauen ;-(

von Achim M. (minifloat)


Lesenswert?

Dennis schrieb:
> den MSPFET gefunden

Ist der bei den "Bordmitteln" von CCS dabei? Ich fürchte, dass ein 
"freier" USB-JTAG-Adapter dann damit nicht funktioniert und nur Adapter 
von TI funzen.
Wenn du irgendwo einen dieser FTDI-Dinger rumliegen hast, könnte es 
damit gehen.

Dennis schrieb:
> Ich habe hier nur einen selbstgebauten Parallelport-Programmer

Oha, kein USB, Oldschool... aber immer noch das flexibelste :)
Ich hab da einen Thread auf edaboard gefunden: 
http://www.edaboard.com/thread243813.html Die haben ein Wiggler nach 
diesem Schaltplan benutzt: http://www.box.com/shared/oexh67nmvk Ob die 
damit Erfolg hatten, weiß ich nicht.

Das hier könnte auch noch interessant sein:
http://www.edaboard.com/thread97550.html

von Arne (Gast)


Lesenswert?

In der IAR EWARM kann man HEX File über:
Options->Output Converter
erzeugen.

von Achim M. (minifloat)


Lesenswert?


von Dennis (Gast)


Lesenswert?

Hallo und danke schonmal für die Antworten.

Ich benutze den Schaltplan nach Olimex: 
http://www.olimex.com/dev/images/msp430-jtag-d-sch.gif

Der funktioniert auch seit je her tadellos über IAR. Nur jetzt mit dem 
MSPFET bekomme ich garkeine Verbindung. Zu den Einstellungen ist auch 
nicht viel zu sagen, man kann den LPT auswählen (ist noch ein echter 
LPT-Port) und dann eine "custom address", wo momentan 49152 drin steht. 
Was das sein soll weiß ich nicht. Der LPT1 liegt E/A-mäßig ja eher bei 
888, aber das macht auch keinen Unterschied - es geht trotzdem nicht.

von Dennis (Gast)


Lesenswert?

Am Controller verwende ich nur die 4 JTAG-Signale, RST nicht, aber das 
war bis jetzt auch kein Problem.

Geht nur bei MSPFET nciht.

von Dennis (Gast)


Lesenswert?

Dennis schrieb:
> wo momentan 49152 drin steht

OK, ich sehe gerade, dass das zum LPTx gehört, also wenn keiner der 
normalen verwendet wird, ansosten wird für LPT1 0x378 verwendet - also 
alles OK (eigentlich).

von Achim M. (minifloat)


Lesenswert?

Dennis schrieb:
> Am Controller verwende ich nur die 4 JTAG-Signale, RST nicht, aber das
> war bis jetzt auch kein Problem.
>
> Geht nur bei MSPFET nciht.

Was machst du mit dem TST-Pin?

Dennis schrieb:
> und dann eine "custom address", wo momentan 49152 drin steht.

siehe:
Beitrag "Re: Probleme mit Olimex und MSPFET / Olimex-Soft"

mfg mf

von Dennis (Gast)


Lesenswert?

Mini Float schrieb:
> Was machst du mit dem TST-Pin?

Den gibt es nicht beim 2418

von Dennis (Gast)


Lesenswert?

Mini Float schrieb:
> siehe:
> Beitrag "Re: Probleme mit Olimex und MSPFET / Olimex-Soft"

Ja, den hatte ich auch schon gelesen...selbes Problem (fast)

von Achim M. (minifloat)


Lesenswert?

Dennis schrieb:
> selbes Problem (fast)

hast du auch mal mit den Adressen rumprobiert?
Manche LPT-Adapter gehen auch nur in einem anderen Druckerport-Modus. 
Davon abhängig natürlich auch die Adressen.

mfg mf

von Jörg S. (joerg-s)


Lesenswert?

Hast du ein Oszi? Dann solltest du dir mal die Signale ansehen.

von Dennis (Gast)


Lesenswert?

Jörg S. schrieb:
> Hast du ein Oszi? Dann solltest du dir mal die Signale ansehen.

Hab ich klar, aber ich kann ja nur gucken, ob was kommt, oder ob 
nicht...mehr ist ja auch nicht.

Mache ich gleich mal, Moment.

von Dennis (Gast)


Lesenswert?

Also es passiert auf jeden Fall was auf den JTAG-Leitungen - sieht so 
aus, als ob 2 mal versucht wird, was zu senden, danach kommt "Could not 
find device"

von Jörg S. (joerg-s)


Lesenswert?

Schon mal ein Anfang, jetzt weißt du das die LPT Adresse stimmt.

>Also es passiert auf jeden Fall was auf den JTAG-Leitungen
TDO ist tot?
RESET ist immer high?

von Dennis (Gast)


Lesenswert?

Jörg S. schrieb:
> TDO ist tot?

Auf allen vier Leitungen ist was los.

Jörg S. schrieb:
> RESET ist immer high?

Reset ist immer high, da ich den Pin garnicht mit auf den JTAG-Connector 
gelegt habe, da er für das Programmieren nicht nötig war. IAR kann nur 
mit TMS, TDI, TDO, TCK, GND und Vcc ohne Probleme auf den Controller 
zugreifen.

Kann natürlich sein, dass genau jetzt RST gebraucht wird...:-\

von Jörg S. (joerg-s)


Lesenswert?

>Kann natürlich sein, dass genau jetzt RST gebraucht wird...:-\
Einen Versuch wäre es wert.
Aber wenn über TDO schon Daten raus gehen, scheint der MSP ja schon im 
JTAG Modus zu sein...

von Georg X. (schorsch666)


Lesenswert?

Hallo Leute,

ich versuche auch gerade aus der IAR-Embeded-Workbench ein Hex-File für 
das AVR Studio zu erzeugen.
Ich habe in der IAR-Workbench einen Bootloader für den ATXMega64 
erstellt.
Jetzt möchte ich daraus ein Hex-File erzeugen damit ich dieses mit 
Fusebits aus dem AVR-Studio flashen kann.

Wenn ich die Optionen auf intel-extenden einstelle dann bekomme ich die 
Fehlermeldung vom Linker:

...\ATxmega32A4.a90 used vor multiple files

Kann mir jemand helfen? Gibt es ev. andere elegantere Möglichkeiten ein 
Hex-File zu generierenn?

Eine andere Frage zum AVRStudio 6. Wie kann ich eine Konfiguration o. 
Skript erstellen daß mich eine oder mehrere Hex-Dateien und Fusebits aus 
dem AVRStudio 6 auf den µC schreibt? So daß ich nicht jedes mal so viel 
rumklicken muß.

Danke und Gruß,
Georg.

von Georg X. (schorsch666)


Lesenswert?

Hallo,

keiner ne Idee?
Es müssen doch schon einige den Bootloader von Atmel im Einsatz haben.
Diese sind alle in IAR erstellt worden. Auch ich verwende diesen. Hab 
den nur etwas auf meine Bedürfnisse angepasst.

Jetzt hätte ich gerne ein HEX-File daß ich zusammen mit den Fusebits 
über das AVR-Studio flashen kann. Am besten in einem Rutsch.

Gruß,
Schorschi.

von Chris (Gast)


Lesenswert?

Im IAR wenn das Projekt geladen hast, kannst du im 
Menü->Projekt->Optionen
ein Output Converter auswählen. Dort gibst du Intel Extended an. 
Darunter kannst du noch den Namen angeben für deine Hex-File.

Ich hoffe ich konnte dir damit etwas weiterhelfen.

grüße
Chris

von Georg X. (schorsch666)


Lesenswert?

Hallo Leute,

jetzt hab ichs auch geschafft.
Bei mir lag es daran daß das eigentliche outputfile den gleichen Namen 
und Endung wie das Extra-Outputfile hatte. Hab die Endung in hex 
umbenannt und schon hats geklappt.

Danke für die Unterstützung.

Jetzt müßte ich nur wissen wie ich das Hex-File zusammen mit den 
Fusebits in einem Schwung in den Atmel bekomme (ATXMega64A3U).

Gruß,
Schorschi.

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.