Im Thread "Erstes µC Projekt fertiggestellt" hatte ich von meiner Sorge mit der Programmierung eines standalone 328er berichtet. Nachdem der vorgeschlagene Weg, den nackten Controller mit dem Arduino Uno Board zu bespielen über ISP nicht funktioniert hat, habe ich mir den AVRISP mkII gekauft. Diesen habe ich angeschlossen, nachdem ich die AVR Studio 5 auf meinem Rechner installiert hatte. Dieses Programm hat den Programmer sofort gefunden und ich konnte relativ schnell den bespielten 328er, der auf dem Uno Board steckte auslesen. Ich hatte tatsächlich den Eindruck, jetzt wirklich im Controller zu arbeiten. (ARDUINO macht das ja zum Glück unnötig!)
Jetzt war meine Idee, mit der Arduino Software 1.0 über den Programmer AVRISP mkII meinen standalone 328er zu programmieren. Doch leider funktionierte das nicht, die ARDUINO Software fand den Programmer nicht. Erkennbar war das daran, dass ich zwar den Programmer und das zu bespielende Board auswählen konnte, jedoch kein USB Port auswählbar war (normalerweise wird meine USB-Schnittstelle als COM3 angezeigt). Also wieder einen Schritt zurück.
Nachdem ich im Netz gelesen habe, das man den AVRISP entweder mit dem AVR Studio oder mit der ARDUINO Software verwenden kann, aber niemals gleichzeitig mit beiden, war ich verzweifelt. Aber nach nochmaliger Netzrecherche fan ich einen Weg. Wenn man in der ARDUINO Software das Programm mit "Verify" kompiliert, schreibt ARDUINO ein HEX-File in einen temporären Ordner. Dieses HEX-File habe ich mit dem AVR Studio auf den nackter 328er gebrannt, und es hat tatsächlich funktioniert.
Nun kämpfe ich mit dem Anschluß meines LCD an meinen 328er, aber ich denke das kriege ich auch noch hin!
Du musst einen alternativen Treiber für den MK2 benutzen, wenn du ihn aus der IDE heraus benutzen willst. Den Treiber findest du im Arduino-Verzeichnis unter hardware\tools\avr\utils\libusb.
Ach ja, nicht vergessen, den zu programmierenden µC mit Spannung versorgen, der 5V-Pin des MK2 liest nur die Spannung aus, liefert also keine Targetspannung.
Nachdem was ich im Netz gelesen habe, ist die gleichzeitige Nutzung des AVRISP mkII unter AVR Studio und unter ARDUINO 1.0 nicht möglich, weil sich beide Treiber gegenseitig behindern. Ich möchte jetzt auch nicht wirklich den Treiber für die ARDUINO Software installieren um dann festzustellen, dass die Programmierung über das Studio nicht mehr funktioniert.
Ich werde künftig das Arduino Board mit ARDUINO direkt bespielen, und Atmega im jeweiligen Projekt über ISP, AVRISP und das AVR Studio bespielen. Ist zwar etwas aufwendiger, aber da ich ja das Board zum Probieren habe, sollte es halbwegs vernünftig funktionieren!
Ich habe mir auch einen AVRISP MKII angeschafft.
Eventuell hilfts ja jemandem:
Leider funktioniert der arduinoeigene Treiber nicht unter Win7 64 Prof.
Hier: AVRISP mkII libusb drivers for Windows 7 / Vista x64 | MightyOhm
habe ich einen funktionierenden Treiber gefunden.
Sketch oder Bootloader aufspielen klappt prima (direkt aus der Arduinosoftware heraus).
Soo viel schneller ist die Datenübertragung jetzt auch nicht - oder muß ich den MKII mit dem Originaltreiber dementsprechend umkonfigurieren?
Ein Vorteil ist, das ein Terminalprogramm (Putty / Hterm) nichtmehr geschlossen werden muß um einen Sketch übertragen zu können.
Ohne Bootloader ist so ein Arduino wirklich schnell gestartet, einfach nur den Sketch über den MKII übertragen - schon ist der Bootloader wech.
Jetzt würde ich gerne mal den Atmega ohne Quarz laufen lassen, schade, das sich die Fuses nicht gleich in der Arduinosoft ändern lassen.
Wenn man per Arduino IDE den Bootloader flasht werden automatisch die Fuses richtig gesetzt. D.h. solange Du nur Arduino machen willst brauchst Du selbst bei nackten Chips AVRStudio nicht.
Davon abgesehen kannst Du zur Not Arduino auch unter Linux laufen lassen. Dazu muss man nicht einmal neu booten, Linux kann auch in einer VM laufen und VMWare gibt den Player für private Nutzung für lau.
Sicherlich könnte ich das alles auch mit meinem alten Rechner und dem selbstgelöteten parallelen ISP machen.
Wäre zumindest ein Workaround.
Aber wo doch jetzt schon so ein schickes Atmel MKII Döschen meinen Scheibtisch ziert
Ja, das stimmt.
Aber ich will ja gerade die Fuses "falsch" stellen, damit der Atmega auch ohne Quarz läuft.
Oder brauchts dazu auch einen angepassten Bootloader?
SaschaW:
Jetzt würde ich gerne mal den Atmega ohne Quarz laufen lassen, schade, das sich die Fuses nicht gleich in der Arduinosoft ändern lassen.
Lena:
Um die Fuses zu setzen gibt es doch etliche Möglichkeiten.
AVR-Studio z.B. oder eine der vielen GUI für avr-dude wie z.B. Burn-o-mat
Ja, aber was davon verträgt sich mit dem Treiber?
ArduStemmi:
Nachdem was ich im Netz gelesen habe, ist die gleichzeitige Nutzung des AVRISP mkII unter AVR Studio und unter ARDUINO 1.0 nicht möglich, weil sich beide Treiber gegenseitig behindern. Ich möchte jetzt auch nicht wirklich den Treiber für die ARDUINO Software installieren um dann festzustellen, dass die Programmierung über das Studio nicht mehr funktioniert.
SaschaW:
Jetzt würde ich gerne mal den Atmega ohne Quarz laufen lassen, schade, das sich die Fuses nicht gleich in der Arduinosoft ändern lassen.
Doch, das geht eigentlich ganz einfach. Du kannst die Datei boards.txt editieren und dort die Fuses manuell eintragen. Am besten du kopierst dir einen Block (also den eines bestimmten Boards), änderst den Namen (z. B. auf "Atmega328 int.") und nimmst die Anpassungen der Fuses vor. Dann erscheint in der Boardauswahl auch dein nackter Mikrocontroller.
Danke für die Unterstützung, ich stell mal meinen Versuch (modifizierter Auszug aus boards.txt) hier ein.
Zielsetzung ist ein Atmega, der ohne Quarz läuft.
Wenn keiner schreit, lass das blos - dann werde ich mal einen Versuch starten.
Hallo zusammen,
ich hab mittlerweile auch den AVRISP mkII und wollte den 328P-Pu auf dem Arduino Duemilanove mithilfe Arduino IDE programmieren.
Habe den auch die Treiber von SaschaW unter AVRISP mkII libusb drivers for Windows 7 / Vista x64 | MightyOhm installiert da ich Win 7 Professional 64bit habe. Die Version der Arduino IDE ist 1.0.3.
Nach Datei -> Upload mit Programmer bekomme ich immer diese Meldung:
Binäre Sketchgröße: 6.162 Bytes (von einem Maximum von 30.720 Bytes)
C:\Program Files\arduino-1.0.3\hardware/tools/avr/bin/avrdude -CC:\Program Files\arduino-1.0.3\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -cstk500v2 -Pusb -Uflash:w:C:\Users\maexel\AppData\Local\Temp\build7099265919451142835.tmp\lamp.cpp.hex:i
avrdude: Version 5.11, compiled on Sep 2 2011 at 19:38:36
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "C:\Program Files\arduino-1.0.3\hardware/tools/avr/etc/avrdude.conf"
Using Port : usb
Using Programmer : stk500v2
avrdude: usbdev_open(): did not find any USB device "usb"
Das richtige Board und den richtigen Programmer auch.
Der Eintrag unter programmers.txt im Arduino-Verzeichnis sieht so aus:
Hallo,
Ich taue das hier mal wieder auf. Ich müsste auch einen 328er programmieren und suche dafür einen Programmer. Eigentlich wollte ich mir diesen Programmer bei Reichelt bestellen hab aber dann in der Beschreibung folgendes gelesen:
• Softwareunterstützung:
AVR Studio (COM1..COM9) maximal bis Version 4.18
AVRDUDE
Bascom mit der Einstellung Options->Programmer = STK500: C:ProgrammeAtmelAVR ToolsSTK500stk500.exe und installiertem AVR Studio
Ist das auf die COM Schnittstellen bezogen oder funktioniert der Programmer nur bis Version 4.18?
Installiert habe ich AVR Studio 6, brauche ich dann eine ältere Version?
Ja stimmt hab das Amtel Studio, schnell mal verwechselt.....
Danke! Dann versuche ich mal mein Glück damit,hab sowas noch nie gemacht. Ich will aber auch nur ein fertiges Programm hochladen, das müsste doch als Laie machbar sein, oder?
Ja, den Programmer musste dann einmal als neuen Programmer einrichten in Atmel Studio. COM Schnittstelle sollte durchgehend identisch bleiben, nicht wechseln, ansonsten musst du einen neuen Programmer wieder einrichten.