mikrocontroller.net

Forum: PC-Programmierung µC per Batch programmieren


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von feed (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
ECHO Test
@echo off
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" 
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)


Bewertung
0 lesenswert
nicht lesenswert
Befehle stehen immer am Zeilenanfang:
ECHO Test
@echo off
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" 
pause

von feed (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Peter D. schrieb:
> Befehle stehen immer am Zeilenanfang

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

von Bimbo. (Gast)


Bewertung
1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
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

von Peter D. (peda)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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)


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

von Hugo H. (hugohurtig1)


Bewertung
1 lesenswert
nicht lesenswert
Leerzeichen in Pfad- u/o Dateinamen sind manchmal hinderlich ...

von Bernd K. (prof7bit)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.