Nachdem ich es geschafft habe ein erstes Testprogramm zu compilieren, habe ich jetzt das Problem, dass ich beim Versuch den Mega32 zu beschreiben folgenden Fehler bekomme: Device missing or unknown device (-24). Passiert sowohl wenn ich Avr Autodetect einstelle als auch wenn ich Avr Mega 323 eisntelle. Ich hoffe mal, dass ich auf dem Board alles richtig gelötet habe(das Netzlämpchen leuchtet) und es nur ein Einstellungsfehler ist.
Steckt das serielle Kabel am ISP Stecker am Board? NICHT den RS232 verwenden Verwendest du einen USB-RS232 Adapter? Klappt nicht, da Bit Banging ...
Hast du deine Lötarbeiten kontrolliert? Und wie versuchst du genau das Programm in den Atmega32 einzuspielen? In der Artikelsammlung Pollin Funk-AVR-Evaluationsboard findest du eine Beschreibung für die Programmierung über echtes RS232, die simpele RS232-Programmierschnittstelle von Pollin und die Software AVRDUDE sowie über echte Parallelschnittstelle und einen STK200 kompatiblen ISP Programmieradapter und die Software AVRDUDE. Aufpassen bei der Umstellung der Fuses! Werte aus dem eigenen Datenblatt nehmen. Im Artikel wird ein Atmega8 programmiert.
Am ISP ist angesteckt. Ich schau mir jetzt mal den Artikel an. Wie ich mine Lötarbeit kontrolierne osll weiß ich nicht genau. Was soll ich denn da alles testen?
In der bei pollin herunterladbaren Datei zum Board wird bei PonyProg die Einstellung SI Prog I/O. Wenn ich diese Einstellung auswähle erhalte ich bei Probe Test Failed. Bei der Auswahl SI Prog API dagegen erhalte ich ein Test Ok. Gibt es dafür eine Erklärung und kann an dieser Einstellung der Hase im Pfeffer begraben liegen?
WAS ist "Am ISP ist angesteckt." Denk dran hier sieht niemand dein Board, hier riecht niemand dein Board. Du musst unsere Augen, Ohren, Nasen und Hände ersetzen. Wir können höchstens ein paar Hirnzellen beisteuern. Hmm, Testen... wenn nix in der Aufbauanleitung angegeben ist... ich probiere es mal. Bei den folgenden Messungen keine µC in die IC Fassung stecken. Datenblatt vom µC schnappen und mit Multimeter die wichtigen Spannungen an der Fassung kontrollieren. Wo ist GND, dort schwarze Leitung/Tastspitze COM vom Multimeter anschliessen. Ist an den Pins Vcc und ggf. AVcc ca. 5V vorhanden, prüfen mit der roten Tastspitze? Ist an /RESET +5V vorhanden?
SiWi wrote: > In der bei pollin herunterladbaren Datei zum Board wird bei PonyProg die > Einstellung SI Prog I/O. > Wenn ich diese Einstellung auswähle erhalte ich bei Probe Test Failed. > Bei der Auswahl SI Prog API dagegen erhalte ich ein Test Ok. > Gibt es dafür eine Erklärung und kann an dieser Einstellung der Hase im > Pfeffer begraben liegen? Kann es. Ich habe mit deinen Stichworten in der Ponyprog-Doku nachgesehen. Dort steht: SI-Prog interface select "serial" check-box and choose "SI-Prog API" or "SI-Prog I/O" in the combo-box. Windows 95/98/ME and NT/2000/XP work either with "PonyProg API" and "PonyProg I/O", but the latter is faster. Then select the COM port you want to use, if some COM ports are disabled it means that they are used by other programs (usually by the mouse driver or modem), or not installed or access denied (may need root privileges). If you use added COM ports (PCI or PCMCIA cards) you must use "SI-Prog API". Note that USB2RS232 adapters often don't work or are very slow. http://www.lancos.com/e2p/ponyprog2000.html Das liest sich für mich so, als ob "SI-Prog API" der sicherer Weg wäre. Das scheint sich in deinem Fall auch zu betsätigen. Man könnte nich hingegen und auf den Zusammenhang mit VISTA hin suchen und ob es da spezifische Usererfahrungen gibt. Oben in der Doku ist VISTA ja noch nicht erwähnt.
Habe jetzt die wichtigen Pins am Sockel getest, Ergebnis: Weder an VCC noch an AVCC noch an RESET liegen 5V an. Wie kann ich jetzt die Fehlerquelle einschränken? Ich geh jetzt mal davon aus, dass es ein Lötfehler von mir ist, da diese Board eine miener ersten Löarbeiten ist. Kann folgendes ein Fehler sein: Bei manchen Löchern in die die Komponenten gelötet werden sieht man von oben keine Lötstelle. Ist da normal oder ein Lötfehler?
Vorherigen Beitrag bitte als ungültig betrachten. Ich hatte nicht gemerkt, dass sich der Kontakt zum Strom vor meinen Messungen gelöst hatte. Sämtliche eintscheidenden Spanungen liegen an. Wie kann ich nun feststellen, ob ein Softwarekonfigurationsfehler, ob der Mikrocontroller nicht funktioniert oder ob der Programmer auf dem Board oder andere Bauteile falsch verlötet sind?
Du hast die Kalibrierung in PonyProg gemacht? PonyProg läuft mit der Einstellung "SI Prog API"? Du verwendest welches Kabel zwischen PC und Pollinboard? Vollbeschaltetes 1:1 RS232-Kabel (OK)? Nullmodemkabel (wird nix)? USB-RS232 Adapter (Kann gehen, muss nicht. Wenn's geht, ist' lahm)? An welchem Anschluss des Pollinboards ist das Kabel angeschlossen? An der 9-poligen DB9-Buchse, die mit ISP (o.ä.) gekennzeichnet ist? > Kann folgendes ein Fehler sein: Bei manchen Löchern in die die > Komponenten gelötet werden sieht man von oben keine Lötstelle. Ist da > normal oder ein Lötfehler? Gehen an den Stellen oben und unten Leiterbahnen weg und sind die beim test mit einem Durchgangsprüfer elektrisch über die Lötstelle miteinander verbunden? Das sollte bei einem richtg gelöteten Board der Fall sein.
Kalibrierung habe ich gemacht. PonyProg läuft mit der Einstellung "SI Prog API". Kabel ist ein RS232/Sub-D Kabel ohne USB-Adapter und ist am ISP Port angeschlossen. Was ich bei Google gefunden habe, sind viele Aussagen, dass man die Einstellung SI I/O hernehmen sollte für das Pollinbaord. Aber ausgerechnet diese kann ich nicht verwenden, da aufgrund meines Vista64 Systems die Datei DLPORTIO.SYS nicht geladen werden kann.
So habe jetzt PonyProg auf ne virtuelle XP 32Bit Maschine gespielt ->Kann jetzt zwar auch die Einstellung SI Prog IO vornehmen, bekomme aber immer noch unknown or missing device(-24) gemeldet. Kann mir jemand noch sagen welche Spannungen an den Programmierports des Mega32 vorliegen müssen, damit ich Lötfehler gänzlich ausschließen kann?
Ach ja übrigens: Statt das Board mit 9V Wechselspannung zu betreiben, benutze ich 9V Gleichspannung. Kann das ein Problem darstellen?
Hmmm, ich weiß nicht genau, wie dieser Thread mir bei der Lösung meines Problems helfen könnte, da sich ja unter meiner emulierten XP Maschine die selben Probleme ergeben.
Passiert sowohl wenn ich Avr Autodetect einstelle als auch wenn ich Avr Mega 323 eisntelle. Mal mit Mega32 probiert ? Könnte bei einem Mega32 klappen Gruß Wars Das
Jepp habe ich schon auf dem emulierten System. Konnte ich zuvor nur nicht auf meinem Vista64, da sich da Version 2.07 nicht installieren lässt und die verwendete 2.05 Version die Einstellung Mega32 nicht hat, sondern nur Mega323.
Das mit dem Emuliertem System bringt nix weil die I/O Zugriffe trotzdem über den Host laufen. Das Timing wird davon auch nicht besser.
Es gibt 295 Suchtreffer bei Google mit dem Suchtext +ponyprog +"vista 64" Zusammenfassung: Es sieht schlecht aus. Schlecht für Ponyprog und bestimmte andere AVR ISP Programmer. Funkionieren soll der USBasp von Thomas Fischl und der USB-ISP von Ulrich Radig, wenn die Prüfung der digitalen Signatur der USB Treiber abgeschaltet wird: http://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=44215 http://www.ulrichradig.de/site/forum/viewtopic.php?f=31&t=1319
Probiere das Ganze gerade auf einem echten XP32 System aus. -> Selbes Problem wie vorher. Hab jetzt noch getest ob die Spannung von Reset beim Start des Programmierens auf 0 abfällt, was sie tut. Kann mir vielleicht noch jemand sagen, welche Ports zum Programmieren verwendet werden und welche Spannung die vor dem Programmieren haben und wie sich diese während des Programmierens verändern sollte.
Hab jetzt getestet was an den Ports PB6,PB7,PB8 bei dem Start der Programmierung passiert(Ich glaube, das sind die, die man zur Programmierung benötigt, richtig?). Nur der Port PB6 ändert sich vor der Fehlermeldung kurz auf 3-5 Volt, die anderen zwei nicht. Ist das so normal?
Hab da was durcheinandergebracht. Ich hab Port 6,7,8 am IC-Sockel getestet, was PB5,6,7 entspricht. PB5 bzw. Port6 ist der, an dem sich die Spannung verändert.
Ein Tipp: Nimm zum Programmieren mal Avrdude mit "ponyser" als Programmer. Ich habe auch so ein Board, und mit Ponyprog geht das auch nicht vernünftig. Mit Avrdude klappt es bei mir aber prima.
Du kannst in die Kommandozeile vom AVRDUDE noch die Anweisung -vvvv aufnehmen. Dann ist die Ausgabe umfangreicher. Vielleicht kann man dann mehr erkennen.
Habe jetzt das simple Parallel Programmer Kabel von http://s-huehn.de/elektronik/avr-prog/avr-prog.htm nachgebaut. Damit habe ich versuchte den Mega32 auf eine Breadboardschaltung zu porgrammieren. Ergebnis: Funktioniert weder auf Vista64 noch XP32. Daher liegt die Vermutung nahe, dass der Mega32 nicht funktioniert. Wie kan ich testen ob er defekt ist oder nicht?
Jetzt hb ich mal versucht die vom Programmer verwendeten Ports manuell zu setzen. ->Mosi und SCK kommen am IC-Sockel an. Das einzige, was mir dabei auf gefallen ist, ist dass beim Setzen auf 0 ~-0.7 V ankommen. Sollten da exakt 0 ankommen oder ist das beim Pollinboard so normal?
Also hab jetzt mal das ganze bei avrdude mit -vvvv laufen lassen. Was genau müsst ihr da wissen? Die Ausgabe ist nämlich ziemlich lang. Was mir dabei allerdings ins Auge springt ist, dass vor der Fehlermeldung "AVR device not reponding" 30-40 mal diese Ausgabe kommt: bitbang_cmd(): [AC 53 00 00] [00 00 00 00] Wenn ich die Dokumentation von AVR zum Programmer richtig verstanden habe, sollte also die Rückgabe des Controllers, also wohl der zweite Block [AC 53 00 00] lauten, richtig? Kann man dauraus ablesen, dass der Mikrocontroller hinüber ist?
Hab jetzt selber mit nem kleinen Programm versucht das Programmieren Signal zu schicken und die Ausgabe des Mikrocontrollers auszulesen. ->Ich bekomme auch 00 00 00 00 zurück.
SiWi wrote: > Also hab jetzt mal das ganze bei avrdude mit -vvvv laufen lassen. > Was genau müsst ihr da wissen? Die Ausgabe ist nämlich ziemlich lang. Macht nix, nee nicht richtig, es ist sogar sehr gut, den Text komplett anzugeben! Man kann dann wichtige Infos entnehmen u.a. die AVRDUDE Version und welche Kommandozeile du benutzt hast. Du solltest die lange Datei in den Anhang deiner nächsten Nachricht hängen. Wenn du magst, komprimiere die Textdatei in ein Archiv. Wenn die Länge der Ausgabedatei dadurch kommt, dass du ein elend langes HEX-File flashen willst, dann versuche nur die Fuses auszulesen und lasse das Übertragen der HEX-Daten weg. Dein Parallelport ISP-Adapter ist der in dem ersten Schaltbild hier? http://s-huehn.de/elektronik/avr-prog/avr-prog.htm Du könntest mal einen Loopbacktest versuchen, um herauszufinden, ob der PC überhaupt korrekt von MISO lesen kann: Du kannst den Test direkt am ISP Stecker machen (RESET, SCK etc. werden nicht berücksichtigt). Bei 10-poligen Stecker sind es die Pins 1 und 9 auf die es ankommt. Oder du kannst auch noch die MISO/MOSI Leitungen bis zur IC-Fassung in den Test einbeziehen. Dazu den Atmega32 aus der Fassung nehmen, weil der jetzt nicht benötigt wird und auch nicht auf Spiel gesetzt werden soll. Dann bei einem der beiden Testaufbauen eine Drahtbrücke zwischen MOSI und MISO stecken. Dadurch sollte alles, was AVRDUDE sendet auch zurückkommen, d.h. in der Debugausgabe sollten die 00 beim bitbang_cmd verschwinden. Im Anhang ist ein Mitschnitt wie ein solcher Loopbacktest bei mir aussieht. Die Kommandozeile ist noch für den Attiny2313, den ich derzeit auf dem Pollin Funk AVR Board habe. Die Fuses sind auf externen Quarz 8 MHz eingestellt, d.h. du solltest die Kommandozeile nicht 1:1 übernehmen!!! Als ISP Adapter benutze ich einen STK200 ISP-Adapter an LPT1. Den Test habe ich am ISP Stecker durchgeführt, weil ich meinen Attiny2313 nicht unnötig aus der Fassung nehmen möchte. > Was mir dabei allerdings ins Auge springt ist, dass vor der > Fehlermeldung > "AVR device not reponding" 30-40 mal diese Ausgabe kommt: > bitbang_cmd(): [AC 53 00 00] [00 00 00 00] > Wenn ich die Dokumentation von AVR zum Programmer richtig verstanden > habe, sollte also die Rückgabe des Controllers, also wohl der zweite > Block [AC 53 00 00] lauten, richtig? Richtig. > Kann man dauraus ablesen, dass der Mikrocontroller hinüber ist? Nicht unbedingt. Es bedeutet "nur", dass AVRDUDE die vier über MOSI gesendeten Bytes nicht wieder so über MISO empfängt, sondern dass 4x 00 zurückkommt. Wenn der Loopbacktest oben weiterhin 4x 00 zeigt, ist der Atmega32 überhaupt nicht an der Sache beteiligt. Es kann dann ein Problem auf dem Pollinboard sein (kalte Lötstelle?, Unterschied Test Board/Stecker?) oder am ISP Adapter oder an der Einstellung des Parallelports am PC. Beim Parallelport selbst kann man - oft im BIOS - einstellen, in welchem Modus der arbeiten soll. Für AVRDUDE ist der SPP Modus der sicherste. An zweiter Stelle kommt der EPP Modus und nicht empfehlenswert ist der ECP Modus: Beitrag "ISP und ECP Modus" Du hast sicher einen arschschnellen PC, wenn du Vista 64 normalerweise drauf hast. Die Geschwindigkeit modernen PCs kann Probleme beim Flashen mit AVRDUDE machen. Hier ist ein Hinweis, wie man das Timing beim Flashen manipuliert: Beitrag "Re: avrdude sagt: Fehler! - Bei PonyProg ist alles ok?"
SiWi wrote: > Jetzt hb ich mal versucht die vom Programmer verwendeten Ports manuell > zu setzen. > ->Mosi und SCK kommen am IC-Sockel an. Das einzige, was mir dabei auf > gefallen ist, ist dass beim Setzen auf 0 ~-0.7 V ankommen. Sollten da > exakt 0 ankommen oder ist das beim Pollinboard so normal? Verstehe ich das richtig: den HIGH Pegel an MOSI und SCK kannst du ordnungsgemäß messen, wenn du selbst die Signale entsprechend setzt? Das spricht dafür, dass dein ISP-Adapter bei den beiden Leitungen und die Ausgabe auf dem Parallelport OK ist. -0.7 V beim Setzen von LOW halte ich für OK. Ich vermute du erhälst nicht exakt 0V, weil irgendwo noch ein PN-Übergang (Diode?) im Spiel ist. Um da was genaueres zu sagen, müsste man wissen: Wie hast du gemessen? Wo war dein Bezugspunkt?
Also, wenn ich die Wirebridge setze kommt bei AVR-Dude wieder alles genau so zurück wie es hingesendet worden ist. Mein Bezugspunkt für die Messungen war GND an der Sockelfassung.
Ach ja übrigens, an der Geschwindigkeit des Pcs kanns wohl auch nicht liegen, da ich bei meinem eigenem Programm eine Taktgeschwindigkeit von 1ms-1s getestet habe. Das Problem mit meinem Programm könnte eher sein, dass minimal unterschiedliche Taktzeiten auftretetn können, und ich nicht weiß, ob der Mikrocontroller damit Probleme hat.
Hmm, Loopback für MOSI und MISO gehen, d.h. diese Leitungen sind OK und die Parallelschnittstelle funktioniert. Aber dein Atmega32 lässt sich dennoch nicht programmieren. Weder auf dem Pollinboard noch auf dem Steckbrettaufbau, d.h. es liegt wohl nicht am Pollinboard. Vielleicht ist er wirklich defekt. Hast du noch einen anderen AVR? Mit ISP Adapter (STK200-Komp.) ist im Ruhezustand MOSI Low MISO HIGH (2,22V) SCK Low RESET High. Mit ISP Adapter (STK200-Komp.) ist im RESET-Zustand (Taster) MOSI Low MISO HIGH (2,22V) SCK Low RESET Low. Ohne ISP Adapter ist im Ruhezustand MOSI Low MISO Low (-0,016V) SCK Low RESET High. Ohne ISP Adapter ist im RESET-Zustand (Taster) MOSI Low MISO Low (-0,016V) SCK Low RESET Low. > Ach ja übrigens, an der Geschwindigkeit des Pcs kanns wohl auch nicht > liegen, da ich bei meinem eigenem Programm eine Taktgeschwindigkeit von > 1ms-1s getestet habe. Das Problem mit meinem Programm könnte eher sein, > dass minimal unterschiedliche Taktzeiten auftretetn können, und ich > nicht weiß, ob der Mikrocontroller damit Probleme hat. Kann ich nicht beurteilen. Wenn wir über AVRDUDE reden, reden wir über das gleiche Programm. Dein Programm kennst nur du.
Wuhuu, es funktioniert. Habe jetzt den neuen Mega32 von Pollin bekommen und das Programmieren funktioniert ohne Probleme. Vielen Dank für die Hilfe.
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.