Über den Beitrag
Wenn man mit Atmel Studio (umbenannt in Microchip Studio in 2020) arbeiten möchte, braucht man zunächst einmal einen geeigneten Programmer um seine Programme vom PC auf den Microcontroller (MCU) zu laden. Die gute Nachricht ist, dass es eine ganze Reihe davon gibt, die schlechte Nachricht ist, dass die Programmer recht teuer sind, insbesondere wenn man Features wie Debugging oder HVSP (High Voltage Serial Programming) nutzen möchte.
Ich werde hier nur Programmer beschreiben, die ich selbst besitze und ausprobiert habe. Das sind die im Bild oben abgebildeten Vertreter: AVR Dragon, Atmel-ICE und der USB ISP-Programmer von Tremex / Diamex.
In separaten Beiträgen werde ich noch eine kleine Einführung in Atmel Studio 7 geben und zeigen, wie man Arduino Sketche einschließlich Bibliotheken in Atmel Studio integrieren und debuggen kann.
Welchen Programmer sollte ich mir zulegen?
Gute Frage und die Antwort hängt wie so häufig vom Budget, dem persönlichen Geschmack und vom individuell benötigten Funktionsumfang ab. Ich hoffe, dass mein Beitrag euch dabei hilft, diese Frage zu beantworten. Vorab sind aber noch ein paar Begriffserklärungen notwendig.
ISP: In-System-Programming. Das ist die Standardmethode für die Programmierung von Microcontrollern. Der Name rührt daher, dass die Programmierung im verbauten Zustand erfolgt. Die ISP Anschlüsse sind meist identisch mit den SPI Anschlüssen. Mehr zu ISP hier auf Wikipedia.
JTAG: Ein Standard der Joint Test Action Group zur Programmierung von MCUs. Nicht jeder MCU ist JTAG fähig.
debugWire: wie der Begriff schon verrät, ist mit dieser Methode Debugging möglich. Man kann Programme damit schrittweise ausführen, Breakpoints setzen und Variableninhalte verfolgen. Debugging ist prinzipiell sowohl über ISP wie auch JTAG möglich, nur muss der Programmer das auch unterstützen.
HVSP: High Voltage Serial Programming. High Voltage ist vielleicht etwas irreführend, es geht um 12 Volt. Mit dieser Methode lassen sich auch „verfusede“ MCUs wieder herrichten. „Verfused“ (allerschönstes Denglisch) heißt, dass ihr Einstellungen in den Fuse-Bits vorgenommen habt, die eine Programmierung nicht mehr zulassen. Ihr habt euch sozusagen ausgeschlossen und das ist der rettende Schlüsseldienst.
Der AVR-Dragon
Der AVR Dragon ist mein persönlicher Favorit, da er ISP, JTAG, debugWire und HVSP beherrscht und somit von den drei vorgestellten Programmern die Möglichkeiten von Atmel Studio am besten nutzt. Für ihn müsst ihr ca. 50-80 Euro auf den Tisch legen und wundert euch dann wahrscheinlich, dass ihr für euer Geld nicht mal ein Gehäuse bekommt und das Teil darüber hinaus auch noch gewissermaßen „unfertig“ ist. Beides hängt aber miteinander zusammen.
Der Dragon bietet die Möglichkeit, MCUs direkt auf ihm in der On-Board Prototyping Area zu programmieren. Das hat den Vorteil, dass man keine Schaltung auf einem externen Board aufbauen muss, wenn man z.B. nur mal eben ein paar Einstellungen ändern möchte.
On-Board Programmierung mit dem Dragon
Um die On-Board Programmierung vornehmen zu können, muss man einen Sockel für die MCUs und daneben eine Pinleiste (2 x 20) für den Zugang zum Sockel auflöten. Als Sockel nimmt man am besten einen ZIF-Sockel, bei der Pinleiste hat man die Wahl zwischen „male“ und „female“, wobei die meisten wohl „male“ nehmen. Wenn man dann noch HVSP nutzen möchte, muss man zusätzlich eine 2 x 10 Pinleiste auflöten.
Es sind also vor allem die Zugänglichkeit und die Flexibilität bei der Auswahl der Erweiterungen, die ein Gehäuse für den Dragon nicht wirklich sinnvoll machen. Ich hatte, wie man auf den Bildern sieht, im Rohzustand ein paar Abstandshalter aus Polyamid angeschraubt, damit das Board nicht direkt mit seinen Lötstellen aufliegt. Der ZIF-Sockel verdeckt leider die Bohrungen, so dass die Muttern nicht mehr passen. Allerdings habe ich festgestellt, dass die Abstandshalter auch ohne Muttern fest sitzen (siehe nächstes Foto).
Der Dragon wird – wie die anderen Programmer auch – über USB an den PC angeschlossen. Auf meinem Windows 10 System wurde der Dragon problemlos erkannt und konnte direkt in Atmel Studio 7 ausgewählt werden. Eine weitere Treiberinstallation war nicht notwendig.
Verkabelung bei der On-Board Programmierung
Für die On-Board Programmierung wird der MCU (eigentlich die MCU, weil: die Microcontroller Unit, aber fast alle schreiben der) im ZIF-Sockel fixiert. Die Ausrichtung des MCUs erfolgt entsprechend der Nummerierung, die an der Pinleiste auf dem Dragon aufgedruckt ist. Nun muss man je nach Methode und MCU Typ die JTAG-, ISP- oder HVSP Pins mit den Pins der Anschlussleiste für den ZIF Sockel verbinden. Das ist sehr übersichtlich im User Guide zum AVR Dragon schematisch dargestellt.
Praktisch sieht das dann z.B. so aus:
Externe Programmierung mit dem Dragon
Für die externe Programmierung, z.B. auf einem Breadbord, muss man darauf achten, dass man bei der Verkabelung keinen Fehler macht. Der ISP Anschluss ist folgendermaßen belegt:
Der Pin 1 ist normalerweise durch einen Punkt oder eine 1 gekennzeichnet. Trotzdem kann man sich leicht vertun. Ich empfehle deswegen in einen Breadboardadapter zu investieren, den es z.B. hier gibt oder hier als Variante mit 2×3 Pinleiste.
Des Weiteren ist zu beachten, dass der Dragon den zu programmierenden MCU nicht mit Strom versorgen kann. Trotzdem müssen VCC und GND verbunden werden, da Atmel Studio überprüft, ob die Spannung den Spezifikationsgrenzen des MCUs entspricht.
Als Spannungsversorgung verwende ich gerne solch ein praktisches Stromversorgungsmodul, das es für wenige Euros z.B. bei Amazon gibt:
Alternativ verwende ich einen 9 Volt Akku in Verbindung mit einem LM7805:
Der Atmel-ICE
Den Atmel-ICE gibt es in drei Ausfertigungen:
- Atmel-ICE Basic
- Atmel-ICE (Full Kit)
- Atmel ICE – PCBA Kit
Die Basic Variante
Die Basic Variante besteht aus dem oben abgebildeten Programmer im weißen Gehäuse, einem USB-Kabel und einem Adapter Kabel von 10-Pin 50-mil auf 6-Pin 100-mil (rot eingekreist im Bild weiter unten). Die 10-pin 50-mil Seite ist der etwas exotische Anschluss für den Atmel-ICE, die 6-Pin 100-mil Seite passt auf Standard ISP Header. Ersatzkabel kosten unverschämt viel (~20 Euro!). Ich habe mal versucht, mir die Teile für ein Ersatzkabel im Selbstbau zu besorgen – und bin gescheitert. Passt also gut auf dieses Kabel auf.
Für die Programmierung von AVR Microcontrollern per ISP reicht die Basic Variante völlig aus. Der Preis liegt bei ca. 120-130 Euro.
Die Full Kit Variante
Das Full Kit enthält lediglich zwei zusätzliche Adapter auf die ich hier nicht weiter eingehen will:
Wenn nichts dabei steht, also nur „Atmel-ICE“, dann sollte es sich um das Full Kit handeln, prüft das aber genau, falls ihr es euch zulegen wollt. Das Full Kit gibt es für ca. 180 Euro – stolzer Aufpreis für ein Kabel und ein kleines Adapterboard.
Das nackte Board – die PCBA Variante
Die PCBA Variante ist das nackte Board ohne Gehäuse und ohne weitere Adapterkabel. Das würde ich nur Bastelfreaks empfehlen. Es ist zwar schon für 80 bis 90 Euro zu haben, aber ohne Anschlusskabel nützt einem das Teil nichts.
Eigenschaften des Atmel-ICE
Der Atmel-ICE beherrscht ISP, JTAG und debugWire, aber kein HVSP. Dafür kommt er im schönen, schützenden Gehäuse. Muss jede(r) selbst wissen was ihm / ihr wichtig ist.
Wie beim AVR Dragon ist auch beim Atmel-ICE eine externe Stromquelle für den Ziel-MCU notwendig.
Auch dieser Programmer wird direkt vom PC und Atmel Studio erkannt, ohne dass Treiber installiert werden müssen. Weiterführende Informationen gibt es im User Guide.
Der USB ISP-Programmer
Der USB-ISP Programmer kann von der Firma Diamex bzw. Tremex bezogen werden. Irgendwie hängen die Firmen miteinander zusammen, aber da bin ich nicht so ganz durchgestiegen. Egal, auf Amazon findet ihr das Teil unter den entsprechenden Suchbegriffen für ca. 20 Euro. Es ist also mit Abstand der günstigste Vertreter unter den hier vorgestellten Programmern. Im Lieferumfang ist noch ein USB Kabel und ein 10 poliges Kabel für die MCU Seite enthalten.
Für den günstigen Preis muss man beim USB ISP-Programmer leider auf das Debugging verzichten. Auch HVSP ist nicht möglich. Andererseits hat dieses Modell den Vorteil, dass es den Strom für das Target liefern kann. Die Einstellung erfolgt über die Dipschalter:
- 1: ON oder OFF / 2: OFF –> Spannungsversorgung ist AUS
- 1: OFF / 2: ON –> 3.3 Volt Spannungsversorgung EIN
- 1: ON / 2: ON –> 5 Volt Spannungsversorgung EIN
Den USB ISP-Programmer von Tremex/Diamex müsst ihr zunächst in Atmel Studio integrieren. Dazu geht ihr im Menü auf
Tools –> Add Target… –> Select Tool
Wählt STK500 und den Port, dann bestätigt mit „Apply“. Das war’s auch schon.
Weitere Informationen gibt es beim Hersteller. Wenn ihr dem Link folgt , dann findet ihr dort Downloadbereich noch eine kleine Anleitung.
Auch für den USB ISP-Programmer ist ein Breadboardapter eine sinnvolle Anschaffung. Eine weiteres sinnvolles Hilfsmittel ist das ZIF-Sockelmodul (Schwenkhebelmodul) das auch von Diamex angeboten wird und für knapp 20 Euro zu haben ist. Damit lassen sich MCUs sogar noch leichter programmieren als per On-Board beim Dragon, da die Verkabelung der einzelnen Pins entfällt. Auf dem Sockelmodul ist das geschickt gelöst, indem es für jede MCU Anschlusstype eine eigene Buchse für das Anschlusskabel gibt.
Weitere Programmer
Es gibt noch mehr Programmer die mit dem Atmel Studio kompatibel sind. Weitere Übersichten dazu findet ihr beispielsweise hier oder hier.
Nachtrag Mai 2020: eine weitere interessante Alternative, auf die ich erst später gestoßen bin, ist das aTeVaL 2.0 Entwicklungsboard. Über dieses Board berichte ich hier .
Danke trotzdem nochmal für Deine Mühe! – Es hat Tage gedauert, aber ich konnte einfach nicht einsehen, warum ich mit einem so teuren Board keine popeligen ATtinys flashen konnte! Es funktioniert jetzt!
Leider war ich das Superhirn, das sich nicht die Mühe gemacht hat, die 137 Seiten lange Hardware-Doku wie ein Fuchs durchzulesen. Mit dem Einsatz der Routing-Card STK600-RC008T-2 für die kleinen 8-Beiner muss man nämlich ausnahmsweise den Jumper mit der Bezeichnung AREF0 ziehen, für alle anderen Routing-Cards gilt das nicht. Bei dieser Card hingegen liegt wohl eine Doppelbelegung vor, so dass der AREF-Pin gleichenfalls auf einem Pin liegt, der von der SPI-Schnittstelle genutzt wird. Nachdem ich diesen Jumper zog, lief alles wie am Schnürchen. Warum ich mit der HVPP-Schnittstelle trotzdem auch nicht weiterkam, (jetzt geht auch sie) will sich mir im Moment nicht erschliessen. Aber das ist jetzt auch nicht mehr wichtig. Für Interessierte: Wenn Ihr ATtinys mit einem STK600-Board flashen wollt, seht auf Seite 109 der Hardware-Doku, Punkt 7.1.2 !!!
Nochmals vielen Dank…
Hallo, vielleicht kannst Du mir netterweise weiterhelfen?:
Ich versuche verzweifelt, mittels meines Evaluation-Boards AVR STK600 ein Controller des Typs ATtiny85 zu
flashen. Das Board funktioniert sehr gut mit einer Routing-Card RC028 (für 28-beinige Controller) und der Socket-Card STK600 DIP (für bis zu 40 pol. DIPs). Einen Controller ATMEGA 328P kann ich damit sowohl über ISP, als auch über HVSP bestens bedienen, größere Projekte laufen einwandfrei. Nun erwartete ich dieselben Erfolge für
den ATtiny85. Dieser ist 8-beinig, wird mit derselben Socket-Card, aber mit einer Routing-Card RC008 (für 8-beinige Controller) am AVR STK600 – Board betrieben. Es gelingt mir aber nicht, diese zu flashen. Weder mit ISP, noch mit HVSP. Alle Einstellungen bezüglich Fuse- und Lockbits und andere Exemplare dieses Controllers enden mit der Fehlermeldung: „Verifying Flash…Failed! address=0x0000 expected=0x0e actual=0x0f“.
Nun bin ich relativ frisch dabei, konzentrierte mich eher auf die Programmierung und habe mich -weil´s mit ATMEGA 328P und ATMEGA 2560 funktionierte- um die Technik des Flashens nicht groß gekümmert, aber für
kleine Projekte möchte ich eben gerne die kleinen ATtinys einsetzen! – Im Netz kann ich nichts dergleichen finden. Habe ich ein Grundlagen-Problem?
Hallo, ich habe mal nach der Fehlermeldung gegoogelt, also „Verifying Flash…Failed! address=0x0000 expected=0x0e actual=0x0f“. Man bekommt ein paar Treffer, vornehmlich in Foren, wo Leute diesen Fehler als Problem diskutieren. Die einen raten die Spannungsversorgung des zu programmierenden Mikrocontroller zu kontollieren, andere raten, den ISP Takt herunterzuregeln. Weiß nicht, ob das hilft. Aber es scheint nicht so zu sein, dass es DEN einen bekannten Fehler gibt. Und ich selbst kann mich auch nicht erinnern, mal darüber gestoßen zu sein. Aber ich habe auch keinem AVR STK600. Hast mehrere ATtiny85 probiert? Wenn du vermutest, dass es an den Attinys liegt, dann kannst du mir gerne einen schicken. Tut mir leid, nicht besser helfen zu können.
VG, Wolfgang
Ein noch relativ günstiger Programmer ist der MPLAB Snap
ursprünglich nur für PIC, dsPIC, SAM, CEC, PIC32 MCU und MPU,
nach Modifikation werden auch Atmel Chips unterstützt:
AVR UPDI/PDI/TPI Interface Modification ETN #36
Programming
Target Voltage 1,2-5,5V
ICSP In-Circuit-Serial-Programming
2-wire JTAG
UPDI/PDI/TPI
debugWire
SPD
Debugging
real-time, full target MCU speed
HW + SW + internal events Breakpoints
stopwatch + source code file debugging
4-wire JTAG (Debug) /w streaming data gateway
SWD Serial Wire Debug /w streaming data gateway
In-Circuit-Serial-Debugging
Configures PIN drivers
nicht für Chips, die high-voltage Signale benötigen
Supported Devices List
device support list found on your PC, for example
C:\Program Files (X86)\Microchip\MPLABX\vx.xx\docs\Device Support.htm
where vx.xx is the version of MPLAB X IDE
zuerst MPLAB installieren, dann Snap verbinden
Target Board braucht eigene Spannungsversorgung
—– —– —– —– —– —– —– —–
MPLAB Snap In-Circuit Debugger / Programmer [Platine weiß]
Part Number: PG164100 €39,20
//www.microchip.com/en-us/development-tool/PG164100
—–
2019 gab es ihn auch mal bei MicroChipDirect für $7,47
—–
Software
• MPLAB X IDE 5.05 oder neuer
Windows 7 MacOS X Linux
• MPLAB IPE
User’s Guide
PDF 63 Seiten
//ww1.microchip.com/downloads/en/DeviceDoc/50002787C.pdf
MPLAB Snap AVR UPDI/PDI/TPI Interface Modification
ETN #36
pull-down R48 is part if the ICSP Protocoll.
an external and stronger pull-up may be used to override the pull-down, which would leave the ICSP functionality of of the Snap intact. But in some cases this may not be enough and pull-down R48 can be removed for AVR MCUs.
=>Remove R48 [4,7k zw. TPGD (J4-4) – GND]
=>Add R [1-10k zw. TPGD (J4-4) – TVDD (J4-2]
//ww1.microchip.com/downloads/en/DeviceDoc/ETN36_MPLAB%20Snap%20AVR%20Interface%20Modification.pdf
MPLAB Integrated Development Environment (IDE)
//www.microchip.com/en-us/tools-resources/develop/mplab-x-ide#tabs
im Register Dokumentation:
MPLAB X IDE Device Support List
PDF 62 Seiten
//packs.download.microchip.com/DeviceDoc/Device_Support.pdf
Hi, vielen Dank für die nützliche Ergänzung. Probiert habe ich das Teil noch nicht. Aber ist auch interessant, weil es UPDI beherrscht (für die neueren tinyAVR-Serien).
ah gibt es die mal wieder? Vor ein-zwei Jahren war ja alles irgendwie nicht zu bekommen.
Guten Morgen Wolfgang,
ich du schreibst so viele hervorragende Beiträge, daher bist Du für mich auch der heimliche Praxisexperte, denn da kommen die Beitrage ja her. Ich habe in den vergangenen 2 Jahren bei mir selbst eine zunehmende Focussierung auf die ATTiny Familie erfahren. Dafür gibt es viele Gründe, insbesondere aber, die überschaubarkeit der Register und die Autonomie von Peripherie. Deine Beitrag über ChatGPT hat dann vieles losgetreten. ChatGPT hat zwar nicht ein einziges Script für mich entwickelt, aber ich habe dutzende Scripte von mir selbst überarbeitet, die Programmierung gestrafft und bereinigt, Redundanzen entfernt und Dokumentation nachgesteuert. Das bedeutet jetzt testen testen testen. Ich weiß nicht wie viele Testplatinen mit LEDs und Anschlüssen für serielle Kommunikation ich mitlerweile gebaut habe, immer in dem Glauben dieses mal ein universelles Werkzeug geschaffen zu haben, das ich nächste Woche wieder neu erfinden werde. Es geht auch langsam ins Geld weil jeder ISP irgenwelche anderen vor und Nachteile hat. Jetzt kriege ich die Kurve: Im richtigen Leben… wie machst Du das? Arbeitest Du bei der Arbeit mit ATTinys mit dem Dragon (der nicht zu kriegen ist – ich müsste also den Amtel ICE bestellen), oder machst du es trotz der Verfügbarkeit lieber in der Praxis mit dem Arduino-ISP und USB-ISPs die nur serielles Debugging beherrschen, vom Grundsatz her aber ja ausreichen? Ich stelle mir die Frage ob einmal richtig schmerzhaft (finanziell) an diesem Punkt nicht besser ist als regelmäßiger geringer Schmerz. 🙂
Womit arbeitest Du am häufigsten wenn Du Code für ATTiny testest und optimierst?
Hallo Leif,
überwiegend arbeite ich in der Arduinowelt, weil das die Grundlage der meisten meiner Beiträge ist. Und wenn ich mal wieder etwas mit Atmel Studio mache, nutze ich auch Debugging relativ selten. Als Programmer nehme ich dann meistens den Atmel ICE. Gegen ihn spricht natürlich, dass er so sauteuer ist. Und dann kann er weder HVSP (hier leistet mir der leider nicht mehr erhältlich Dragon gute Dienste), noch ist er in der Lage, die MCU mit Strom zu versorgen. Auch den 10-Pin 50-mil Anschluss halte ich für keine gute Idee. Wenn einem das Adapterkabel kuputt geht, muss man ziemlich viel Geld für ein neues ausgeben. Für ihn spricht die Debugging-Fähigkeit, ein nettes Gehäuse, keine Treiber-/Erkennungsprobleme und nicht zuletzt, dass er auch die UPDI Programmierung für die neueren ATtinys beherrscht. Nun, lohnt es sich, dafür so viel Geld auszugeben? Das muss wohl letzten Endes jeder für sich selbst entscheiden. Ich würde es schon als Luxus bezeichnen. Vielleicht etwas für Weihnachten? Oder um sich mal für irgendetwas selbst zu belohnen?
VG, Wolfgang
Hi Klaus,
ich hab das gleiche Setup mit dem Dragon und Attiny85. Aber ich bekomme jetzt immer diesen berüchtigten Fehler „Failed to enter programming mode. ispEnterProgMode: Error status received: Got 0xc0, expected 0x00 (Command has failed to execute on the tool)“. Ich hab schon dir Firmware neugeflasht und sonst was. Aber es geht nicht. Der Tiny ist jungfräulich. Ich versteh es nicht und in den Foren gab es auch keine Lösung für mich.
Hast du noch nen Tip?
Danke!
Peter
Hi Peter,
hast du alles so gemacht, wie hier beschrieben?
https://wolles-elektronikkiste.de/atmel-studio-7-ein-einstieg
Hat der Attiny85 eine separate Stromversorgung (über den Dragon kann er nicht versorgt werden)? Ist der Dragon richtig installiert und wird erkannt? Wann bekommst du die Fehlermeldung – wenn du versuchst ein Programm hochzuladen? Kommst du irgendwie in den Bereich „Device Programming“?
Wenn du magst, kannst du mir ein paar Screenshots vom Fehler und von deinen Einstellungen schicken (Wolfgang.Ewald@wolles-elektronikkiste.de).
VG, Wolfgang
Hallo Wolfgang,
der Attiny war „verfuset“. Erinnere mich dunkel da irgendwann mal was mit der Arduino-IDE gemacht zu haben. Vermutlich hatte ich aus Versehen den Reset-Pin für irgendwas benutzen wollen, in der Folge wurde dann beil Flashen wohl die Reset-Funktion deaktiviert. Mit der HVSP-Funktion meines AVR Dragons konnte ich das aber wieder rückgängig machen. Glück gehabt. 🙂 Aber danke für das Angebot!
Viele Grüße
Peter
Sorry: für „Klaus“….weiß garnicht, wie das kam.
Hallo Wolfgang,
Nur wenn Du es grad parat hast:
Funktiontioniert im Simulationsbetrieb von Studio7 der Timer ind der entsprechende Interrrupt dazu? Versuch mich grade mit einem Stop bei Veränderungen durch meine TimerinterruptRoutine.
Viele Grüße
Hans-Peter
Hallo, ich verzettele mich gerade….Muss mal bei Gelegenheit schauen, verspreche aber lieber nichts!
VG, Wolfgang
Hallo Wolfgang,
Ich hab zwar noch den Dragon, er wird aber nicht mehr hergestellt. Fällt vermutlich demnächst aus der Betreuung von Microchip.
Der ATMEL-ICE-PCBA scheint als Nachfolger geeignet, so weit ich sehe kann er alles das was der Dragon auch kann. Bezug u.a. Conrad & Reichelt. Eine kleinere Variante „All-AVR-xxxx“ der auch HV Programming (Prozessor Reset) aber sonst ein paar weniger Funktionen hat gibts u.a. bei Reichelt.
Den ATMEl_ICE-PCBA hab ich mir jedenfalls mal bestellt.
Viele Grüße
Hans-Peter
Hi Hans-Peter, den All-AVR Programmer kannte ich noch nicht. Muss ich mir mal anschauen. Vielen Dank.
Hallo Wolfgang,
Ich hab ein Problem mit dem debugging beim Atmel Studio 7.
Ich setze einen Stop -> ordnungsgemäss roter Punkt neben der Source Zeile
Debug/Start Debugging and Break ->
Es erscheint der Reiter „Disassembly mit erster Zeile „No Source File“
Das gleiche passiert sowohl mit „Simulator“ als auch mit „Dragon und dem angeschlossenen Prozessor.
Wie stell ich Studio7 so ein, dass er alle notwendigen Debug-Informationen mit einbindet.
Irgendwie steh ich im Moment auf der Leitung.
Vielen Dank im Voraus
Hans-Peter
Hallo Hans-Peter, ich habe gerade nochmal geschaut bei mir – ich weiß nicht, wo das Problem liegen könnte. No Source File ist mir glaube ich noch nicht über den Weg gelaufen. Tut mir leid. VG, Wolfgang
Hallo Wolfgang,
Sorry für den etwas verfrühten Hilferuf, bei mir funktionierts jetzt erst mal.
Es gibt wohl zwei Stellen an denen man richtig einstellen muss.
1) Mainmenue->Project->“xxx“->Properties->Configuration (xxx=Projektname)
2) Mainmenue -> Build -> Configuration Manager -> Configuration.
Ich hatte nur 2) eingestellt und 1) übersehen.
Viele Grüße
Hans-Peter
Hallo Wolfgang,
Ich bin grad dabei mich wieder mit Microctrl. Programmierug zu beschäftigen. Das letzte mal war noch vor der Arduino Zeit. Ich hab einen Arduino Nano und einen etwas in die Jahre gekommenen ATAVRDRAGON. Wenn ich die Unterlagen richtig interpretiere dann ist der 6 polige Pfostenstecker lediglich für ISP ausgelegt. Als Debugger käme dann nur DebugWire in Frage.
Welche Erfahrung habt ihr mit DebugWire gemacht? Ich hab mir jedenfalls schon mal einen Nano so zugerichtet, dass nur noch HV Programming eine Chance gehabt hätte. Allerdings liefen da mehrere Dinge nicht so wie sie sollten.
Wie groß ist die Chance, dass die übrigen Bauteile auf demArduino Nano die HV Programming (Reset) aushalten?
Viele Grüße
Hans-Peter
Hallo Hans-Peter, ich habe DebugWire mit dem Dragon an „nackten“ AVR Microcontrollern probiert und es funktionierte problemlos. Nur der Wechsel von DebugWire zu ISP nervt wegen der notwendigen Trennung vom Strom und vom Dragon. HV Programmierung an sich funktioniert auch gut, in der Boardumgebung habe ich es nicht probiert. Die 12 Volt werden meines Wissens nur am Reset angewendet. Der Resetpin ist über einen 100 nF Kondensator mit dem DTR Pin des FT232RL Chips verbunden. Kann man hier sehen: https://store.arduino.cc/arduino-nano -> Documentation -> Schematics in .pdf. Was dieser Anschluß zu 12 Volt „sagt“? Ich weiß es schlicht nicht. Einen Nano gibt’s zum Teil für 3 Euro das Stück – vielleicht wagst du es einfach mal.
VG, Wolfgang
Hallo Wolfgang, ( ich sage auch mal du)
hast Du eine ausführliche Anleitung, wie ich mit der IDE AVR Studio4 oder Atmel Studio 7
ein Arduino UNO Board programmieren (flashen) kann?
Vielen Dank für Deine Bemühungen.
Viele Grüße
Hans
Hallo Hans,
ich sage auch einfach immer „du“, es sei denn jemand eröffnet mit „sie“. Schau mal hier: Debugging mit Arduino . Ist aber irgendwie nicht so schön, wegen des kleinen Eingriffs den man am Board wegen der Resetfunktion machen muss (steht dort erklärt). Vielleicht ist ja das ateval 2.0 Board etwas für dich? Mit dem kann man munter zwischen der Arduino IDE und Atmel Studio hin- und herwechseln. Oder du nimmst einfach den ATmega328P und programmierst ihn „stand-alone“. Dazu könntest du hier und hier schauen.
Hallo Wolfgang,
vielen Dank für Deinen ausführlichen Artikel! Ich habe hier einen AVR Dragon, der in Verbindung mit AVR Studio und dem Jungo Treiber funktioniert. Das Teil möchte nur unter keinen Umständen mit Atmel Studio arbeiten. Entweder erkennt es den Dragon gar nicht, als Disconnected oder tut einfach nicht, was es soll, obwohl alles korrekt erscheint. Hast Du hier einen Tipp zur Installation der Treiber für den Dragon in Verbindung mit Atmel Studio 7?
Viele Grüße
Dominic
Treiber können einen immer noch in den Wahnsinn treiben – vielleicht heißen sie deswegen so. Ich hatte noch keine Probleme mit dem Dragon. Nicht bei meiner ersten Installation und auch nicht vor einiger Zeit als ich mir einen neuen Rechner gegönnt habe. Ich kann dir deswegen nicht sagen wo das Problem liegt, aber vielleicht ein paar Anregungen geben: 1) taucht der Dragon im Gerätemanager (falls du Windows verwendest) als Dragon auf? 2) Im Gerätemanager vielleicht mal deinstallieren und neu installieren? 3) Gibt es einen aktualisierten Treiber? Bei mir ist der Treiberanbieter: Microchip Technologies Inc, Version: 43.0.0.0, Datum: 10.01.2019. Mehr fällt mir erstmal nicht ein.
Hallo,
ich bin eigentlich Anfänger, hab bis jetzt nur Attiny85 mit einem UNO3 Programmiert.
Mich würde der o.a. Diamex USB Programmer interessieren. Mein Problem liegt darin, dass ich nicht weis wie z.B. ein Attinyxx (etwa der 85er) Angeschlossen wird. Auf der Abbildung ist „nur“ eine 6pol. und eine 10 Polige Stiftleiste erkennbar, gibt es für das Gerät noch ein Adapterkabel/Stecker , der auf die entspr. Stiftleiste n(6/10Pin) angeschlossen wird und am anderen Ende dann der entsprechende Attiny angebracht wird?
Ist eigentlich auch eine deutsche Anleitung dabei?
Für eine Antwort Danke ich.
m.f.G. Klaus D. Becker
Hallo Klaus, wenn du (ich sage einfach mal „du“) nochmal den Abschnitt „Der USB-ISP-Programmer“ durchliest findest du einen Link zu der Herstellerseite des Diamex. Dort gibt es eine kurze deutsche Anleitung im Download Bereich. Für den Anschluss gibt es mehrere Möglichkeiten. 1) du gehst direkt mit Steckbrückenkabeln vom 6 poligen Anschluss des Diamex auf ein Breadboard, auf das du den Attiny gesteckt hast. Die Pinbelegung des 6 poligen Anschlusses und die des Attiny 85 findest du im Beitrag. MISO an MISO, MOSI an MOSI, RST an RST, usw. Das ist allerdings „fummelig“ und fehleranfällig. 2) du investierst in den Breadboardadpter, den ich weiter oben beim Dragon abgebildet habe und ein 6 poliges Flachbandkabel mit Anschlusssteckern. Auch dazu habe ich oben Links zu Bezugsquellen. Der Vorteil an dieser Methode ist, dass die Anschlussbezeichnungen auf dem Stecker stehen. Dann kann man sich nur noch auf der Attiny Seite vertun.
Vor Kurzem bin ich auch noch auf eine andere Alternative zu den hier genannten Programmern gestoßen, nämlich den aTeVal 2.0 von eHaJo. Den gibt es hier: https://www.ehajo.de/bausaetze/bedrahtet/89/ateval-v2.0-microchip-avr-evaluationsboard
Das Teil hat einen Programmer integriert und man muss nur den Attiny aufstecken. In Richtung PC braucht man nur einen USB Anschluss. Der aTeVal 2.0 ist ein Bausatz, aber alle SMD Teile sind vorgelötet. Es gibt Anleitungen, Youtube Videos und alles in Deutsch. In ein paar Tagen gibt es einen Blogbeitrag von mir dazu.