Forum: Mikrocontroller und Digitale Elektronik STK500 Firmware neu - Problem


von Martin B. (methusalem)


Lesenswert?

Nabend,

vorweg: Ich bin neu bei den µC. Hab mir daher ein STK500 gekauft, um
wenigstens funktionierende Hardware zu haben.

Nun hab ich das Board angeschlossen und auf meinem Rechner AVR Studio
4.12 installiert. Das Studio hat beim connecten zum Board immer darauf
hingewiesen, das es eine aktuellere Firmware für das Board hat und
gefragt, ob ich die installieren möchte. Die ersten Tage hab ichs
gelassen. Aber heute hab ichs dann doch gemacht. Und der Vorgang ist
scheinbar auch sauber durchgelaufen.

Wenn ich nun allerdings ein hex File auf den µC bringen möchte, klappt
das nicht mehr. Ich kann zwar zum Board connecten:

Detecting on 'Auto'...
STK500 with V2 firmware found on COM1:
Getting revisions.. HW: 0x02, SW Major: 0x02, SW Minor: 0x04 .. OK

Aber wenn ich das hex File auswähle und und auf Programm klicke, kommt
folgende Meldung:

Reading FLASH input file.. OK
Setting mode and device parameters.. OK!
Entering programming mode.. OK!
Erasing device.. OK!
Programming FLASH ..      FAILED!
Leaving programming mode.. OK!

Das hex File ist ein ausgelesenes hex File aus dem original Controller.
Und ich bilde mir ein, das ich das gestern schon mal übertragen habe.

Woran kann das liegen? Ist da was beim Firmwareupdate schiefgegangen?

--
Martin

von Werner L (Gast)


Lesenswert?

Hallo,
ich empfehle, mal die ISP-Clock für die Übertragung des file in den
Chip zu reduzieren. Die entsprechende Einstellung kann in dem
Popup-Window "SK500" vorgenommen werden, welches beim "connecten"
aufgeht. Der entsprechende Karteikartenreiter heißt "Board".

von TravelRec. (Gast)


Lesenswert?

An dem Board liegt´s nicht, dann würdest Du den Controller überhaupt
nicht ansprechen können. Werners Idee scheint plausibel. Hat Dein
Controller denn einen gültigen Takt (Software, Quarz oder intern)? Der
Contoller-Takt muß immer mindestens 4x so hoch sein, wie der
Programmiertakt.

von Martin B. (methusalem)


Lesenswert?

Hallo,

Danke für Eure Tips! Ich denke auch, das es nicht am Board liegt. Ich
habe mal den zweiten µC (Mega16) eingesetzt und dieses Programm
erstellt:

.include "m16def.inc"
.def Temp = R16
.org 0x0000

   rjmp RESET

RESET:
   ldi Temp, 0xFF
   out DDRB, Temp

LOOP:
   out PORTB, Temp
   dec Temp
   rjmp Loop

Wenn ich das im Studio simuliere, werden die Pins des Ports B
nacheinander "aktiviert". Wenn ich das Programm auf den µC bringe,
dann leuchten alle LEDs kontinuierlich durch. Hat das was mit der
Geschwindigkeit zu tun? Sehe ich nur nicht, wie die LEDs blinken?

Auf jeden Fall läßt sich dieses Programm problemlos übertragen. Hab ich
mir vielleicht den ersten µC zerschoßen, weil er im Board gesteckt hat,
während ich die Firmware des Boards aktualisiert habe? Ich hatte zwar
alle Kabel vom Board abgezogen aber den Controller drinn gelassen.

--
Martin

von Jordan (Gast)


Lesenswert?

Du hast keine Pause zwischen ein einzelnen
LEDs. Daher sieht es so aus als wenn immer alle an sind

von Rahul D. (rahul)


Lesenswert?

@Programm:
Da müsstest du wohl wirklich deine Augenfrequenz hochsetzen.
Du solltest eine Verzögerung reinbauen (z.B. zwei ineinander
verschachtelte Schleifen, oder über einen Timer...).

Da du ja das STK500 hast, könntest du mal mit der
HV-parallel-programming-Methode nachgucken, ob der wirklich defekt oder
einfach nur "verprogrammiert" (fuses, lockbits) ist.
Du solltest auch das JTAG-Interface des Controllers ausschalten (ist
beim Mega16 grundsätzlich eingeschaltet), das bringt noch ein paar
Portpins und weniger Verwirrung...

von Martin B. (methusalem)


Lesenswert?

Hallo Ihr lieben,

ich bin immer wieder begeistert wie hilfsbereit Ihr mit uns Greenhorns
umgeht. Das ist in anderen Foren nicht üblich! Erhaltet Euch das!

Zu Euren Hinweisen: Leider sitze ich tagsüber ein paar Stunden im Büro
und muss da in klassischem C++ programmieren ;-) Daher kann ich Euren
Hinweisen erst heute abend nachgehen. Ich werds aber versuchen.

--
Martin

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.