Hmm, XSL Transformator höre ich ehrlich gesagt zum ersten Mal :)
Windows hat for. Damit habe ich jetzt nach reichlich trial & error ein
batch-Skript zusammengebastelt:
1 | @echo off
|
2 | setlocal enableextensions enabledelayedexpansion
|
3 | for /f "tokens=2-4* delims=<> usebackq" %%a in ("%~1") do (
|
4 | IF "%%a"=="avrdevice" IF "%%c"=="/avrdevice" set mcu=%%b )
|
5 | set avrdude_args=
|
6 | :loop
|
7 | shift
|
8 | if ""%1""=="""" goto after_loop
|
9 | set avrdude_args=%avrdude_args% %1
|
10 | goto loop
|
11 | :after_loop
|
12 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avrdude.exe" -p %mcu% %avrdude_args%
|
Das Skript erwartet als erstes Argument den Dateinamen der Projektdatei
und reicht alle weiteren Parameter direkt an avrdude weiter.
Funktioniert wunderbar, allerdings findet keinerlei Fehlerbehandlung
statt (da verlasse ich mich der Einfachheit halber darauf, dass avrdude
seine Parameter prüft).
Im Studio habe ich jetzt folgende Argumente für das externe Tool:
Flash schreiben:
1 | "$(ProjectDir)$(ProjectFileName)" -v -c usbtiny -U flash:w:"$(TargetPath)":e
|
EEPROM schreiben:
1 | "$(ProjectDir)$(ProjectFileName)" -v -c usbtiny -U eeprom:w:"$(TargetDir)$(TargetName).eep":i
|
Vielleicht hilft's ja dem einen oder anderen.
Wenn ich allerdings überlege, wie viel Zeit ich jetzt damit verbracht
habe, muss ich noch ne ganze Menge Controller flashen, bevor sich der
(zeitliche) Aufwand rentiert hat :P