Guten Morgen. Wenn ich mein AVR Studio starte, will Studio eine debug-Plattform mitgeteilt bekommen. Ich würde gerne einen Arduino 2560 verwenden, der per Bootloader und USB an meinen Rechner angeschlossen ist. Was muss ich denn da auswählen? Grüsse Robert (Köln: Schneefall, -1.8 °C Brrr!!)
Du kannst deinen Arduino nicht direkt über das AVR-Studio mit dem Bootloader programmieren. Du schreibst dein Programm im AVR-Studio für den 2560, kompilierst und überträgst dann das *.hex File mittels avrdude oder einfacher XLoader http://xloader.russemotto.com/ auf deinen Arduino.
Hallo, bin ein ziemlicher Frischling was microcontroller und Avr Studio angeht. Hab aber eine ähnliche Frage. Zumindest falls ich die Frage oben richtig verstanden habe. Ich habe einen Arduino Leonardo mit Atmel atmega32u4(-au) über usb am computer angeschlossen. Mit der Arduino eigenen Programmierumgebung hab ich es auch schon geschafft ein bisschen zu experimentieren. Jetzt wollte ich mal ausprobieren ob ich über AVR Studio (Ver.6) den Controller direkt in C programmieren kann. In AVR wird soweit ich das sehe im Untermenü "Device programming" von Tools der Controller eingestellt. Im Menü "Add STK500..." kann ich den Port an den er angeschlossen ist auswählen(bei mir COM 13). Im "device programming" Menü kann ich dann zwar den Anschluß(Treiber) STK 500 auswählen, jedoch gibt es im Controller Menü den besagten Atmega32U4 nicht. Die eigentlich Frage: Mach ich etwas falsch oder ist es über den direkten Weg nicht möglich den Arduino bzw. konkret diesen Controller in AVR einzubinden? Ich habe natürlich noch vor alles genau zu studieren aber ich wollte einfach schon mal im voraus sehen ob die Verbindung besteht ohne überhaupt Kenntnisse über das Programm zu haben. Ist nicht Ideal aber da hat die Freude mit eine Rolle gespielt. Grüße Thomas Freu mich schon mal über Antworten und Hilfe
Thomas Koppany schrieb: > Die eigentlich Frage: Mach ich etwas falsch oder ist es über den > direkten Weg nicht möglich den Arduino bzw. konkret diesen Controller in > AVR einzubinden? Die Arduino haben alle einen 'Bootloader' im MC, der es ermöglicht, Sketche aus der Arduino Umgebung in den MC zu programmieren. Da das eine Arduino Eigenheit ist, ist Studio 6 darauf nicht vorbereitet. Du schreibst also dein Programm in Studio 6 und benutzt dann das o.a. Hilfsprogramm für Arduino, um das HEX File, das dir AS6 beim Kompilieren produziert hat, in den Arduino zu laden. Wenn du ein Programmer hast, ist das etwas anders. Hier kannst du den Arduino direkt per ISP/PDI programmieren. (Dafür ist auf den Arduinos der 6-pol ISP Header) Dabei geht allerdings im Normalfall der Arduino Bootloader verloren.
Auf + Atmel Studio 6 ist das Buch "Powerprojekte mit Arduino und C" aufgebaut. (ISBN 9783645651318. Denke, das könnte eine Anleitung für Dich sein.
Voreerst dankschön für eure Informationen und Hilfe. Wie gesagt bin ich ein Neuling und will euch nicht wegen jeder Kleinigkeit nerven. Solche Sachen wie ISP/PDI sind mir unbekannt. Aber der Hinweis das Programm in AVR zu schreiben und dann in HEX Form in der Arduino Umgebung zu übertragen ist schon mal sehr hilfreich. Meinst du mit Programmer einfach eine Programmierumgebung für c ? Auch für den Literatur Hinweis ein Dankeschön. Grüße Thomas p.s. zu lernen klein Anzufangen ist manchmal ganz schön schwer zu akzeptieren, aber wie ein Arbeitskollege gesagt hat, ich darf nicht erwarten in einem Jahr ein Betriebssystem programmieren zu können.
ISP heisst InSystemProgrammer. Das bedeutet, dass du mit einem Programmer den Chip im System programmieren kannst. Einfachster Programmer, der mir bekannt ist, ist der USB-Prog. Zu kaufen im Shop hier. Gruss Robert
Hubert G. schrieb: > Du schreibst dein Programm im AVR-Studio für den 2560, kompilierst und > überträgst dann das *.hex File mittels avrdude oder einfacher XLoader > http://xloader.russemotto.com/ auf deinen Arduino. Thomas Koppany schrieb: > Die eigentlich Frage: Mach ich etwas falsch oder ist es über den > direkten Weg nicht möglich den Arduino bzw. konkret diesen Controller in > AVR einzubinden? Oder du machst so wie der Martin hier ganz schön beschrieben hat: Beitrag "USBasp unter AVRStudio 5 oder 6 verwenden - Anleitung!" Arguments soll angepasst werden: Statt -c USBasp muß -c arduino rein Gruß Thomas
Hallo mal wieder, wollt kurz mal die Frage in den Raum werfen wie das mit dem ISP funktioniert. Hab jetzt auch diese besagten 6 pin Anschluß bemerkt und auch wie schon beschrieben gelesen das dieser besagte Bootloader verloren gehen kann. Wenn ich es richtig verstehe, nachdem was ich im Internet gelesen habe, wird über ISP der ATmega32 Chip direkt programmiert. Ist das richtig? Logischerweise heißt das, das ich alles so verwenden kann wie vorher nur das diese Arduino Programmierumgebung(Wenn ich richtig verstehe wird sie als IDE bezeichnet) nicht mehr nutzbar ist für das Board dafür ich aber direkt z.B. eben aus Atmel AVR Studio den Chip programmieren kann. So wie ich hier gehört habe kann ich nur über dieses ISP gehen wenn ich ihn in AVR Studio programmieren möchte. Richtig? Oder gibt es eine alternative über vorhandenen USB Anschluß? Wie wird das Board über den 6 pin ISP Anschluß mit dem PC verbunden? Danke für eure Hilfe und Geduld. Und jetzt eine Gute Nacht Grüße Thomas
Hallo, du brauchst einen Programmieradapter. Einfachste Lösung: USB-Prog, im Shop dieser Seite zu kaufen. Dieser verfügt über einen usb-Anschluss, der an den PC kommt, sowie einige Anschlüsse, die zu den Pins des ISP-Anschlusses korrespondieren. Ein in zB C geschriebenes Programm kann einfach in den Arduino programmiert werden. Diesen Vorgang kann man auch beliebig wiederholen. Das Programmieren geschieht zB mit AVRDUDE (Ein PC Programm ). Nach einem Programmiervorgang kann man den Arduino nicht mehr püer USB Programmieren. Das kann man erst wieder, wenn man den entsprechenden Boozloader programmiert, auch das geschieht mit USB-Prog. Danach kann man dann Arduino-Software verwenden, um zu brennen. Auf das eclipse plugin sei hingewiesen.
Hallo, danke für die Erklärung. Ich bin jetzt soweit das ich anfangen könnte. Könnte... Aus dem Geschäft hab ich mir eine AVR Dragon USB Programmer besorgt (zusätzlich hat mir ein Kollege einen AVR Butterfly Microcontroller geschenkt. funtkionierend). Der AVR Dragon wird problemlos erkannt. Sowohl in Windows als auch in AVR Studio(logischerweise). Anfänglich war mir nicht ganz klar das der Arduino über ISP eine externe Stromversorgung benötigt. Ok - erledigt. Er wird erkannt - ok. Auf Anraten von Manni hab ich mir auch gleich das besagt Buch "Arduino und C" gekauft und macht auf den ersten Blick auch einen sehr guten Eindruck. Wieder ein Lob an Amazon. Nur mal zu sehen ob alles läuft hab ich mal das erste Programm mit dem Blinklicht in AVR (ab)geschrieben. Debuggen läuft an wenn ich starte und ein vorheriges Programm das noch von der Arduino eigenen IDE stammt wird auch kurz unterbrochen und die LED an Pin 13(bzw. beim Leonardo auch onboard) reagiert, aber kurz darauf wird in AVR die auf dem Bild gezeigte Fehlermeldung ausgegeben. Auch bei der anfänglichen Geräte Auswahl ist es so das der Controller gefunden wird, er sich auslesen lässt aber sobald ich das Fenster schließe kommt der "Gerät wurde entfernt" Ton von Windows. Bei dem AVR Butterfly Controller das gleiche. Was mache ich falsch? Grüße Thomas Was heist eigentlich erst nach dem ich den Bootloader wieder programmiert habe kann ich mit der Arduino Software(IDE) wieder arbeiten, konkret brennen? Der ganze Satz ist mir klar, um wieder mit IDE zu nutzen muß ich den Bootloader neu programmieren, aber das letzte Wort "brennen" ist mir nicht ganz eindeutig. Heist soviel wie in den Chip brennen? so wie den Controller dauerhaft programmieren(zumindest bis man ein neues Programm überträgt) ??? Andere Frage - Kann ich ein in AVR Studio geschriebenes Programm zum Arduino übertragen, so das der Chip die Programmierung auch nach Verlust der Spannung nicht verliert. Könnte grade dieser Vorgang brennen bedeuten !? ps: Ich weis ist viel Text aber ich will mein Problem möglichst genau Beschreiben.
Thomas Koppany schrieb: > aber das letzte Wort "brennen" ist mir > nicht ganz eindeutig. Das ist ein alter Begriff, als noch PROMs verwendet wurden. Die Betriebsspannung lag bei 5V. Programmiert wurde mit 12,5V; 21V oder 25V (soweit ich weiß). Ein PROM besteht im Grunde genommen aus vielen Sicherungen. Programmiert wurde, indem die Sicherugen durchgebrannt wurden. Daher der Begriff "brennen".
Danke. oha, hört sich ja barbarisch an. Du meinst bestimmt die alten PROM´s die oben noch das kleine Glasfensterchen hatten. Oder ? Die man mit, ich glaub UV licht, auch löschen konnte??
Glasfenster hatten die EProms. Bei EPROMs konnten diese Sicherungen durch UV-Licht wieder "repariert" werden. Das "E" in EPROM steht für "eraseable", also löschbar. ROMs wurden bereits im Herstellungsprozess "programmiert". Dies heißt auch "maskenprogrammiert". PROMs konnten einmalig "gebrannt" werden. Ein Löschen war nicht möglich. Diese hatten auch kein Glasfenster. EEPROMs kann man mittels Spannung löschen. Der Flash im AVR ist ähnlich, nur dass man bei einem EEPROM jede Speicherzelle einzeln löschen, bei einem Flash aber nur ganze Blöcke löschen (bzw auf 1 setzen, also reparieren) kann. Alle dieser Speicher verlieren beim Abschalten der Betriebsspannung den eingebrannten Inhalt nicht. Ein RAM lässt sich jederzeit ohne speziellen Löschvorgang überschreiben. Jedoch überlebt der Inhalt keine Abschaltung der Betriebsspannung.
Danke, den größtenteil von dem was du geschrieben hast war mir schon klar(soll nicht überheblich klingen). Dann hab ich das verwechselt. Nicht falsch verstehen, will echt nicht klugscheißerisch erscheinen. Das mit dem einmaligen brennen war mir nicht klar. Allerdings hoffe ich das mir noch jemand bei meinem eigentlichen Problem helfen kann. Weist du da vielleicht irgendwas?
Jetzt kommt noch dazu das mir in atmel studio angezeigt wird das der dragon nicht über isp programmieren kann, stattdessen soll ich Programmiermethode in Jtag ändern. Nach den Daten die ich habe kann der in isp, jtag, ocd, pdi programmieren. Bei dem Arduino microcontroller sagt mir atmel studios das die aktuelle asf version den chip(mega32u4) nicht unterstützt. Daher kann ich scheinbar den arduino(zumindest Leonardo) wohl komplett vergessen. Ich hoffe ich täusche mich. Bin grad ziemlich am Verzweifeln. Zwei Boards, und krieg keines zum laufen. Ich hoffe das ich noch etwas Hilfe bekomme ob ich einfach Pech habe, zu blöd bin oder irgendwas mißverstehe bzw. übersehe. Grüße Thomas und gute Nacht
Ich habe es in den Antworten nicht gefunden und dachte, ich erwähne es mal: die Arduino-Umgebung ist auch "C", sogar "C++". Auch wenn alles stark vereinfacht ist, so steckt dahinter doch wider nur gcc... .
kein Problem kannste ruhig erwähnen. Informationen zu erhalten ist ein grundsätzlicher vorteil zum überleben. Das mit Arduino und hab ich schon etwas vermutet aber wie du selber sagst stark vereinfacht. Wenn dann möcht ich schon gern in c beginnen und nicht "c ultra light" :) . Wissen ist Macht
Hubert G. schrieb: > Du kannst deinen Arduino nicht direkt über das AVR-Studio mit dem > Bootloader programmieren. > Du schreibst dein Programm im AVR-Studio für den 2560, kompilierst und > überträgst dann das *.hex File mittels avrdude oder einfacher XLoader > http://xloader.russemotto.com/ auf deinen Arduino. Toller Tipp!!!! Schon gebunkert. :-)
Nee nee, Arduino ist nicht "C Ultra Light", Arduino ist nur ne vereinfachte IDE, die eine simple Verbindung zu den Board herstellt. Programmieren tust Du in C++, auch wenn die allgemein veröffentlichten Beispiele wie eine Basic Abart aussehen. Wenn Dir der Editor zu simpel ist, dann kannst Du auch einen anderen Editor nutzen. Also, Arduino IDE ist vollständiges C++. Falls es Dir also nur darum geht, in C zu programmieren und du die Ardunioplatine schon hast, dann ist das der einfachste Weg.
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.