Forum: Mikrocontroller und Digitale Elektronik Starthilfe STK500 und AVR Studio


von Björn C. (nanit)


Lesenswert?

Hallo zusammen,
ich bekomme mein neues Spielzeug nicht überredet. Das STK500 wird nicht 
im AVR Studio (4.19) erkannt bzw. lässt sich nicht verbinden. COM1 und 2 
sind real am PC (Win XP SP2) vorhanden und die richtigen 
Anschlussnummern eingestellt. Beide COMs des PC wurden mit verschiedenen 
Kabeln getestet. Meine Standardeinstellung ist 9600,8,N,1 wobei das 
sicher egal ist und vom AVR Studio überschrieben wird (oder?). Uber die 
SuFu hier habe ich das mit dem manuellen FW Update als mögliche Abhilfe 
bei Störungen gefunden und gemacht. Das lief auch fehlerfrei incl. 
verifying durch. Es kann also damit wohl nicht mehr am COM oder Kabel 
liegen, richtig?

Der auf Sockel 3000D3 steckende Controller mit dem Beispielprogramm geht 
(LEDs toggeln). Die Status LED benimmt sich fast so wie laut SuFu 
normal. Also nacheinander rot-orange-grün. Aber: grün geht nach ca. 0,3 
Sekunden moch einmal kurz aus (auch so etwa 300 ms) und leuchtet dann 
dauerhaft. Ist das so richtig so oder ist das so etwas wie ein 
Fehlercode? Die grüne LED über dem VTARGET jumper und natürlich die rote 
POWER LED leuchten auch.

Was kann ich tun?
VG und Besten Dank für eure Hilfe
Björn

von Georg G. (df2au)


Lesenswert?

Findet AVR-Studio den STK500 bei "Auto" Suchen?
Wenn nein, hast du vermutlich ein Hardware Problem, Stecker, Kabel, 
Spannungsversorgung.

von Björn C. (nanit)


Lesenswert?

Nö, nichts bei klick auf COM1 oder 2 noch auf auto. Meinst Du mit 
"Spannungsversorgung" eine der Spannungen intern auf der Platine fehlt? 
Extern sind 12V, stabilisiert dran.

Kann man Stecker, Kabel, COM-Port usw. eigentlich ausschließen da 
FW-Update darüber funktioniert?
Björn

von Georg G. (df2au)


Lesenswert?

Björn C. schrieb:
> Kann man Stecker, Kabel, COM-Port usw. eigentlich ausschließen da
> FW-Update darüber funktioniert?

Es hat funktioniert. Ob es das immer noch tut, weiß man nicht.

Wenn die Status LED grün ist, sollte die Kiste laufen.

Mit einem RS232 Tester oder einem Scope kannst du dir die RxD und TxD am 
Stecker ansehen. Der PC weckt das Board beim Connect, das antwortet 
dann.

von Björn C. (nanit)


Lesenswert?

Hallo Georg, nein Tools>AVRProg>stk500.ebn funktioniert wiederholbar 
immer wieder. Das Tool "AVRProg" erkennt das STK500 als solches, aber 
eben nur wenn der PROGRAM Taster vorher beim Powerup gedrückt gehalten 
wird um das STK in den Updatemodus zu bringen (Status LED ist dann aus) 
Ohne drücken der PROGRAM Taste kommt eine Fehlermeldung von AVRProg:
---------------------------
AvrProg
---------------------------
No supported board found!
AVRprog version 1.40
---------------------------
OK
---------------------------
Wird das Kabel bei "AVR Prog" denn etwa anders genutzt als bei einem 
normalen connect??

von Georg G. (df2au)


Lesenswert?

Ich verstehe immer weniger :-(

"connect", dann STK500, auto und gut ist.

Kann es sein, dass dein Firmware Update schief gelaufen ist? Ansonsten 
bin ich ratlos.

von Björn C. (nanit)


Lesenswert?

Hallo Georg, danke für deine Geduld mit mir. Ich werde mich also 
bemühen, mich klarer auszudrücken. ;)

Wenn ich das Symbol "Con" im AVR Studio klicke kommt das Fenster "Select 
AVR Programmer" Dort wähle ich STK500 als Plattform. Bei Port stelle ich 
"Auto", "COM1" oder "COM2" ein. Bei Klick auf "Connect" verschwindet das 
Fenster "Select AVR Programmer" nach kurzer Bedenkzeit. Jedoch kommt es 
dann gleich wieder hoch, mit "Connect failed - Select AVR Programmer" 
als Fenstertitel.

Das Firmwareupdate ist bestimmt nicht schiefgegangen, es lässt sich 
sogar beliebig oft wiederholen und die Firmware lässt sich auch wieder 
auslesen. Das funktioniert also mit dem Kabel und dem COM-Port. Daher 
nehme ich am, dass ich bei PC, Kabel und Schnittstelle nicht weiter nach 
dem Fehler suchen brauche.

Oder wird die serielle Schnittstelle beim normalen "Connect" etwa doch 
anders benutzt als beim Firmwareupdate über das im AVR Studio eingebaute 
tool "AVR Prog"? Wenn das so wäre müsste ich ja evtl. doch mal die 
Hardware checken (Kabel, SUB-D-Buchsen, Pegelwandler MAX202 usw.)

Hoffentlich habe ich mein Problem und meine Frage nun verständlich rüber 
gebracht für die STK500-Hardware-kenner und hoffe auf Hilfe. Ich will 
endlich mal loslegen jetzt :D
VG Björn

von Georg G. (df2au)


Lesenswert?

Björn C. schrieb:
> Daher
> nehme ich am, dass ich bei PC, Kabel und Schnittstelle nicht weiter nach
> dem Fehler suchen brauche.

Sehe ich auch so. Ansonsten, wie gesagt, ratlos. Müsste man messen, ob 
Signale beim Connect Versuch kommen bzw wo sie versickern.

von Björn C. (nanit)


Lesenswert?

Was ich jetzt mal gemacht habe ist, Signale am MAX202 messen. Beim 
Connectversuch kommt eine Impulsfolge an Pin 13 an und geht bei Pin 12 
raus (RxDA) Eine Antwort des STK auf Pin 12 und 14 (TxDA) gibts darauf 
nicht.

von Georg G. (df2au)


Lesenswert?

Björn C. schrieb:
> Eine Antwort des STK auf Pin 12 und 14 (TxDA) gibts darauf
> nicht.

Damit kann man das Kabel ausschließen. Entweder spricht der PC eine 
Fremdsprache, die der STK nicht versteht, oder die Firmware des STK ist 
nicht in Ordnung. Letzteres erscheint mir wahrscheinlicher. Nun braucht 
man einen weiteren - bekannt funktionierenden - STK, um weiter zu 
testen. Wenn du verrätst, wo du wohnst, findet sich vielleicht jemand in 
deiner Nähe.

von Björn C. (nanit)


Lesenswert?

Ich zitiere mich mal aus dem Eingangspost:

Björn C. schrieb:
> Meine Standardeinstellung ist 9600,8,N,1 wobei das
> sicher egal ist und vom AVR Studio überschrieben wird (oder?).

Was ist damit? Da ich im keinen Hinweis auf das Protokoll gefunden habe 
nehme ich an, dass AVR Studio die richtige Einstellung selbst macht.
Im connect dialog gibt es das Feld Baudrate, ist aber ausgegraut auf 
115200, vermutlich der Wert, den sich AVR Studio selbst einstellt.

Wenn man mit Logik nicht weiterkommt probiert man halt auch schon mal 
unlogisch rum.

Also:
Mit XON/XOFF habe ich auch probiert. Baudrate 115200 habe ich probiert. 
(im Windows Gerätemanager)

Hardware handshaking habe ich ausgeschlossen, weil es nicht beschaltet 
ist.

Ich habe die Firmware nochmals ausgelesen um mir dabei den Datenfluss 
auf der Schnittstelle nochmal mit dem Oszi anzusehen - wie vermutet ist 
dort alles normal.

von Georg G. (df2au)


Lesenswert?

Björn C. schrieb:
> AVR Studio überschrieben

So ist es. Das Ding stellt sich die Sellerieschnitte selbst passend ein 
und meckert, falls das nicht funktioniert.

von Björn C. (nanit)


Lesenswert?

also weiter mit der Firmwaregeschichte:
In der Hilfe steht das so und so habe ich das auch gemacht:

1.Power off the STK500

2.Push the 'PROGRAM' button while powering up the STK500

3.Start AVR Studio and make sure there is a serial connection between 
the PC and the STK500 DSUB9 marked 'RS232 CTRL'

4.Start the program 'Avr Prog' located in the AVR Studio 'Tools' menu

5.Locate the firmware upgrade hex-file 'stk500.ebn' by pushing the 
'Browse'-button in the 'Avr Prog Hex File'-window. The path for the 
'stk500.ebn' for a normal AVR Studio installation is "C:\Program 
Files\Atmel\AVR Tools\STK500".

6.Push the 'Program'-button in the 'Avr Prog Flash'-window. A progress 
bar will now appear while showing additional information messages. Wait 
until the verify operation is finished.

7.Close the 'Avr Prog' program

8.Power off and on the STK500 PCB. The STK500 is now ready to be used 
with the new firmware.


Aufgefallen ist mir folgendes:
1. Die mit dem AVRStudio mitgelieferte Datei "STK500.ebn" ist 7,98 KB 
(8.177 Bytes) groß, also nicht ganz 8K. CRC16 of file: EF01

2. Dass auch EEPROM mit irgendwas beschrieben werden muss, davon steht 
da nix in der Hilfe, scheint egal zu sein. (oder?)

3. Das was ich mit AVProg auslese (read flash) ist aber ein 22,5 KB 
(23.070 Bytes) großes hex file. CRC16 of file: 1868

Wie groß sollte das hexfile denn nun sein? Sollte beim AT90S8535 nicht 
ein genau 8k Flash ausgelesen werden?

von Georg G. (df2au)


Lesenswert?

Björn C. schrieb:
> Die mit dem AVRStudio mitgelieferte Datei "STK500.ebn" ist 7,98 KB
> (8.177 Bytes) groß, also nicht ganz 8K. CRC16 of file: EF01

Ist sie bei mir auch.

>Das was ich mit AVProg auslese (read flash) ist aber ein 22,5 KB
>(23.070 Bytes) großes hex file. CRC16 of file: 1868

das ebn-File ist ein Binär File. Ein HEX File ist ASCII. Schau es dir 
mit dem Editor an. Du siehst links in den Zeilen die Ladeadressen. Die 
werden auch nur bis 1fff gehen.

: Bearbeitet durch User
von Björn C. (nanit)


Lesenswert?

Den Aufbau von .hex habe ich mir mal angesehen und mit meinem 
ausgelesenen hexfile verglichen. Und ja, Adressen gehen da bis 8k 
(1fff). So sieht der Anfang von meinem ausgelesenen Zeug im Texteditor 
aus (Leerzeichen eingefügt wg. Übersichtlichkeit, wo Daten und Adressen 
sind). Das sieht für mich aber nach ziemlichen Schnee aus:

:02 0000 02 0000 FC
:10 0000 00 00000101020203030404050506060707B8
:10 0010 00 080809090A0A0B0B0C0C0D0D0E0E0F0F28
:10 0020 00 1010111112121313141415151616171798
:10 0030 00 181819191A1A1B1B1C1C1D1D1E1E1F1F08

Die ersten Bytes vom STK500.ebn sehen in einem hex-editor nämlich so 
aus:

19 F5 0C 6D 91 7C 7E 59 2F 39 42 1A 98 21 83 2A

Sollte man das nicht irgendwie im ausgelesenen .HEX fiele bei den Daten 
wiederfinden?

von spess53 (Gast)


Lesenswert?

Hi

>Sollte man das nicht irgendwie im ausgelesenen .HEX fiele bei den Daten
>wiederfinden?

Ja, aber nur wenn mann einen AVR ausliest, bei den keine Security-Bits 
gesetzt. Wenn die gesetzt sind sieht es so aus wie bei dir.

MfG Spess

von Björn C. (nanit)


Lesenswert?

Hallo Spess, danke für deinen Hinweis. Was heisst das nun? Ist die 
Firmware absichtlich gegen auslesen gesichert? Das ergibt doch keinen 
Sinn, da es die doch im AVR Studio enthalten zum download gibt.
Kann ich die Firmware denn irgendwie anders überprüfen? Warum 
funktioniert denn eigentlich beim FW upgrade das verify wenn dabei so 
ein ungültiger Schnee gelesen wird?
VG Björn

von spess53 (Gast)


Lesenswert?

Hi

>Ist die
>Firmware absichtlich gegen auslesen gesichert? Das ergibt doch keinen
>Sinn, da es die doch im AVR Studio enthalten zum download gibt.

Das ebn-File ist eben nicht die Firmware in Reinform. Wenn du das 
disassemblierst bekommst du nur Müll. Seit einiger Zeit gibt es 
allerdings ein Programm (ebntohex.exe) mit dem das ebn-File in ein 
disassemblierbares Hex-File umgewandelt werden kann.

>also weiter mit der Firmwaregeschichte:
>In der Hilfe steht das so und so habe ich das auch gemacht:

Ich noch nie. Im Ordner STK500 gibt es das Programm 'upgrade.exe'. 
Einfach das STK500 mit gedrücktem PROGRAM-Taster einschalten und das 
Programm starten.

MfG Spess

von Björn C. (nanit)


Lesenswert?

Moin,

@Spess: upgrade.exe statt AVRProg habe ich gestern auch schon versucht, 
mit dem gleichen negativen Ergebnis.

Aber heute ich hab das gemacht: Über die neueste Version von Studio 4 
habe ich die Version 4.09 von der CD drübergebügelt. Nu geht der Kram! 
Meckert zwar rum wegen Downgrade der Firmware, aber immerhin klappt die 
Verbindung nun.

---------------------------
STK500/AVRISP
---------------------------
An STK500 with firmware version 2.0A has been detected. The firmware 
version corresponding

to this installation of AVR Studio is 1.0F. Press OK to launch the 
upgrade program to

perform a downgrade, or Cancel to continue without downgrading. NOTE! 
Correct operation is not

guaranteed if a downgrade is not performed.  AVR Studio will close down.
---------------------------
OK   Abbrechen
---------------------------

Bisher habe ich mir das downgrade verkniffen, auf die Garantie, dass 
dann alles korrekt funzt verzichte ich dann also erst mal. :D
Ich probiere es einfach aus. Oder gibt es bekannte Probleme bei 
Versionsunterschieden in der Firmware? Eher will ich dann versuchen doch 
noch eine neuere Version von Studio 4 zum Laufen zu bekommen.

Entweder ist die latest AVRStudio 4.19 von der Atmel-Webseite bugy oder 
unverträglich mit meiner Hard- oder Softwareumgebung oder meine install 
war einfach schrottig. Ich bin jedenfalls froh, dass das STK nicht 
hinüber ist. Nun werde ich mich erst mal etwas vertraut machen mit der 
Materie.
Danke nochmal für die Hilfe hier. Und ganz nebenbei habe ich ja schon 
was dazugelernt, etwa wie .ebn = encrypted binary?? (spekulativ...)
VG Björn

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.