Forum: PC-Programmierung µC per Batch programmieren


von feed (Gast)


Lesenswert?

Hi,

Ich programmiere derzeit einen ATMega 168 mit Atmel Studio 7.
Es ist jedoch ziemlich nervig dauernd das Programm zu starten den 
Controller auszuwählen Datei suchen und dann zu programmieren. Habe mich 
etwas schlau gemacht und bin auf "Batch" gestoßen womit es wohl gehen 
soll, dass ich alle Parameter eingebe und nur noch den Controller 
anschließen muss und die Batchfile starten. Ich habe etwas herumgespielt 
und bis jetzt ein Backup Programm womit ich dateien aus einem Ordner in 
einen Anderen Kopiere.
Speziell für meinen Fall finde ich nichts. Kennt sich jemand damit aus 
der mir helfen würde ? Danke schonmal

Gruß

von Sebastian R. (sebastian_r569)


Lesenswert?

Über Batch kannst du entsprechende Kommandozeilenprogramme mit den 
entsprechenden Parametern starten.

Atmel Studio selber kommt mit dem hauseigenen atprogram.exe, welches aus 
einer Batch heraus verwendet werden kann. Ansonsten als offene Variante 
gibt es avrdude, das z.B. auch mit dem Arduino Bootloader umgehen kann.

von feed (Gast)


Lesenswert?

Sebastian R. schrieb:
> Über Batch kannst du entsprechende Kommandozeilenprogramme mit den
> entsprechenden Parametern starten.

genau das meinte ich. Nur weiß ich nicht wie.

> Atmel Studio selber kommt mit dem hauseigenen atprogram.exe, welches aus
> einer Batch heraus verwendet werden kann.

Bei Device Programming gibt es die Funktion Save to ELF produktion file
dort findet er jedoch meine ELF Datei nicht. Wenn du das meinst

Gruß

von Sebastian R. (sebastian_r569)


Lesenswert?

feed schrieb:
> genau das meinte ich. Nur weiß ich nicht wie.

Google: "Batch Programm ausführen"

feed schrieb:
> Wenn du das meinst

Nein. Atmel hat ein eigenes Kommandozeilenprogramm zum Flashen, das du 
in deiner Batch verwenden kannst. Da würde sich die ELF anbieten, 
ansonsten gehen aber auch normal die hex und die eep.

von feed (Gast)


Lesenswert?

Sebastian R. schrieb:

> Google: "Batch Programm ausführen"

Bisschen Rumgespiet hab ich schon. Atmel Starten über das Batch programm 
kann ich auch schon. Aber ich muss ja meine Parameter für dieses 
Programm in die Datei schreiben. Da Scheitert es gerade.

Gruß

von feed (Gast)


Lesenswert?

1
ECHO Test
2
@echo off
3
cd "C:\Program Files\Atmel\Studio\7.0\AtmelStudio.0atbackend" c: atprogram -t atmelice -i pdi -d ATmega168 program -c -fl -fs --verify -f "C:\Users\Palle\Documents\Atmel Studio\Test.elf" 
4
pause

Das habe ich gefunden und mal probiert einzusetzen. Hat nicht 
funktioniert er sagt mir
"Die Syntax für den Dateinamen, Verzeichnisnamen oder die 
Datenträgerbezeichnung ist falsch."

von Peter D. (peda)


Lesenswert?

Befehle stehen immer am Zeilenanfang:
1
ECHO Test
2
@echo off
3
cd "C:\Program Files\Atmel\Studio\7.0\AtmelStudio.0atbackend"
4
c:
5
atprogram -t atmelice -i pdi -d ATmega168 program -c -fl -fs --verify -f "C:\Users\Palle\Documents\Atmel Studio\Test.elf" 
6
pause

von feed (Gast)


Lesenswert?

Peter D. schrieb:
> Befehle stehen immer am Zeilenanfang

Ah Danke aber ist der Code denn so richtig denn er sagt mir:
1
Das System kann den angegebenen Pfad nicht finden.
2
Der Befehl "atprogram" ist entweder falsch geschrieben oder
3
konnte nicht gefunden werden.
4
Das System kann den angegebenen Pfad nicht finden.

von Bimbo. (Gast)


Lesenswert?

feed schrieb:
> Das System kann den angegebenen Pfad nicht finden.

Junge, schaue doch einfach ob es bei dir diesen Pfad gibt. Und?

von Naja (Gast)


Lesenswert?

> cd "C:\Program Files\Atmel\Studio\7.0\AtmelStudio.0atbackend" c: atprogram -t 
atmelice -i pdi -d


Ein moeglicher Fehler : "cd" hat meines Wissens nur einen parameter, was 
hintendran kommt wird ignoriert, oder gibt einen Fehler

von Naja (Gast)


Lesenswert?

Ich denke es sollte heissen :

cd "C:\Program Files\Atmel\Studio\7.0\AtmelStudio.0atbackend"

atprogram -t atmelice -i pdi -d ATmega168 program -c -fl -fs --verify -f 
"C:\Users\Palle\Documents\Atmel Studio\Test.elf"

Falls nicht.. wo ist das atprogram ?

von feed (Gast)


Lesenswert?

Naja schrieb:
> Ich denke es sollte heissen :

okay so hab ich es gemacht (Leerzeichen bei dem Pfad vergessen)
nächster Fehler:
1
[ERROR] Missing argument for option

von Peter D. (peda)


Lesenswert?

feed schrieb:
> [ERROR] Missing argument for option

Häng mal die Batch als Anhang ran, sonst rätseln wir noch bis zum 
Sankt-Nimmer­leins-Tag rum.

von feed (Gast)


Angehängte Dateien:

Lesenswert?

Peter D. schrieb:
> Häng mal die Batch als Anhang ran

Klar.
Der ERROR kam weil der Pfad mit der Datei muss direkt nach dem Bfehl 
davor kommen also keine neue Zeile.
weil es sonst zu schön wäre steht da jetzt "[ERROR] Could not find 
tool."
zu Fuß über Atmel Studio klappt.

Gruß

von feed (Gast)


Lesenswert?

den programmieradapter hat er aber weil die programmierled Blinkt wenn 
ich das programm ausführe

von Hugo H. (hugohurtig1)


Lesenswert?

Leerzeichen in Pfad- u/o Dateinamen sind manchmal hinderlich ...

von Bernd K. (prof7bit)


Lesenswert?

Hugo H. schrieb:
> Leerzeichen in Pfad- u/o Dateinamen sind manchmal hinderlich ...

In dem Fall glaub ich eher weniger denn er hat sie sauber mit 
Quote-Zeichen umgeben, also bleibt alles an einem Stück, das 
funktioniert auch unter Windows. Meist gibt das nur Probleme wenn 
Scripte irgendwelche Pfade an andere Scripte übergeben und diese 
wiederum an andere und irgendetwas zwischendurch mal die Quotes entfernt 
und dann vergisst sie wieder hinzuzufügen.

--

Der Threaderöffner könnte auch mal versuchen diese Übung statt mit 
atprogram  mit avrdude zu exerzieren, letzteres ist womöglich besser 
dokumentiert und bei mehr Leuten in Verwendung. Es würde ihn auch auf 
die Zeit nach Windows vorbereiten, die da kommen wird.

von TFM Lesa (Gast)


Lesenswert?

feed schrieb:
> Naja schrieb:
>> Ich denke es sollte heissen :
>
> okay so hab ich es gemacht (Leerzeichen bei dem Pfad vergessen)
> nächster Fehler:
> [ERROR] Missing argument for option


ähm... warum schlaegst Du sowas nicht in der Doku der von Dir 
ausgesuchten Programme nach?

Ich meine: Du hast doch Doku zu deineN SoftwareN, ja?


Das Vorgehensprinzip zu "Batch" hast Du nun ja aus dem Forum 
mitbekommen...

von Veit D. (devil-elec)


Lesenswert?

Hallo,

eine gängige Alternative wäre avrdude.
https://www.cs.ou.edu/~fagg/classes/general/atmel/avrdude.pdf

Tipp. Trage den Pfad zum Tool in die Systemumgebungsvariablen ein. Dann 
musste den nicht immer komplett angeben.

von fop (Gast)


Lesenswert?

Kram doch mal auf Deiner Festplatte. Bei mir lautet der Pfad von 
atprogram
1
cd "C:\Program Files (x86)\Atmel\Studio\7.0\atbackend"

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.