AVR Studio 5 Automatisch Compilieren und Sender

#2178798
Lesenswert?

Moin

Bin auf das Studio 5 umgestiegen und läuft auch alles ganz gut, aber ich 
finde keine Auto funktion wie im Studio 4.

Ziel ist es die Verbindung zum Controller immer zu erhalten und 
änderungen im Programm mit einem klick zu compilieren und zu übertragen.

Jetzt geht es soweit ich sehe nur mit 
"AVR-Programming->Apply->Memories->Program

Danke schonmal

Benjamin
Gast #2179205
Lesenswert?

Hallo Benjamin,
leider gibt es diese Funktion im AS5 nicht, über die Problematik wird 
seit dem erscheinen der Beta1 eifrig bei avr freaks diskutiert. Die 
einfachste Möglichkeit, die ich bisher gefunden habe, ist es "Available 
Tools" (View -> Available AVR Tools) einzublenden und dieses Fenster 
dauerhaft in seinem Arbeitsbereich zu positionieren. Dort siehst du dann 
einen AVR Simulator und deinen Programmer. Mit rechtsklick + AVR 
Programming kommst du dann in das selbe Menü und musst die Schritte 
trotzdem ausführen.

Grüße
Alex
#2183372
Lesenswert?

Es gibt ne Möglichkeit mit Hilfe externer Kommandozeilen-Tools.
Beitrag "AVR Studio 5 - uC Programmieren ("Write to Flash")"

Ich benutze das z.B. mit avrdude, dort werden mehr µC unterstützt als 
bei der STK500.exe

Funktioniert so auch über "External Tools", so hat man direkt dort nen 
Menüeintrag wo man darüber direkt flashen kann! Lässt sich dann auch in 
die Toolbar legen.
Gast #2187077
Lesenswert?

Benjamin S. schrieb:

> Danke, sieht aus wie das was ich suche, leider bekomme ich es für den
> AVRISPMK2 nicht zum laufen. Endet immer mit CODEFEHLER 123.

Verwendest Du avrdude? Ich meine mich zu erinnern, daß es da ein Problem 
gibt¹, wenn man avrdude einen Pfad zum .hex-File mit angibt. Versuch 
mal, vor dem Aufruf von avrdude in das Verzeichnis mit der .hex zu 
wechseln und dann avrdude von dort aus und ohne den kompletten Pfad zur 
.hex aufzurufen.

Bei mir sehen die Build Actions im Moment so aus:
1
cd $(OutputDirectory)
2

3
rem *** Programmierung mit avrdude und JTAGICE mkII
4
rem *** avrdude -e -c jtag2isp -p$(avrdevice) -P usb -U flash:w:$(Name).hex
5

6
rem *** Programmierung mit avrdude und AVRISP mkII
7
avrdude -e -c avrispmkII -p$(avrdevice) -P usb -U flash:w:$(Name).hex

Per cd wechselt er in das fragliche Verzeichnis, avrdude findet er auch 
ohne Angabe des absoluten Pfades, weil es sich bei mir im Suchpfad 
befindet.

Durch die Kommentare per 'rem' kann ich relativ leicht zwischen 
verschiedenen Programmiergeräten wechseln.

¹) Kann sein, daß ich das auch verwechsle. Ich habe in letzter Zeit 
verschiedene Kommandozeilen-Programmer ausprobiert :)
EDIT: Nein, eigentlich bin mir mir jetzt wieder ziemlich sicher, daß es 
avrdude war, welches das Problem hatte. Liegt meiner Meinung nach am 
Doppelpunkt nach dem Laufwerksbuchstaben, der es aus dem Tritt bringt.

Viel Erfolg,
42m
#2187115
Lesenswert?

Hallo,

ich hab bei mir den Pfad zum Hexfile mit angegeben bei avrdude. 
Funktioniert mit der aktuellen Version die bei WinAVR dabei ist 
problemlos. Natürlich sollten die Pfade in " stehen.

Leider lassen sich bei den Externen Tools nur der Pfad zum Projekt als 
Variable verwenden, somit müsste man sich für jeden µC nen extra "Tool" 
anlegen bzw. immer ändern. Aber auf jeden Fall schon mal besser wie 
immer übers Menü :)
#2187527
Lesenswert?

moin und Danke für die Antworten.

Leider klappts noch nicht so ganz.

Vorraussetzung bis jetzt waren AVRStudio5 und AVRISPMKII.

Habe jetzt AVRDude und WINAVR installiert und ins PATH Verzeichnis 
gelegt.

Mit folgenden Build Actions:

cd $C:\Users\bs\Documents\AVRStudio\AVRGCC2\AVRGCC2\Debug\
avrdude -e -c avrispmkII -p$m168 -P usb -U flash:w:$AVRGCC2.hex

kommt das heraus:

Error  1  The command "cd 
$C:\Users\bs\Documents\AVRStudio\AVRGCC2\AVRGCC2\Debug\
avrdude -e -c avrispmkII -p$m168 -P usb -U flash:w:$AVRGCC2.hex" exited 
with code 1.  C:\Program Files\Atmel\AVR Studio 
5.0\Vs\Avr.common.targets  27  5  AVRGCC2
#2187933
Lesenswert?

Wie gesagt, bei mir klappt es mit den folgenden Parametern problemlos:
1
Command: D:\WinAVR\bin\avrdude.exe
2
Arguments: -e -P usb -c avrispmkII -p ATmega88PA -e -U flash:w:"$(ProjectDir)Debug\xxx.hex":a

Wäre allerdings super, wenn dort bei externen Tools ebenfalls die 
gleichen Variablen möglich wären wie bei den BuildActions :(

Gruß
Sebastian
#2188919
Lesenswert?

Klasse, läuft !! Danke

Es fehlte noch der libusb Treiber

libusb-win32-devel-filter-1.2.4.0.exe

Endgültige Version bei mir:

cd C:\Users\bs\Documents\AVRStudio\AVRGCC2\AVRGCC2\Debug\
avrdude -e -P usb -c avrispmkII -p ATmega168 -e -U 
flash:w:"AVRGCC2.hex":a



@Knut  Es gab den Button "Auto" in der Toolbar und man kann die 
funktionen die ausgeführt werden sollen im Programmer Menü auswählen. 
man konnte auch das Programmer Menü geöffnet und verbunden halten 
während man Programmiert hat.
#2356563
Lesenswert?

Sebastian H. schrieb:
> Wie gesagt, bei mir klappt es mit den folgenden Parametern problemlos:
> Command: D:\WinAVR\bin\avrdude.exe
> Arguments: -e -P usb -c avrispmkII -p ATmega88PA -e
>            -U flash:w:"$(ProjectDir)Debug\xxx.hex":a

Um nicht jedes Mal den Namen der zu übertragenden .hex - Datei eintragen 
zu müssen, kann das Makro $(ItemFileName) genutzt werden:
1
... -U flash:w:"$(ProjectDir)Debug\$(ItemFileName).hex":a

Leider habe ich keine Möglichkeit gefunden, auch noch das 
'Debug'-Verzeichnis über Makros zu kodieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren