Hallo erstmal! Ich möchte anfangen, ATmegas zu programmieren und war schon viel hier unterwegs. Super hier!!!! :-) Aber nun habe ich das erste größere Problem. Ich habe mir einen ATmega 16 gekauft und mir ein Board gebaut laut dieser Anleitung ( 2te also für ne rs232 http://s-huehn.de/elektronik/avr-prog/avr-prog-alt.htm). Nun habe ich endlich Ponny-prog unter win 7 64bit am laufen. Dieses erkennt auch meinen Adapter etc. "TEST OK" Nur er will zum verrecken nicht dieses Ding Beschreiben. Immer meldet er "Device missing or unknown 24" Ich habe mal 2 Screens vom DSO in den Anhang getan. Auf dem 1ten sieht man MOSI und SCL und auf 2ten MISO und Reset. Das sieht doch ganz gut aus, oder?!?!?!? Kann mir jemand helfen? Besten Gruß ALEX
Ich habe diesen Adapter auch lange an ein und demselben Rechner benutzt. Unter Windows ME ging es, unter XP ging es, unter Windows Vista und 7 ging es um's Verrecken nicht mehr. Das "Test ok" sagt nicht viel aus. Hast Du die Möglichkeit, bei einem Bekannten, der noch ein "altes" Betriebssystem auf seinem Rechner hat, den Adapter zu testen, um sicher zu gehen, daß der selbst physisch in Ordnung ist? MfG Paul
Die Signale sehen eigentlich gut aus, der AtMega scheint auch zu antworten. An welcher Stelle hast Du die Signale gemesse, an der Buchse oder am Atmega?
@ Paul: Ich werd mal probieren, obs an nem andern Rechner funktioniert. Nur da muss ich erstmal nen Treiber für finden. @ Julian: Tja ich dachte doch, dass die Signale gut aussehn. Gemessen hab ich am d-sub-stecker. Das Problem ist, dass ich ja ATmega einsteiger bin, und das mein erster Kontakt ist. von daher kann ich mir auch nur schlecht selber helfen:-) Aber schonmal vielen Dank für eure hilfe. Ich melde mich wieder, wenn ichs ma auf nem xp-Rechner ausprobiert habe. Gruß Alex
Du brauchst bei XP "GiveIO", bei ME und 2000 oder 98 noch nicht. Hier kann man es herunterladen. (Alles in englischer Sprache, aber man kommt zurecht) http://www.cs.ucr.edu/~eblock/pages/pictools/giveio.html Das gestattet dann den direkten Zugriff auf die Daten- und Steuerleitungen der Schnittstelle, denn es werden ja bei Ponyprog auch die Steuerleitungen verwandt -nicht nur RXD und TXD. Ist der Kontroller selbst richtig beschaltet d.h. liegt die Betriebsspannung an, kommen die Leitungen MOSI, MISO, SCLK, Reset und Masse an den entsprechenden Anschlüssen an u.s.w. ? MfG Paul
Hast Du mal geschaut, unter welcher Adresse deine serielle Schnittstelle läuft?Stimmt diese Adresse mit den früher üblichen Adressen überein? Ponyprog benutzt: LPT1: 0378h LPT2: 0278h COM1: 03F8h COM2: 02F8h COM3: 03E8h COM4: 02E8h Win XP benutzte diese Adressen auch, aber Win 7 hat leider andere. Und wie man die in Ponyprog reinbekommt, würde mich auch mal interessieren.
Bei mir läuft PonyProg unter Win 7 64 Bit ohne irgendwelche Änderungen.
Könntest Du mal bitte nach deiner Schnittstellenadresse schauen? Wenn Du eine Schnittstelle direkt auf dem Motherboard hast?
@RTFM Ich habe hier zwar nur eine serielle Schnittstelle auf dem Mainbord, aber die hat unter Windows 7 die gleiche Adresse "wie immer" d.h. 03F8h-03FFh Das ist auch nicht das Problem, sondern der Umstand, daß das System die Leute nicht mehr so einfach auf die Schnittstellen zugreifen läßt und sie mit den Pins "wackeln" können. MfG Paul
Meine beiden seriellen Schnittstellen auf dem Mainboard haben von Win 7 die Adressen BF00h und BE00h bekommen, eine zugerüstete parallele Schnittstelle (PCIe) hat die Adresse BF00h bekommen. Ich hätte an diesem Rechner ja auch lieber wieder die alten Adressen. Nur wie reinbekommen?
Die Adresse des Ports scheint nicht das Problem zu sein, die Pins machen ja das richtige (siehe Oszibilder). Der Atmega antwortet auch, siehe Miso-Signal. Der PC kann das Signal nur nicht (richtig) interpretieren. Das liegt oft am Timing, da Ponyprog nicht in Echtzeit auf die Schnitstelle zugreifen kann.
ALSO!!!!!!! : Es geht! :-) Aber halt nur unter xp, wie Paul schon schrieb. Das heißt also, dass meine Schaltung doch iO ist. Es wäre toll wenn man es auch unter win7 könnte. Nur hier schon die nächste Frage: Warum ist es so wahnsinnig lahm? Der brauch 10min um ein Programm zu brennen, welches nur nen Port an und wieder aus schaltet. Das kenne ich von anderen µC nicht! Mfg
Nachtrag. Er versucht gerade seit 38min zu programmieren und ist bei 15%!!!! Ist das normal? mfg
Ich nochmal! nach 1,5 Std. meldet das Ponny: übertragen. 1,5std.!!!!!!!! und was passiert...NIX! Jemand wies auf AVR-DUDE hin. Nun meine Frage: Wie installiert man das denn? Ich komme immer auf diese Seite http://download.savannah.gnu.org/releases/avrdude/ was mache ich denn mit den Dateien? Gibt es nicht was in der Art "install.exe"? Besten Gruß ALEX
http://www.mikrocontroller.net/articles/AVRDUDE dort ist ganz unten ein Link auf die compilierten Dateien, auf savanna.. gibt es nur den Source. Installation ist nicht nötig. Es ist ein Kommandozeilenprogramm, mit z.B. Burn-o-mat hast Du aber ein GUI.
Das scheint ein Timing-Problem bei Ponyprog zu sein. Guck mal in das Verzeichnis von Ponyprog, da gibt es eine Konfigurationsdatei und auch eine Hilfedatei dazu, wie man was und wo einstellen kann. Ich glaube nicht, daß das mit AVRDUDE besser geht. MfG Paul
Ich habe sowohl einen Parallel- als auch einen Seriell-Programmer und mit avrdude (Windows und Linux) ging das alles immer ratz-fatz, z.B. ATMEGA32 in knapp 50 Sekunden. USB-Programmer (USB-STick hier aus dem Artikel) ist natürlich schneller.
Es ist zum verzweifeln! Ich habe nun die von http://www.mikrocontroller.net/articles/AVRDUDE Dateien ausprobiert und keine läuft bei mir. Eigentlich dachte ich, ich wäre nicht allzu computerdoof, aber nun kommen Selbstzweifel auf!!! Ich möchte doch nur mit meinem Win7 64bit das blöde Ding programmieren und nicht hier schreiben, dann auf Stick, dann von altem Laptop 1,5 std. programmieren. ;-[ Habe ich nicht die Möglichkeit mit Atmelstudio 6 über mein Selbstbauinterface das Ding zu brennen? Trotzallem schonmal herzlichen Dank für die vielen Tipps
> Ich habe nun die von http://www.mikrocontroller.net/articles/AVRDUDE > Dateien ausprobiert und keine läuft bei mir. libusb installiert ???
Bitte Leute...Sorry, wenn ich euch nerve. Hab schon ein schlechtes Gewissen! Ich kenne das nur so in der Art "Studio zum programmieren und beschreiben". Und nun klappt gar nix. Ich gebe zu ich könnte ein Stk500 kaufen, aber ehrlich gesagt bin ich dafür zu geizig, da ich es nicht brauche. ich möchte das Ding nur programmieren und dann in eine Schaltung einbauen, daher die selbst gebaute Platine. Ich blicke da nicht mehr durch. AVR-Studio, AVR Dude, PonnyProg, Burn-o-mat etc... Also. AVR-Studio läuft; AVRDude kapier ich net von wegen Quellcode oder auch .exe (die dann nur kurz ein DOS-Fenster öffnet und dann nix mehr macht); PonnyProg läuft unter WIN7 net (unter xp ja, aber braucht stunden zu verifizieren?); Burn-o-mat läuft, will aber irgendwie was mit AVR Dude zu tun haben (mit dem ich aber ja nicht klar komme); und dann wäre ja da noch dieses AVRgcc das hat nichts mit Atmel zu tun,oder? Das ist ein freier Compiler, für den man dann auch andere C-Befehle braucht, oder wie? Oder muss das in AVR-Studio "eingebunden" werden? Gut davon mal abgesehn...ich möchte ja jetzt erstmal ein blödes kleines Programm schreiben, mit dem ich mich in die Atmels einarbeiten kann. Also nix Bootloader und solche Spielereien. Kann mir jemand vielleicht sowas in der Art Plan geben wie ich vorgehn sollte? Also: 1. Programmer-Platine anschließen, 2. DasunDas Programm installieren(Win7 64bit!), 3. darin schreiben "#include, define.... ,4. so-und-so draufspielen... Wenns sowas überhaupt gibt. Wenn nicht muss ich halt ma viel Geld anlegen. Besten Gruß und nochmal Danke für die ganzen Tips!!!! ALEX ps lib usb????? keine Ahnung. hab ich aber nicht installiert. Was ist das und wofür?
Wenn das nicht der einzige AVR ist, den du in deinem Leben programmieren wirst, dann besorg dir einen billigen USB-Programmer, der mit AVR Studio kompatibel ist (die geben sich gern als AVR-ISP aus o.ä.). Ich hab grad kein Modell zu Hand, solls aber unter 10 € geben. Forensuche sollte da schnell Ergebnisse bringen. Grund: Das Rumgehampel mit seriellen/parallelen Ports wird nicht besser werden. Wer für solche Alltagstätigkeiten auf I/O-Schnittstellen setzt, die die Consumerwelt bereits vor einem Jahrzehnt für tot erklärt hat, macht sich (auf lange Sicht) viel Mühe, die die paar Euro für nen modernen Programmer mehr als Lohnenswert machen. Also: Wie viel Geld ist dir deine Zeit wert? Hättest du nicht liebend gerne 10 Euro ausgegeben, deine ausgerauften Haare behalten und dir in der gesparten Zeit einen schönen Film angesehen? Off-Topic: Ich hab sowas auch mal gemacht. Mein PIC-Programmer war kaputt (warum, das tut nichts zur sache ähem :). Es war natürlich ein PIC drauf, der ausgetauscht werden muss. Henne-Ei-Problem. Genau das gleiche wie der TO hab ich gemacht, was windiges ausm Netz verdrahtet, alte Kiste mit LPT besorgt, und nach reichlich gekotze es dann doch irgendwann hinbekommen. Ich wollte halt nicht einsehen, zum Reparieren eines PIC-Programmers einen PIC-Programmer zu kaufen ;) Sonst hätt ich mir das niemals angetan. Bei mir war übrigens das Problem, dass die Signale nur manchmal müll waren, irgendwo war da ein Wackelkontakt oder es gab Übersprechen oder was auch immer. Das Symptom mit dem stundenlangen Programmieren (was am Ende dann nichtmal funktionierte) hatte ich auch noch. Das ist die Mühe echt nicht wert, nimm lieber gleich was richtiges.
Hey Sam! Danke für den Beitrag. Ich bin ja schon selbst darauf gekommen, mir was ordentliches zu kaufen. Nur anfangs war mein Gedanke "schön alles selber bauen und die Materie verstehn".... das sehe ich auch immer noch so! Und man kann da auch bestimmt was machen, ABER.... ...man will son Ding ja aus einem bestimmten Grund programmieren und der rück immer mehr ins dunkle, solange man sich mit dem Scheiß der Programmierung aufhält!!!! :-) Es ist echt nicht die Mühe wert, auch wenn man dabei was lernen würde. trotzdem Danke
Hallo Alex, nur kein Suizid ;=), das ist doch gerade DAS was den Kick bringt. Wäre grausam wenn alles gleich gehen würde ! Schau mal bei http://www.mechaos.de/avr_progusb.php vorbei, ein Programmer mit USB der sich über Bit-Bang selbst die Firmware aufspielt. Nur ein Treiber ist für den FTDI-Chip notwendig und schon hast Du einen STK500-Clon. Dauert beim erstenmal (Selbstprogrammierung) zwar etwas aber dann geht die Post ab. Habe mir das Teil modifiziert aufgebaut - ich will nichts anderes mehr haben ! Mfg Grelli
Alex Schneider schrieb: > Bitte Leute...Sorry, wenn ich euch nerve. Hab schon ein schlechtes > Gewissen! Also... > Ich kenne das nur so in der Art "Studio zum programmieren und > beschreiben". Und nun klappt gar nix. Ich gebe zu ich könnte ein Stk500 > kaufen, aber ehrlich gesagt bin ich dafür zu geizig, da ich es nicht > brauche. ich möchte das Ding nur programmieren und dann in eine > Schaltung einbauen, daher die selbst gebaute Platine. Ich wäre auch zu geizig. > Ich blicke da nicht mehr durch. AVR-Studio, AVR Dude, PonnyProg, > Burn-o-mat etc... > > Also. AVR-Studio läuft; Mit AVR Studio kann man µCs nur programmieren, wenn man einen AVR Studio kompatiblen Programmer hat. (STK500, AVR-ISP, viele billig USB Programmer imitieren einen AVR-ISP) > AVRDude kapier ich net von wegen Quellcode oder > auch .exe (die dann nur kurz ein DOS-Fenster öffnet und dann nix mehr > macht); AVRDude ist DAS Programm zum übertragen von HEX Files auf den Mikrocontroller. Öffne die .exe Datei mal im Terminal ("Eingabeaufforderung" oder so heißt das ja unter Win) Dann sollte irgendein Text erscheinen wie: "No Programmer selected, blablabla" Um mit AVRDude ein Programm zu übertragen musst du AVRDude etwa so aufrufen:
1 | avrdude -p µC -P PORT -c PROGRAMMER -U flash:w:DATEI.hex |
2 | |
3 | Beispiel: |
4 | avrdude -p atmega8 -P com1 -c USBASP -U flash:w:main.hex |
> PonnyProg läuft unter WIN7 net (unter xp ja, aber braucht > stunden zu verifizieren?); Bringt dir eh nichts, da du keinen mit PonyProg kompatiblen Programmer hast. > Burn-o-mat läuft, will aber irgendwie was mit > AVR Dude zu tun haben (mit dem ich aber ja nicht klar komme); Genau. Burn-o-mat ruft avrdude auf nur dass du eben grafisch den µC, den Port usw. auswählen kannst. > und dann wäre ja da noch dieses AVRgcc das hat nichts mit Atmel zu > tun,oder? Jep. > Das ist ein freier Compiler, Ja. > für den man dann auch andere C-Befehle braucht, oder wie? Nein > Oder muss das in AVR-Studio "eingebunden" > werden? Der ist schon eingebunden. AVR Studio nutzt AVR GCC um aus deinem Programm die HEX Datei zu erzeugen. > > Gut davon mal abgesehn...ich möchte ja jetzt erstmal ein blödes kleines > Programm schreiben, mit dem ich mich in die Atmels einarbeiten kann. > Also nix Bootloader und solche Spielereien. Ok. > Kann mir jemand vielleicht sowas in der Art Plan geben wie ich vorgehn > sollte? > Also: 1. Programmer-Platine anschließen, 2. DasunDas Programm > installieren(Win7 64bit!), 3. darin schreiben "#include, define.... ,4. > so-und-so draufspielen... > Wenns sowas überhaupt gibt. 1. AVR Studio öffnen 2. Projekt erstellen (AVR-GCC Projekt heißt das glaube ich) 3. µC auswählen 3.1 In den Projekteinstellungen die CPU Frequenz wählen (Standard ist meist 1000000) 3.2 In den Projekteinstellungen die Optimierung auf Os stellen 3.3 Programm schreiben. Einfaches Beispiel wäre:
1 | #include <avr/io.h> |
2 | |
3 | int main(void) |
4 | {
|
5 | while(1) |
6 | ;
|
7 | }
|
4. Programm kompilieren. 5. Die kompilierte HEX Datei suchen 6. Im Terminal in den Ordner mit der HEX Datei wechseln. 7. Programmer anschließen an µC und Rechner 8. Folgendes im Terminal eingeben:
1 | avrdude -p MIKROCONTROLLER -P usb -c PROGRAMMER -U flash:w:blabla.hex |
> > Wenn nicht muss ich halt ma viel Geld anlegen. Wollte ich immer vermeiden. > Besten Gruß und nochmal Danke für die ganzen Tips!!!! > > ALEX > Christian > ps lib usb????? keine Ahnung. hab ich aber nicht installiert. Was ist > das und wofür? Ohne das funktionieren (glaube ich) alle-wenige-keine USB-Programmer (unter Win)
ohne die libusb http://sourceforge.net/apps/trac/libusb-win32/wiki geht bei Windows mit den USB-Programmern meist nix. Runterladen, installieren. Danach gehen auch avrdude und andere Brenn-Programme, die USB benutzen.
Ich benutze den USB-Stick hier aus dem Forum, gibt es auch bei ehajo.de. Wenn ich den einstecke und das System kennt den noch nicht, dann fragt Win nach einem Treiber. Das ist ein .inf-File, der auf die libusb zeigt, das sollte natürlich die aktuelle Version (z.Zt 1.2.6.0) sein. Mein aktuelles Verzeichnis, in dem die Dateien sind, habe ich mal angehängt, ich weiss allerdings nicht, wie es mit 64-Bit steht (meine Rechner laufen alle noch mit 32-Bit).
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.