Forum: Mikrocontroller und Digitale Elektronik STK500 und Linux


von Ronny F. (ronny)


Lesenswert?

Hallo zusammen,

das STK500 bietet ja so nette Features wie einen eingebauten Oszillator 
und eine konfigurierbare Betriebsspannung für das Target. Leider scheint 
es nur mit dem AVR-Studio unter Windows möglich zu sein, diese Parameter 
des Boards zu ändern.

Kennt hier jemand vielleicht ein kleines Tool, welches Target-Spannung, 
Aref, Takt und so weiter auch unter Linux konfigurieren kann?

Für einen kleinen Tip wäre ich hier dankbar, da ich eigentlich nicht 
erst Windows installieren möchte, nur um die Targetspannung auf 3.3V 
herab zu setzen.

von spess53 (Gast)


Lesenswert?

Hi

Wenn du Programmieren kannst: In der AppNote AVR068 ist das 
Kommunikationsprotokoll vom STK500 beschrieben. Darunter auch, wie man 
die Boardparameter verstellt. Sollte nicht allzu schwer sein.

MfG Spess

von Christian U. (z0m3ie)


Lesenswert?

wenn mich nicht alles täuscht kann avrdude das auch

von Ronny F. (ronny)


Lesenswert?

Nachdem ich drauf und dran war mir nach der AppNote ein Tool zu 
schreiben, hat ein zweiter Blick in das AVRDUDE-Manual die Lösung 
gebracht:

Mit dem Parameter '-t' kann eine Konsole geöffnet werden, in welcher 
noch einige Programmer-Spezifische Befehle möglich sind.

Beispiel:

avrdude -p t12 -c stk500v2 -P /dev/ttyS1 -t

Nun kann mit dem Befehl "parms" die aktive Konfiguration des STK500 
angezeigt werden, "vtarg x.xx" setzt die VTarget-Spannung.

Hintergrund des ganzen war, dass ich bisher meine ATmegas mit 3.3V hab 
laufen lassen, um ohne Pegelwandler eine SD-Karte und den USB-Bus 
ansprechen zu können.

Die letzte Aufräum-Aktion hat dann einige verschollen geglaubte ATtiny12 
wieder ans Tageslicht gebracht, welche sich mit 3.3V nur sporadisch 
flashen liessen.

Naja, ich kann VTarget jetzt per AVRDUDE ändern, die Tinys müssen nun 
einige LED-Kerzen ansteuern und alles ist gut ;)

Vielen Dank für die Mühe.

Mfg,

Ronny

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Du musst nur hoellisch aufpassen, das STK stetzt diese Parameter beim 
Einschalten teilweise sporadisch auf z.B. 5V zurueck (ist mir schon 
passiert). Das wird Dir dann ein Zielsystem, das keine 5V verkraftet, 
zerstoeren. Also hier besser eine separate Spannungsquelle benutzen.

von Ronny F. (ronny)


Lesenswert?

@Michael:

Deshalb mess ich bei jeder Inbetriebnahme erstmal Vcc bevor ich die 
SD-Karte oder gar meinen teuren Rechner an das STK anschliess durch.

Hab schon gehört, dass das STK500 manchmal neue Settings "vergisst", ist 
mir aber bisher noch nicht passiert.

Trotzdem danke für den Tip.

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Angehängte Dateien:

Lesenswert?

@Ronny F.
Wie genau muss der Befehl oder besser die Option denn aussehen?

Ich nutze eclipse, das funktioniert bisher ganz gut. Aber wenn ich die 
Option, wie im Bild zusehen angebe, ändert sich an meinem STK500 nichts.

AVRdude übernimmt den Befehl zwar ohne zu meckern, aber die 
Spannungsversorgung ist die selbe.

Danke
Fabian

von citb (Gast)


Lesenswert?

es war die Rede davon, AVRDUDE im Terminalmode zu oeffnen, nicht die 
Zielspannung als Parameter zu uebergeben.

Das kommt davon, wenn alles nur zusammengeklickt wird und kein 
Verstaendnis fuer die Zusammenhaenge mehr da ist.

citb

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Ja, Entschuldigung oh Herr!

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

@Ronny F.

Vielen Dank für deinen Tipp.
Habe es jetzt hinbekommen.
1
$ avrdude -p m32 -c stk500v2 -P /dev/ttyS0 -t
2
3
avrdude: AVR device initialized and ready to accept instructions
4
5
Reading | ################################################## | 100% 0.01s
6
7
avrdude: Device signature = 0x1e9502
8
avrdude> parms
9
>>> parms 
10
Vtarget         : 5.1 V
11
SCK period      : 10.9 us
12
Varef           : 3.3 V
13
Oscillator      : 3.686 MHz
14
avrdude> vtarg 3.3
15
>>> vtarg 3.3 
16
avrdude> parms
17
>>> parms 
18
Vtarget         : 3.5 V
19
SCK period      : 10.9 us
20
Varef           : 3.3 V
21
Oscillator      : 3.686 MHz
22
avrdude> quit
23
>>> quit 
24
25
avrdude: safemode: Fuses OK
26
27
avrdude done.  Thank you.

Man sieht aber, dass der Oscillator auf 3,686MHz eingestellt ist. Das 
ist soweit kein Problem, nur, bei mir funktioniert es irgendwie nicht 
den externen, aufsteckbaren Oscillator auszuwählen.

Mir ist klar, dass man einfach „nur” den OSCSEL-Jumper umstecken muss. 
Aber eben das funktioniert nicht.

Ich suche jetzt, nach dem Kenntnisgewinn, den Fehler in den 
Einstellungen meines STK500.

Was könnte ich ausprobieren?

Danke
Fabian

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.