Hallo, habe folgendes Problem. Wenn ich mein STK500 anstecke leuchtet die RESET-Led kurz auf und die STATUS-Led leuchtet gar nicht (sollte normal von rot auf grün wechseln). Die Spannungen an der Buchse und am 5V Regler hab ich überprüft und es fließt auch kein hoher Strom (nur 100mA die STK500 auch im Normalbetrieb benötigt) -> es liegt auch kein Kurzschluss vor. Des weiteren habe ich probiert die Firmware aufs STK500 zu spielen. ./STK500/upgrade.exe. er erkennt zwar dass ein Programmer verbunden ist(Programmer connected at com1), aber ich bekomme nur eine Fehlermeldung (programming failed). Was könnte das Problem sein? mfg Simon
Klingt ja arg danach, als hättest du den ATmega8535 geplättet. Hast du mal nachgemessen, ob die internen 5 V auch da sind? Da sind zwei verschiedene Spannungsregler drauf für die Versorgung des Targets und für die Versorgung des STK500 selbst.
Spannung am 78m05 = 5V Spannung am lm317 links daneben = 10v Spannung direkt am AT90S8535 = 5V zwischen PIN 5 und 6. Wie kann man sich den 8535 zerstören. Hab eigentlich immer nur normal ISP programmiert. Hat sonst noch jemand eine idee? mfg simon
Also Simon nochmal langsam zum mitschreiben: Die Statusled leuchtet garnicht mehr, also auch nicht Orange, rot oder blinkend? Hast Du mal saemtliche Bauteile (also die Programmiersockel) freigeraeumt und auch sonst nichts weiter angeschlossen ausser die Spannung. Funktioniert es dann? Wenn nicht, hoert sich das nicht gut an...
Ja, wichtig ist natürlich, dass das ISP-Kabel abgezogen ist. Der gleiche Bus wird vom ATtiny2313 zum Firmwareupgrade des ATmega8535 benutzt.
ja ich habe außer der spannungsversorgung und dem seriellen kabel an rs232-ctrl nichts am stk500 angesteckt. die jumper sind auch standardmäßig eingesteckt. würde es sinn machen den at90s8535 zu tauschen und ist es möglich einen atmega8535 an diese stelle einzulöten (habe eine ältere version des stk500) bei den neuen sind jetzt atmega drin. mfg simon
was ich noch vergessen habe. ja die status led leuchtet gar nicht
Simon wrote: > würde es sinn machen den at90s8535 zu > tauschen und ist es möglich einen atmega8535 an diese stelle einzulöten > (habe eine ältere version des stk500) bei den neuen sind jetzt atmega > drin. Du musst dann aber den Bootloader im AT90S1200 anpassen, da der ATmega8535 anders programmiert wird. Wenn du den AT90S1200 gleich noch durch einen ATtiny2313 austauschst, könnte ich dir das Hexfile für einen passenden AVR910-kompatiblen Bootloader geben (selbst auf einem STK500 getestet).
ja wenn es keine andere möglichkeit gibt und ein tausch von den zwei chips wahrscheinlich was bringt, mach ich das. es wäre fein wenn du mir das hex-file schicken könntest. wie programmier ich die chips dann? gibts da eine anleitung? mfg simon
Zum Programmieren wirst Du einen funktionierenden Programmer benoetigen... und pass auf dass Du den selben Fehler nicht nocheinmal machst, les am besten mal das Handbuch ;)
Durch meinen Freundeskreis komme ich leicht zu einem anderen STK500 oder JTAG ICE mkii. Es ist also kein Problem, dass ich einen funktionierenden Programmer brauche. Es ist auch nicht so, dass ich das STK500 zum ersten mal in der Hand habe oder mit Elektronik gar nichts auf dem Hut habe. Ich kann mir auch nicht erklären wie es kaputt wurde. Ich habe es meiner Meinung nach ordnungsgemäß verwendet und das sowie ich es immer gemacht habe (und das schon häufig). mfg simon
Simon wrote: > Durch meinen Freundeskreis komme ich leicht zu einem anderen STK500 oder > JTAG ICE mkii. Es ist also kein Problem, dass ich einen funktionierenden > Programmer brauche. OK, Hexfile ist im Anhang. Die ISP-Schnittstelle des AT90S1200/ATtiny2313 ist leider nicht komplett herausgeführt. Der nicht bestückte 6-pinnige Stecker neben dem Bootloader ist die ISP-Schnittstelle des ATmega8535. Für den ATtiny2313 musst du dir mal im Schaltplan (steht in der STK500-Hilfe mit drin) die /RESET-Leitung separat rausfusseln und die per Draht an den ISP-Stecker des Masters verdrahten. Die anderen Pins des ISP-Steckers kannst du 1:1 benutzen. Bevor du das alles zerlötest, kannst du ja nochmal mit einem avrdude rangehen. "Program"-Knopf drücken und einschalten. avrdude sollte sich dann verbinden können:
1 | $ avrdude -c avr910 -P /dev/ttyUSB0 -p m8535 -ut |
2 | |
3 | Found programmer: Id = "AVR ISP"; type = S |
4 | Software Version = 4.0; Hardware Version = 1.2 |
5 | Programmer supports auto addr increment. |
6 | |
7 | Programmer supports the following devices: |
8 | Device code: 0x69 = ATMEGA8535 |
9 | |
10 | avrdude: AVR device initialized and ready to accept instructions |
11 | |
12 | Reading | ################################################## | 100% 0.00s |
13 | |
14 | avrdude: Device signature = 0x1e9308 |
15 | avrdude: current erase-rewrite cycle count is -50462977 (if being tracked) |
16 | avrdude> d flash |
17 | >>> d flash |
18 | 0000 00 00 01 01 02 02 03 03 04 04 05 05 06 06 07 07 |................| |
19 | 0010 08 08 09 09 0a 0a 0b 0b 0c 0c 0d 0d 0e 0e 0f 0f |.. ....| |
20 | 0020 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 |................| |
21 | 0030 18 18 19 19 1a 1a 1b 1b 1c 1c 1d 1d 1e 1e 1f 1f |................| |
22 | |
23 | avrdude> quit |
24 | >>> quit |
25 | |
26 | avrdude done. Thank you. |
So ungefähr sieht das Bild aus, wenn der ATmega8535 gelockt ist. Ganz alte STK500 haben den nicht gelockt, da kannst du dann wirklich den ROM-Inhalt auslesen. Du musst allerdings -p 8535 angeben bei dir. Obige Angaben stammen von einem echten STK500-Bootloader, nicht vom dem Hexfile, das ich dir hier dranhängt.
Habe mir jetzt den ATTINY2313 und den ATMEGA8535 bestellt. Wie funktioniert das jetzt genau? Muss ich den tiny mit dem, im vorhergenden post angehängt hex-file flashen? Was geschieht mit dem atmega? Wäre um eine etwas detailliertere Anleitung sehr dankbar. mit freundlichen Grüßen Simon
Simon wrote: Vorab: guck dir mal den Schaltplan des STK500 an, der ist als PDF in der AVR-Studio-Hilfe-Datei zum STK500 eingebettet. > Muss ich den tiny mit dem, im vorhergenden > post angehängt hex-file flashen? Ja. Direkt neben dem ATtiny2313 befinden sich 6 Löcher für einen ISP-Stecker. Den lötest du rein, und darüber kannst du den ATtiny2313 programmieren. Das fiese ist nur, dass du den am Ende auf externen Takt stellen musst, damit die Baudrateneinstellungen funktionieren, aber seinen externen Takt bezieht er vom ATmega8535 und dem dort angeschlossenen Resonator, den man erst einmal aktivieren muss. (Das war beim Vorgänger AT90S8535 noch anders, der hatte keinen internen Takt, sodass er sofort mit dem Resonator los lief.) Der ATmega8535 hat seine ISP-Anschlüsse auch auf diesem ISP-Stecker, aber sein /RESET ist natürlich ein anderes. Damit du den programmieren kannst, musst du dessen /RESET also separat an deinen ISP-Programmer klemmen. Das ist im Schaltplan mit dem Netz /MCURST bezeichnet, das liegt an Pin 24 (/RESET) vom ATmega8535, Pin 16 (PB4) vom ATtiny2313, an der Verbindung von R203/C207, an einem leeren Footprint für R213, sowie an Pin 4 der D201. R203, der leere R213 und D201 befinden sich allesamt direkt nebeneinander, das dürfte daher die beste Stelle sein, an der man dieses Signal abgreifen kann. Wenn du die Löterei sparen willst, kannst du auch folgendes versuchen: Du programmierst den Bootloader in den ATtiny2313 und seine lfuse so, dass er zwar noch vom internen RC-Oszillator läuft, aber dass die CKDIV8-Fuse abgeschaltet wird. Dann programmierst du als erstes den Bootloader, den ich in diesem Posting angehängt habe. Der ist für einen Takt von 8 MHz statt 7,3 MHz gebaut, ansonsten ist er gleich. Danach kannst du über die PROGRAM-Taste und die serielle Schnittstelle entweder mit avrprog.exe oder mit AVRDUDE erstmal die Fuses des ATmega8535 so einstellen, dass sein Keramikresonator arbeitet. An dieser Stelle dann musst du nochmal den externen ISP-Programmer benutzen, stellst den ATtiny2313 auf externen Takt ein und programmierst ihm den Bootloader, den ich bei letzten Mal gepostet habe. Abschließend dann die Firmware via AVR Studio reinprügeln.
Liebes Forum, auf mehreren unserer STK500 scheinen nur die AT90S1200 defekt zu sein (falsche Signatur beim Auslesen über den eigens zu bestückenen ISP-Header). Die STKs gehen direkt nach dem einschalten der Versorgungsspannung in den Programmiermodus, obwohl weder der Prog-Jumper gesetzt noch der Knopf gedrückt ist. Nach dem Löschen des S1200 blinkt die Status-LED auf den Boards vertraut. Die Kommunikation geht natürlich nicht mehr, da der gelöschte S1200 jetzt die Daten nicht mehr umsetzt. Ist es auch möglich, nur den S1200 geben einen tiny2313 zu tauschen und den AT90S8535 beizubehalten? Kann ich dazu obige Firmware verwenden oder gibt es dann Probleme bei der Kommunikation PC <-> AT90S8535? Es wäre schön, wenn hier jemand noch einmal ein paar Sätze zu möglichen Varianten des Mikrocontroller-Tausches machen könnte. Liebe Grüße Phili
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.