ich habe vor kuzem ein Lernpaket von Franzis (Arduino Freeduino Board). Nach einiger Zeit Eingewöhnung habe ich mein erstes Projekt (Ansteuerung von Lichtsignalen bei der Modelleisenbahn) fertig. Dann habe ich mir einen Atmega 168 gekauft und wollte den Bootloader brennen. Also alten 168 raus und neuen 168 aufs Board. Brennversuch mit Arduino 0022 und 0018 vergeblich. Bei beiden Versionen tauchen die selben Fehlermeldungen auf (Sinngemäß die Zelle 0x00 ist falsch beschrieben. Nun habe ich einen Programer my_avr MK2 USB. Auch diesen kann ich als Brenner in Arduino anwählen. Hier meldet Arduino einen Time out. Und zu guter letzt noch einen Versuch: Das Blinkprogramm auf den Original 168 laden, mit dem my_AVR als Hex File sichern und auf den neuen 168 brennen o.k. Problem: Die LED blinkt aber nicht wie im Original im 2 sec Takt sondern im 10sec. Takt. Hat jemand eine Idee?
Bei der Übertragung mithilfe mit Hilfe des my_AVR MK2 USB (oder einer von Atmel angebotenen ISCP Lösung) wird der gesammte Flash ausgelesen. Also Sketch und Boodloader. Das so abgespeicherte Hexfile enthält, wenn vorher ein Blinkled Sketch auf dem Original Atmel geladen war, auch dieses. Beim anschließenden Brennen des neuen Atmel wird der gesammte Flash entsprechend des Hexfiles gebrannt. Jedoch ohne die Fusebits. Anschließend sind Sketch und Bootloader auf dem neuen Atmel.
Nur wenn man schon einen ISP hat, dann kann man den Bootloader auch gleich weglassen. Vor allem weil ein MKII mit 4 MHz flashen kann. Da kommt der Bootloader niemals hinterher. Bis der anfängt zu erkennen, daß es losgeht ist der MKII schon fast fertig.
Nur wenn man schon einen ISP hat, dann kann man den Bootloader auch gleich weglassen. Vor allem weil ein MKII mit 4 MHz flashen kann. Da kommt der Bootloader niemals hinterher. Bis der anfängt zu erkennen, daß es losgeht ist der MKII schon fast fertig.
Dazu habe ich eine Frage. Wie geht das mit Arduino? Wo finde ich die Hexfiles, falls Arduino solche erstellt. Ich kann das MKII zwar als Bootloader Brenner auswählen nicht aber als Arduino Bord zu übertragen der Sketches.
noch funktioniert es nicht. Ich muss wohl noch ein bischen probieren. Leider ist der Link zur Einbindung anderer Hardware auf der Arduinohompage nicht mehr aktuell. Ich gelange da auf eine neue Übersichtsseite und habe noch keine vernünftigen Parameter für die Einbindung des MKII gefunden.
Hab's jetzt auf die Schnelle nicht ausprobiert ob es noch klappt weil ich die IDE nur noch sehr selten verwende, aber es hat bei mir schon mal mit folgenden Einstellungen geklappt:
Achtung: das ist für Ubuntu Linux. Für Windows sind vermutlich andere Einstellungen bei ".communication" nötig. Mußt Du wohl etwas Googlen. Schreib Deine Erkenntnisse in den Thread damit andere das davon auch profitieren.
Nachtrag: wenn es nicht klappen sollte schauen was von folgenden Aktionen funktioniert bzw. auf welche Weise schief geht:
AVR Studio erkennt Programmer
ISP Geschwindigkeit auf 250kHz drosseln.
AVR Studio kann Arduino Controller Signatur lesen
ISP Geschwindigkeit hochstellen auf 1MHz
AVR Studio kann Arduino Controller Signatur lesen
ISP Geschwindigkeit hochstellen auf 2MHz
AVR Studio kann Arduino Controller Signatur lesen
ISP Geschwindigkeit hochstellen auf 4MHz
AVR Studio kann Arduino Controller Signatur lesen
ISP Zurückstellen auf die höchste Geschwindigkeit die noch erlaubt hat die Signatur zu lesen
Optional: herausfinden wo genau die Grenze ist
Arduino Bootloader aus Arduino IDE flashen
Mit Avrdude eine Verbindung zum Controller herstellen
/usr/bin/avrdude -t -p m328 -P usb -c avrispmkII
13b) ggf. andere Einstellungen nach -p (=part = Teil) bzw. -P (=Path = Pfad) versuchen
Arduino IDE boards.txt richtig einstellen
Versuchen ob die Arduino IDE richtig flasht
Wenn die Schritte vorher nicht klappen, dann wird es mit der IDE eher schwierig. Bei mir geht das alles problemlos, aber ich habe da mittlerweile auch ziemlich viel Übung.
danke für die Tips.
1 - nein Der my_AVR MKII wird unter AVRISP angesprochen (die entsprechenden LEDs blinken). Es erscheint die Fehlermeldung conectet Fehler. Sorry aber ich bin nicht so gut im Neudeutsch.
Ich babe nicht den Programmer AVRMKII von Atmel sondern den my_AVR MKII. Sie sollen laut Beschreibung kompatibel zu AVR910 und AVR911 sein. Aber vielleicht ist genau das ein Problem.