Hallo zusammen, ich habe jetzt schon einige Zeit mit Suchen verbracht, aber inzwischen bin ich mehr verwirrt, als das ich eine Idee hätte, wie ich folgendes bewerkstelligen kann: Ich habe ein Arduino UNO Board, mit dem ich eine kleine Schaltung auf einem Steckbrett aufgebaut habe. Nun möchte ich diese Schaltung mit einem ATMega8 auf Lochraster aufbauen und das Arduino Programm auf den ATMega8 bringen. Geht das überhaupt? Und wenn ja wie? Bisher habe ich direkt mit avr-gcc, avrdude und ISP gearbeitet. Freue mich auf einen Schubser in die richtige Richtung Gruß Matthias
Zuerst musst du den Bootloader auf den mega 8 brennen. Den findest du im Hardware von Arduino. !!! Du musst wirklich den für den atmega8 und nicht für einen anderen nehmen, sonst gehts nicht. !!! Du kannst das Arduino ISP Sketch draufladen und dann mit AVRDUDE flashen. Über Arduino mit " Burn Bootloader " gings bei mir nicht, ich habs zum schluss mit dem mysmartusb light (15€) gemacht. Dann einfach gnd, vcc und tx und rx verbinden oder den mega 8 ins Arduino board einsetzen und normal draufladen. Du musst aber bei board ng oder older auswählen, weil nur bei denen der atmega8 eingetragen ist.
Danke für die schnelle Antwort. :) Nur damit ich das richtig verstehe: 1) Arduino als ISP verwenden (ISP Sketch verwenden) 2) Atmega8 mit Standard ISP beschalten 3) ATMega8 Bootloader mit Arduino ISB brennen 4) Arduino board RX/TX mit ATMega8 TX/RX verbinden und Programm hochladen Richtig?
3) jep, sollte mit avrdude recht gut gehen. (du kannst auch irgendeinen anderen ISP programmer nutzen wenn du einen rumliegen hast) 4) jap, entweder den Atmega328p rausnehmen und mit juper Kabeln den Atmega8 dranhängen oder den Atmega8 gleich dort reinsetzen wo der Atmega328p war. (richtig rum reinstecken, auf die Kerbe auf einem Ende achten !) Also stimmt eh wie du es gesagt hast, ansonsten viel spaß noch :)
Ich habe die SMD Variante, kann den 328 also nicht rausnehmen, sollte aber trotzdem so gehen, oder?
Uh, naja, ausser Schritt 4. Der Computer würde versuchen auf beide Atemags ein Programm auf den Bootloader zu bringen und beide würden antworten. Das kann eigentlich nur Fehlermeldungen bringen usw. Du kannst das Programm aber normal mit einem usb/seriell wandler auf den bootloader bringen.
Soweit so gut. Bootloader brennen hat geklappt. Sagt jedenfalls die Arduino IDE. Das Programm über den Bootloader seriell brennen klappt nicht, ich bekomme stets die Meldung: avrdude: stk500_getsync(): not in sync: resp=0xfc Ich habe einen USB-Seriell Adapter verwendet und die Leitungen RxD, TxD und GND mit dem ATMega verbunden. Den ATMega habe ich normal über 5V versorgt und mit einem 16Mhz Quarz betrieben. In Arduino habe ich als Board Arduino NG or older w/ ATmega8 aingestellt. Weiss da jemand weiter?
Vielleicht kommt die Software mit den USB-Seriell adapter nicht klar. Du kannst den externen AVR parallel zum SMD Chip des Arduino Boardes an Rx und Tx anschließen. Dann sorgst DU noch dafür, dass der Reset Pin des SMD hips permanent aktiv ist, dann sind dessen Rx/Tx Leitungen ständig inaktiv.
Ldier bin ich zu keinem Ergebnis bekommen. Ich bekomme stets die Meldung avrdude: stk500_getsync(): not in sync: resp=0x00 Ich bin auch hiernach vorgegangen http://arduino.cc/en/Tutorial/ArduinoToBreadboard Das hier habe ich auch probiert: http://electronics.stackexchange.com/questions/30999/how-can-i-fix-an-avrdude-not-in-sync-error-when-programming-arduino-via-usb-to-s > Dann sorgst DU noch dafür, dass der Reset Pin des SMD chips permanent aktiv ist Ist er das nach der Schaltung in erst genanntem Link nicht sowieso? Mir kommt es so vor, als ob der Bootloader nicht funktioniert, auch wenn die ArduinoIDE behauptet der sei korrekt installiert worden. Weiterhin ist mir nicht ganz klar, ob ich den USB-nach-seriell-Adapter direkt an die RX/TX Leitungen des ATMega8 anschliessen kann. Ist da nicht ein MAX232 vonnöten?
Matthias P. schrieb: > Den ATMega habe ich normal über 5V versorgt und mit einem 16Mhz Quarz > betrieben. Hast du den 16MHz Quarz nur angeschlossen oder auch als Taktquelle aktiviert?
Nicht explizit. Ich habe nur den Bootloader wie hier beschrieben: http://arduino.cc/en/Tutorial/ArduinoToBreadboard auf den Mega8 gebrannt.
So, ich hab's nochmal durchgekaspert und den Bootloader per ISP manuell auf dem ATMega8 installiert. Fuses habe ich dann auch mal für den 16MHz Quarz gesetzt. Ich kann weder direkt per USB-Seriell-Adapter noch per Arduino Board den Sketch über den Bootloader installieren. Es läuft immer auf einen Timeout oder bekannte Fehlermeldung hinaus. Ich hake das hiermit ab und werde künftig den altbekannten Weg über avr-gcc, avrdude und isp gehen. Dank trotzdem an alle für eure Hilfe. PS: Will jemand ein Arduino UNO haben?
Warum sagt mir eigentlich keiner, daß ich das Hex File, welches aus Arduino rausfällt auch manuell per ISP brennen kann und den Bootloader gar nicht brauche? ;)
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.