Hallo, auf der Arduino-Seite finden sich Hinweise, wie man einen typgleichen AVR mit Hilfe eines Arduino per ISP programmieren kann. Aber gibt es auch die Möglichkeit, aus dem Arduino einen Universal-Programmierer zu machen? Ich würde gerne mit dem Arduino anfangen, kenn mich aber auch etwas mit den "normalen" AVRs aus. Ich stelle mir also vor, auf meinem Rechner mit dem GCC ein Hexfile zu kompilieren und das dann mit dem Arduino auf den AVR zu bringen. Weiß jemand, ob es ein entsprechendes Projekt gibt? Ich kenne den ISP-Programmierer von Thomas Fischl, hab es aber nicht geschafft, diesen nachzubauen (bzw. nachbauen schon, aber als er dann nicht funktioniert hat, hab ich es einfach aufgegeben). Viele Grüße, Philipp
möglich ja...nur ich würde dir da als anfänger ABSOLUT von abraten, denn nichts ist frustrierender als wenn man seine software nicht in den controller downloaden kann....daher mein rat: investiere 40€ in einen originalen AVR ISP MKII - der kann alle gängigen AVRs programmieren und funktioniert zu 100% im ggs. zu vielen nachbauten. ansonsten: das ISP protokoll vom atmel ist dokumentiert (in den datenblättern ganz am ende oder auf der avr website). du kannst dir aber auch einfach einen beliebigen avr programmer mit verfügbaren quelltext nehmen und versuchen das auf den arduino zu bringen ... wird einiges an arbeit für die du definitiv ein oszilloskop (mehrkanal) oder einen logic-analyzer benötigst!
philipp schrieb: > auf der Arduino-Seite finden sich Hinweise, wie man einen typgleichen > AVR mit Hilfe eines Arduino per ISP programmieren kann. Aber gibt es > auch die Möglichkeit, aus dem Arduino einen Universal-Programmierer zu > machen? Nein. Jedenfalls nicht so ohne weiteres. > Ich würde gerne mit dem Arduino anfangen, kenn mich aber auch > etwas mit den "normalen" AVRs aus. Ich stelle mir also vor, auf meinem > Rechner mit dem GCC ein Hexfile zu kompilieren und das dann mit dem > Arduino auf den AVR zu bringen. Ich verstehe nicht genau, was Du meinst. Willst Du am Ende einen beliebigen AVR-Controller in einem beliebigen anderen Board programmieren, mit einer Datei, die mit einem beliebigen anderen Entwicklungssystem compiliert wurde? Oder soll ein Arduino-Board mit einer Datei programmiert werden, die nicht mit der Arduino-Entwicklungsplattform erstellt wurde? > Ich kenne den ISP-Programmierer von Thomas Fischl, hab es aber > nicht geschafft, diesen nachzubauen (bzw. nachbauen schon, aber > als er dann nicht funktioniert hat, hab ich es einfach aufgegeben). Den USBASP-Programmer gibt es vom China-Versender glaube ich für 3 Euro mit 30 Tagen Lieferzeit. Dann brauchst Du noch einen 10-auf-6-Pol Adapter zum Anschließen und Du kannst die Arduino-Hardware programmieren, womit Du möchtest. Im übrigen: Wenn Du schreibst "Ich würde gerne mit dem Arduino anfangen", dann mache Dich mal frei von der Vorstellung, dass Du einen "ISP-Programmer" benötigst, um ein Arduino-Board zu programmieren. In der Arduino-Plattform sind alle Boards mit Controllern bestückt, auf denen bereits ein "Bootloader" läuft. Dadurch lassen sich Arduino-Boards aus der Arduino-Entwicklungsumgebung heraus OHNE Programmer programmieren, einfach über den USB-Anschluss. Nachteilig daran ist eigentlich nur, dass der Arduino-Bootloader immer schon ca. 2 KB vom Programmspeicher wegfrisst, so dass Du auf einem Atmega328-Board ("Uno") dann nur tatsächlich ca. 30 KB Programmspeicher zur Verfügung hast statt 32 KB. Du KANNST bei Arduino zwar Programme auch per ISP-Programmer hochladen, um beispielsweise volle 32 KB Programmspeicher auf einem Atmega328 nutzen zu können statt nur 30 KB. Aber solange Du die Arduino-Entwicklungsumgebung zum Programmieren eines Arduino-Boards verwendest, brauchst Du definitiv KEINEN ISP-Programmer.
Hallo Andi, vielen Dank für die Antwort! Auf dem Speicher hab ich auch noch das STK500v2, allerdings hab ich keinen seriellen Anschluss mehr am Rechner. Es scheint ja aber USB-Adapter zu geben, mit denen das (mit etwas Glück) funktioniert. Und damit kann ich dann endgültig ISP programmieren. Du hast auch völlig Recht, wenn man sich nicht auf den Programmiervorgang verlassen kann, dann verschwendet man schnell mehr Zeit als so den Gegenwert eines fertigen Adapters. Gruß, Philipp
@Jürgen: Meine Frage ist vielleicht missverständlich. Ich will auf den Arduino-Zug aufspringen, hab aber noch diverse "andere" AVRs auf dem Speicher liegen und es ist nicht auszuschließen, dass ich mal wieder in Versuchung komme, völlig unabhängig vom Arduino damit was zu machen. Momentan hab ich aber keine funktionierende Programmierlösung (STK500v2, aber keinen seriellen Anschluss und keinen Adapter), und die Frage war eigentlich nur, ob man aus dem Arduino sowas wie den USBASP machen kann (und es sowas fertig gibt). Gruß, Philipp
philipp schrieb: > auf der Arduino-Seite finden sich Hinweise, wie man einen typgleichen > AVR mit Hilfe eines Arduino per ISP programmieren kann. Aber gibt es > auch die Möglichkeit, aus dem Arduino einen Universal-Programmierer zu > machen? Vielleicht hast du was missverstanden? Mit Hilfe des Arduino Boards und passender Firmware drauf kannst du es als ISP für eine breite Palette an AVRs einsetzen. Siehe z.B. dieses Projekt: http://www.arduino.cc/playground/Code/MegaISP Damit wird dein Arduino zum Universal-ISP für AVRs.
So hatte ich das früher mal gemacht: Es war aber etwas nervig, bis ich unter Linux alles (z.B. das veraltete und gepatchte avrdude) richtig zum Laufen bekommen hatte. www.geocities.jp/arduino_diecimila/bootloader/index_en.html Und noch was für die Arduinoplattform: arduino.cc/en/Tutorial/ArduinoToBreadboard
@Tomm: Super, genau sowas hatte ich gesucht! Da aber auf der Seite doch einige "..., aber ..." und " ... funktioniert nicht mit ... " stehen, werd ich es zwar mal ausprobieren wenn mein Arduino da ist, mir aber über kurz oder lang doch einen richtigen Programmer zulegen oder mein STK500 fit machen. Ich glaube, was ich gelesen hatte, war, wie man es schafft, mit dem Arduino einem anderen (typgleichen) AVR den Arduino-Bootloader aufzuspielen, damit man diesen dann separat mit der Arduino-Umgebung priogrammieren kann (auch interessant, aber nicht ganz was ich wollte). Vielen Dank für eure Antworten! Gruß, Philipp
oder heute auf DangerousPrototypes gefunden: dangerousprototypes.com/2012/10/28/tutorial-arduino-as-barebones-avr-pro grammer/
philipp schrieb: > Auf dem Speicher hab ich auch noch das > STK500v2, allerdings hab ich keinen seriellen Anschluss mehr am Rechner. > Es scheint ja aber USB-Adapter zu geben, mit denen das (mit etwas Glück) > funktioniert. Also ich habe mein STK500 schon mit verschiedenen USB_RS232 Adapter probiert, funktionierte immer. Ich denke mal du verwechselst das mit den Bit-Bang-Programmer und PonyProg, dort funktioniert fast nichts. Das einzige Problem das es gibt ist, wenn dem Adapter eine zu hohe COM-Adresse zugeordnet wird. Das lässt sich aber meist leicht lösen.
Ich habs mit meinem Arduino nicht hinbekommen. Daher einfach um 15€ einen mysmart usb light gekauft, geht 1A
philipp schrieb: > Es scheint ja aber USB-Adapter zu geben, mit denen das (mit etwas Glück) > funktioniert. Und damit kann ich dann endgültig ISP programmieren. > hab aber noch diverse "andere" AVRs auf dem > Speicher liegen und es ist nicht auszuschließen, dass ich mal wieder in > Versuchung komme, völlig unabhängig vom Arduino damit was zu machen. Such im Netz mal nach "guloboard", denke, das hilft dir weiter, möglichst viele verschiedene AVRs zu programmieren. Weiß ja nicht, was du alles für Typen auf deinem Speicher findest. :-)
Marius schrieb: > Ich habs mit meinem Arduino nicht hinbekommen. Das Thema taucht hier ja regelmässig auf. Immer die gleichen Antworten, die selben Links und irgendwann läuft der Thread sich tot. Wissen alle nur, daß das irgendwie gehen soll. Aber hat das überhaupt schon mal jemand hinbekommen? mfg.
Ich habe das schon mit diversen Atmel Dinger gemacht. Das Prinzip geht so. - Atmel aufs Breadboard - MISO/MOSI/VCC/GRD/RST Pins des Atmel mit dem Arduino (nach Beschreibung!) verbinden - arduino-tiny unter 'hardware' ins Sketch-Verzeichnis kopieren. http://code.google.com/p/arduino-tiny/downloads/list - Sketch in den Adruino laden (unter Beispiele/Adruino ISP) - Atmel Programm schreiben, - Bei Tools/Beard das entsprechendes 'Board/Atmel' einstellen - in den Atmel hochladen per Menupunkt 'Arduino-ISP' Geht eigentlich ganz gut. Nachteil ist dass relativ wenige Atmels unterstützt werden. (25er, 44er, 2313er Reihe) Und von der Arduino Bib wird (noch) nicht die gesamte API unterstützt Hat ein bisschen was nerdiges. Nach dem Motto, mal schaun was man so alles machen kann ;)
philipp schrieb: > @Jürgen: Meine Frage ist vielleicht missverständlich. Ich will auf den > Arduino-Zug aufspringen, hab aber noch diverse "andere" AVRs auf dem > Speicher liegen und es ist nicht auszuschließen, dass ich mal wieder in > Versuchung komme, völlig unabhängig vom Arduino damit was zu machen. > Momentan hab ich aber keine funktionierende Programmierlösung (STK500v2, > aber keinen seriellen Anschluss und keinen Adapter), und die Frage war > eigentlich nur, ob man aus dem Arduino sowas wie den USBASP machen kann > (und es sowas fertig gibt). Den USBASP-Programmer vom China-Versender gibt es für 3 Euro. Das billigste Arduino Uno "kompatible" Board kostet 12 Euro. Welche Controller der USBASP-Programmer unterstützt, sieht man hier unter "Supported Devices": http://www.bestelecs.com/download/usbasp/USBAsp_User_Guide_eBay.pdf Ich frage mich, weshalb man ein 12 Euro "teures" Gerät dazu verwenden möchte, um mit viel Frickelei und Kosten für zusätzliche Bauteile dann am Ende und mit vielen Fragezeichen vielleicht ein 3 Euro "billiges" Gerät in seiner Funktion nachzubilden. Das dann vielleicht nur ein bis zwei der Atmegas programmieren kann, die auf Arduino-Boards verbaut sind plus vielleicht einen ATTiny Typen. Was für ein Gefrickel! Wenn Deine AVR-Controller auf dem Speicher in der "Supported Devices" Liste vom USBASP stehen, würde ich jedenfalls eher in Erwägung ziehen, die 3 Euro für so einen USBASP ZUSÄTZLICH zur Anschaffung eines Arduino-Boards in Erwägung zu ziehen. Das wäre bei einem Einstieg in die Arduino-Plattform ja spätestens dann sinnvoll, wenn Du die letzten 2 KB Programmspeicher belegen möchtest, die sonst der Bootloader belegt. Oder wenn Du die Arduino-Hardware nicht mit der Arduino-Entwicklungsumgebung programmieren möchtest.
Jürgen S. schrieb: > Welche Controller der USBASP-Programmer unterstützt, sieht man hier > unter "Supported Devices": > http://www.bestelecs.com/download/usbasp/USBAsp_User_Guide_eBay.pdf Die Geräte-Liste ist aber ausm Museum, oder? Da fehlen alle AVR, die etwas neuer als 3 oder 4 Jahre alt sind. Außerdem: bei den USBASP immer darauf achten, dass die neueste Firmware drauf ist! Sonst kannst du einige AVR gar nicht programmieren, wenn sie auf einem niedrigeren Takt laufen. Das heißt, du musst du den Programmer erst einmal upgraden, und dafür brauchst du einen zweiten Programmer. Ansonsten kann ich deinen Post aber nur unterstützen. :-)
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.