Hallo, bin absoluter Anfänger in Sachen µC. Habe mir eine Grundschaltung auf einer Streifenrasterplatine aufgebaut (Atmega32) und einen STK200-kompatiblen Dongle gekauft. Mein Mainboard hat leider keine Parallelschnittstelle - so hatte ich mir also einen USB-Parallel-Adapter gekauft. Was leider eine Fehlkauf war, da der nur eine USB-Druckerunterstützung bereitstellt. Dann also noch eine PCI-Parallelschnittstellenkarte bestellt und eingebaut (http://reichelt.de/index.html?LASTACTION=3;SORT=artikel.artnr;WG=0;SUCHE=pci%20parallel;ARTIKEL=PCI%20PARALLEL%20X2;START=0;END=16;FAQSEARCH=PCI%20I%2FO%20FIFO%20Karte%202x%20parallel;FAQTHEME=-1;FAQSEARCHTYPE=0;STATIC=0;FC=668;PROVID=0;TITEL=0;ARTIKELID=53285;FAQAUTO=1;ACTION=3;GRUPPE=E7). Folgende Programme habe ich nun schon ausprobiert: PonyProg2000: erkennt die beiden LPT-Anschlüsse nicht an (im Dialog alle LPTx-Optionen ausgegraut) - stelle ich den richtigen LPT-Port manuell in der Config-Datei ein: Communication port not available (-16) PonyProg: Erkennt die beide LPT-Anschlüsse - funktioniert aber trotzdem nicht - Device missing or unknown Device (-24) avrdude: avrdude -p atmega32 -P lpt2 -c stk200 -U flash:w:testpp.hex avrdude: AVR device not responding avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. Also scheinen alle Programme vermutlich mit der Karte nicht zurecht zu kommen. Am STK200 leuchtet die rote LED - also hat dieses Modul auch Spannung. Die Verbindung zum Atmega stimmt auch (mehrfach überprüft). Im Gerätemanager habe ich auch schon alle Optionen für die Parallelportanschlüsse durchprobiert - nichts half. Goggle habe ich jetzt auch schon viele Stunden bemüht - leider ohne Erfolg. Die Schaltung selbst besteht aus einem Atmega32, einen 16MHz-Quarz, den 2 Kondensatoren á 22pF am Quarz, einem 100nF Kondensator am IC direkt und einen 10k-Widerstand am Reset-PIN gegen VCC. Die 5V-Spannung für die Schaltung wurde mit einer 4-Weg-Gleichrichtung, 1000µF, 5V-Z-IC, jeweils 100nF am Eingang/Ausgang vom Z-IC und 10µF Elko (ebenfalls am Ausgang) aufgebaut. Soweit sollte da ja alles in Ordnung sein. Bevor ich mir jetzt noch andere Hardware kaufe (z.B. einen USB-Programmieradapter), wollte ich hier um Rat fragen was ich noch tun könnte, damit es endlich los gehen kann. :-) Ich bedanke mich schon einmal im voraus und verbleibe mit freundlichen Grüßen Oliver
Achso: Ich benutzte Windows XP - falls das von Bedeutung ist.
Warte mal mit dem kauf von dem USB adapter. Hast du noch eine RS232-Schnitstelle? Bau dir doch ein Serien Brenner zum einmaligen brennen und bau dir dann eine JTAG-adapter( nicht kaufen zu teuer ca 300euro) damit kannst du on-board-debugin machn viel besser als der Simulator im Studio. Weil du direkt in der Zielschaltung debugen kannst.
Hi hast Du GiveIO installiert? Gruss Andreas
ich denke mal auch dass da ein Direktzugriffstreiber fehlt. XP lässt von sich aus keine direkten Schnittstellenzugriffe zu und darum gibts für Sowas kleine Zusatzprogramme mit Denen XP überlistet wird. So ein Treiber muss vor dem Brennprogramm gestartet sein, damit gebrannt werden kann. bye Frank
USB-Parallelport-Adapter lassen sich, von einer Ausnahme abgesehen, überhaupt nicht für Programmierzwecke einsetzen. Diese eine Ausnahme war ein Selbstbauprojekt des Henrik Haftmann, das ist aber seit Anfang April von den Datenflächen des Internet verschwunden. Das hat beispielsweise mit PonyProg zusammen funktioniert. Der "Trick" lag im speziellen von Henrik entwickelten Devicetreiber, der die I/O-Zugriffe auf die I/O-Adressen der Standard-Parallelschnittstelle abgefangen und auf den USB-Adapter "umgebogen" hat (was auch Unterstützung der Adapterfirmware erfordert, also nicht mit normalen USB-Druckeradaptern funktioniert). Wie gesagt: Leider sind die auch sonst sehr interessanten Seiten von Henriks Uni gelöscht worden. Die üblichen Parallelportprogrammierprogramme führen direkte I/O-Zugriffe aus, dazu benötigen sie spezielle Treiber, die sie aber normalerweise gleich mit sich bringen; nur bei sehr schlechter Software muss man sowas nachinstallieren. Allerdings führen diese Programme ihre I/O-Zugriffe auf definierte I/O-Adressen durch - nun ist zu klären, ob Deine PCI-Parallelportkarte überhaupt diese I/O-Adressen verwendet und ob die auf der Karte verbaute Hardware überhaupt der einer PC-Onboard-Druckerschnittstelle entspricht. Was sagt denn der Gerätemanager über die von der Karte belegten I/O-Adressen?
die Meldung 'Device missing' würde ich eher so interpretieren das der Programmer erkannt wird aber der AVR nicht. avrdude: für das -p Kommando sollte lt. Doku der Name 'm32' stehen, nicht 'ATMega32', war das jetzt nur falsch abgeschrieben? Und wie schon genannt 'giveio.sys' für XP muss installiert sein und du musst Admin Rechte haben lt. Doku.
eine andere Tücke können noch die 'Fuse bits' sein. Ist der ATMega neu oder gebraucht? Bei einem gebrauchten könnte der Clock auf extern stehen, dann muss an dem Takteingang ein echtes Taktsignal anstehen, ein Quarz funktioniert da nicht. Auf ext. Clock könnte der ATMega stehen wenn er vorher in einem STK500 betrieben wurde.
@masterof Eine RS232-Schnittstelle hatte ich mir auch gleich dazubestellt (USB-RS232-Adapter). Das hört sich nicht schlecht an, ich wollte aber erst einmal das vorhandene, falss möglich, zum Laufen bringen. @asmhesse, Frank Das hatte ich davor getan. Ergebnis von status_giveio.bat (-> avrdude) --- C:\WinAVR\bin>status_giveio.bat status of giveio: Type: [0x01] Kernel driver. Start Type: [0x02] Automatic Error Control: [0x01] NORMAL: Display a message box. Binary path: \??\C:\WINDOWS\giveio.sys Load order grp: Dependencies: Start Name: ok. --- Normalerweise solle aber PonyProg ohne giveio.sys laufen? @Rufus Mit dem USB-Adapter war wie gesagt ein Fehlkauf, hatte mich nicht genug informiert. Sofern man die I/O-Adressen in den Eigenschaften vom LPTx und Resourcen ablesen kann, so wären sie ja falsch. (LPT2 E/A-Bereich von 9400-9407 und 9000-9007). Ist die korrekte Adresse aber wirklich wichtig für die oben genannten Programme (die könnte sich ja den aktuellen Wert holen)?
@JojoS Avrdude habe ich nicht selbst aufgerufen - Ich nutze das Paket WinAVR. Bin im Programmers Notepad unter Tools auf WinAVR [Program] gegangen. Nehme an das an dieser Stelle alles sein Richtigkeit hat. Der Atmega ist neu und nicht gebraucht (von embedit.de - sowie auch der Programmer).
und zeigt der Gerätemanager dann LPT2 und LPT3 an wenn die PCI-Karte steckt? WinAVR: sollte klappen, hast du in dem MFile Tool die MCU, Programmer und Port ausgewählt? Und dann gäbe es da noch das AVRStudio4 von Atmel, das kann natürlich auch den STK200 ansprechen. Das AVRStudio spielt jetzt auch mit den GNU Tools zusammen, läuft hier auch gerade wieder, aber am STK500. Das hat am neuen Laptop Dell D810 auch erst Ärger gemacht weil das keine richtige serielle Schnittstelle mehr hat...
@JoJoS LPT2/3 werden angezeigt. Ja, habe auch mit MFile alles soweit eingestellt. Das AVRStudio habe ich installiert - dort kann ich aber nichts auswählen bzgl. Parallelport oder STK200 (nur STK500). Mir würde aber schon reichen wenn PonyProg oder avrdude laufen würde. Bascom hatte ich übrigens auch ausprobiert.
Übrigens: Habe jetzt zum Testen avrdude den LPT1 als Port übergeben, der bei mir nicht existiert. Habe die gleiche Fehlermeldung bekommen.
des rätsels lösung... ich habe auch auf par-port einen avr (mit selbstgeb. sp-12 ) programmieren wollen, ging aber nicht (verm. genau selbe pci karte von reichelt) zuerst gibts mit der software ein problem, da die i/o adresse mehr als die üblichen 8bit hat, alle mit fester 8bit i/o gehen eh nicht; avrdude kann das, kam aber genau sowas "error responding...", mist, ...hab ewig gesucht, dann per oszi signale gemessen: siehe da, kleine spikes beim zugriff auf dem port! dann mal drucker weg, prog am "alten" par-port: da gehts!!!! dachte, ich krieg n vogel! ob die spikes nen drucker auch stören, hab ich noch nicht getestet, aber ein sauberes signal, wie es ein prog-adapter braucht, kam bei mir nicht raus...
Hallo, dummerweise kann ich nicht auf einen anderen Parallelport umsteigen da wie gesagt mein Mainboard keinen hat.
> Ist die korrekte Adresse aber wirklich > wichtig für die oben genannten Programme > (die könnte sich ja den aktuellen Wert holen)? Das müsstest Du die Entwickler dieser Programme fragen - da seit Äonen die Adressen der drei "Standard"-Ports LPT1,2 und 3 durch den IBM PC feststehen, gehen auch viele Entwickler fest von deren Adressen aus, vor allem, wenn sie an allen Devicetreibern vorbei mit direkten I/O-Zugriffen die Hardware manipulieren. Wenn die Hardware mit einem speziellen Kernel-Mode-Treiber daherkommt, der diese I/O-Zugriffe abfängt und umleitet, dann ließen sich diese Defizite umgehen, wie es der USB-Parallelport-Adapter von Henrik Haftmann gemacht hat, für den explizit darauf hingewiesen wurde, daß er mit Ponyprog zusammen funktioniert. Ein manuelles Installieren von Treibern à la giveio.sys sollte nicht erforderlich sein - darum sollten sich die enstprechenden Programme selbst kümmern. Sogar BASCOM-AVR bekommt das hin.
das mit dem PCI par.Port ist natürlich eine Erklärung, die PCI HW wird ja nicht so einfach angesprochen wie die alten ISA Karten. Und ISA Slots hat ja heute auch kein Boards mehr... Dann bleibt wohl nur ein Programmer der über die serielle arbeitet. Oder das Teil suchen das Rufus genannt hatte. Oder irgendwo einen alten Laptop auftreiben der als Programmer und Terminal genutzt wird? Die moderne legacy-free hardware ist leider nicht mehr bastelfreundlich. Mit dem AVR Studio hattest du Recht, ich dachte die Einstellung AVRISP macht das, aber das ist wieder ein anderer (serieller) Programmer.
war bei der Parallelport Karte eine Treiber CD dabei? Einige können scheinbar mit einer 'remap' Funktion auf ISA-kompatible Adressen eingestellt werden. Ob sich das mit dem GiveIO.sys verträgt?
Habe jetzt auch mal versucht den Wert von den E/A-Adressen zu ändern was mir aber nicht gelungen ist. Scheinbar ist dieser Wert nicht zu ändern.
Hallo, eine Frage: Hätte ich mit diesem Parallelportcontroller unter Linux (Ubuntu?) mehr Chancen das es läuft? Vllt. sind die Programme da nicht so sehr fixiert auf die E/A-Adressen? Was meint ihr? Habe momentan kein Linux drauf - würde es dann aber mal installieren.
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.