Forum: Mikrocontroller und Digitale Elektronik Assembler und Programmer in einer BATCH-Datei


von Philipp Buchmann (Gast)


Lesenswert?

Hallo,

ich würde gerne meinen AVRA-Assembler und AVRDUDE verwenden um die 
HEX-File aus der .asm-Datei zu erzeugen und dann diese per Nachfrage in 
einen Mikrocontroller zu brennen.

Wenn ich eine BATCH-Datei öffne, soll folgendes erscheinen:

1.: Den Pfad zu der .asm-Datei.
2.: Die .asm-Datei wird jetzt zu einer .hex-File assembliert.
3.: Es soll gefragt werden, ob die .hex-Datei (wenn keine Fehler 
entstanden sind) auf den µC gebrannt werden soll.

Fertig!

Wie soll dann die BATCH-Datei aussehen, die ich dann in Notepad++ 
ausführen kann?

Danke im Voraus!

von holger (Gast)


Lesenswert?

Nur ein paar kleine Tips:

del zum löschen der alten Hex Datei
if exists zum nachsehen ob neue HEX Datei da ist (keine Fehler!)
choice für eine Usereingabe

Den Rest darfst du dir selber zusammengoogeln.

von Reinhard Kern (Gast)


Lesenswert?

holger schrieb:
> Den Rest darfst du dir selber zusammengoogeln.

Da wird aber das Problem liegen - welcher Programmer lässt sich denn per 
Kommando bedienen? Ich habe inzwischen sicher 10 Programmer, aber alle 
mit IDE, selbst der ganz alte unter DOS.

Gruss Reinhard

von Philipp Buchmann (Gast)


Lesenswert?

> Da wird aber das Problem liegen - welcher Programmer lässt sich denn per
> Kommando bedienen?

Wieso Problem? AVRDUDE wird doch per Kommando bedienen.

MfG

von Tux (Gast)


Lesenswert?

Reinhard Kern schrieb:
> Da wird aber das Problem liegen - welcher Programmer lässt sich denn per
> Kommando bedienen?

Philipp Buchmann schrieb:
> ich würde gerne meinen AVRA-Assembler und AVRDUDE verwenden

Du hast dir die Antwort doch schon im Ausgangspost gegeben: avrdude

von Günter Lenz (Gast)


Lesenswert?

Du probierst die Befehle und Anweisungen erst mal einzeln im
Befehlsfenster aus, und  wenn die Befehle das machen was du
dir vorstellst, dann schreibst du sie mit einem Texteditor
in eine Datei, und speicherst es dann zum Beispiel in Machdas.BAT
ab. Wenn du nun diese Datei aufrufst oder einen Doppelklik drauf machst,
werden die Befehle alle in einem Rutsch ausgeführt. Sie funktionieren
da genauso wie einzeln ausgeführt. Der Texteditor mit dem du dir die
*.BAT Datei schreibst muss reinen unformatierten Text erzeugen.

von holger (Gast)


Lesenswert?

>Da wird aber das Problem liegen - welcher Programmer lässt sich denn per
>Kommando bedienen? Ich habe inzwischen sicher 10 Programmer, aber alle
>mit IDE

Wenn man zum Beispiel AVRStudio installiert gibt es da eine stk500.exe.
Ein Kommandozeilen Tool. Für STM32 ARMs und den STlink v2 gibt es ein
Kommandozeilen Tool vom Hersteller. Die Liste lässt sich beliebig 
fortsetzen.

von Achim M. (minifloat)


Lesenswert?

Und warum darf's kein makefile sein?

von Günter Lenz (Gast)


Lesenswert?

Hier ist mal ein Beispiel:
Ich habe das unter A.BAT abgespeichert.



ECHO OFF
EDIT TEST.ASM
MASM /T/L TEST.ASM
IF ERRORLEVEL 1 GOTO ASM_ERROR
LINK TEST.OBJ
IF ERRORLEVEL 1 GOTO LINK_ERROR
ECHO *** Assemblierung fehlerfrei - EXE-Datei erstellt! ***
IF EXIST %1.OBJ DEL %1.OBJ
GOTO EXIT

:ASM_ERROR
ECHO * FEHLER BEI DER ASSEMBLIERUNG ! *
GOTO EXIT
:LINK_ERROR
ECHO * FEHLER BEIM LINKEN ! *
:EXIT
ECHO ON

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.