Hallo Forum, ich suche einen Programmer mit Debug-Funktion. Dieser sollte nach Möglichkeit wenig Kosten und mit dem Atmel-Studio7 kompatibel sein. Der Grund warum ich debuggen will ist, daß ich mich durch das Buch "AVR Mikrocontroller - Programmierung in C" von Heimo Gaicher durcharbeite und in diesem Buch sehr früh auf das Debuggen bzw. das Arbeiten mit Registern eingegangen wird. vorhandene Hardware: -Pololu ISP v2.1 Programmer: (vorschnell gekauft, besitzt neben dem 6-poligen ISP Stecker noch einen 6-Pin-Header dessen Funktion sich mir noch nicht ganz erschließt. Anschlüsse an diesem Header: GND, A, VCC, TX, RX und B) -Lenovo T420: versorgt Breadboard mit Spannung über vorhandenen USB 2.0 (High-Powered-Port) und an einem zweiten USB-Anschluss wird der µC programmiert -Breadboard mit ATMEGA8-16PU µC, Spannungsversorgung, ISP 6polig vom Pololu, 1xLED m. vorwiderstand, erstmal ohne externen Quarz vorhandene Software: -Pololu Configuration Utility und Treiber, simuliert m.M.n. ein STK500 im Atmel-Studio -Win 8.1 -ATMEL-Studio 7.0.1931 Erste Programmierversuche mit oben genannten Mitteln waren erfolgreich und auch wiederholbar (blinkende LED mit verschieden Frequenzen bzw. Zeiten für High und Low) Nun zu meinen Fragen: 1. Gibt es eine Möglichkeit mit dem vorhandenen Programmer zu debuggen? 2. Falls nicht habe ich mir diese beiden alternativen Programmer ausgesucht: AVR Dragon (https://www.reichelt.de/atmel-entwicklungstool-8-bit-und-32-bit-avr-at-avr-dragon-p97200.html, teuer und groß) USB AVRISP XPII (https://www.robotshop.com/de/de/usb-avrisp-xpii-avr-programmierer.html?gclid=EAIaIQobChMIi7m1mted4QIV1pTVCh2TgQfpEAQYASABEgIb-fD_BwE, recht günstig und mit Gehäuse) Sind diese beiden Programmer uneingeschänkt Debug-fähig mit dem ATMEL Studio7? 3. Gibt es eine billigere kleinere Lösung zum Programmieren und Debuggen? Als Programmier- und Debug-Software würde ich ausschließlich das ATMEL-Studio benutzen, da dieses auch im Buch benutzt wird. Danke im Voraus
Zum Debuggen brauchst du einen Atmel-JTag-Adapter. Über ISP geht das grundsätzlich nicht. Atmel Dragon oder Atmel ICE. Oliver
Hummel030 schrieb: > ich suche einen Programmer mit Debug-Funktion. Dieser sollte nach > Möglichkeit wenig Kosten und mit dem Atmel-Studio7 kompatibel sein. Kurz gesagt: du suchst ein rosa Einhorn. > vorhandene Hardware: > -Pololu ISP v2.1 Programmer: (vorschnell gekauft > -Breadboard mit ATMEGA8-16PU µC Der ATMega8 läßt sich mangels Debug-Schnittstelle gar nicht debuggen. Der designierte Nachfolger ATMega88 hätte immerhin eine debugWire Schnittstelle. Schlußfolgerung: der Pololu ISP Programmer war nicht das einzige vorschnell gekaufte Stück Hardware. > Nun zu meinen Fragen: > 1. Gibt es eine Möglichkeit mit dem vorhandenen Programmer zu debuggen? Nein. > 2. Falls nicht habe ich mir diese beiden alternativen Programmer > ausgesucht: > AVR Dragon Der kostet nicht wenig. Und ist relativ empfindlich. > USB AVRISP XPII Das scheint ein Nachbau des AVR ISP Mk2 zu sein. Das kann gar nicht debuggen. Ist ein reiner ISP-Programmer. > 3. Gibt es eine billigere kleinere Lösung zum Programmieren und > Debuggen? Wie gesagt: das ist ein rosa Einhorn. Die robuste(re) Alternative zum AVR Dragon ist das ATMEL ICE. Als nackte Platine (kein Gehäuse, keine Kabel) ab €50,- Vorteil: neben den AVR tiny/mega/xmega kann es auch die Cortex-M vom Atmel(Microchip) programmieren und debuggen. Deinen mega8 aber natürlich (aus prinzipiellen Gründen) auch nicht. > Als Programmier- und Debug-Software würde ich ausschließlich das > ATMEL-Studio benutzen, da dieses auch im Buch benutzt wird. Tja. Mehr Flexibilität könnte dir eine Menge Geld sparen. Ich persönlich verzichte bei den AVR auf das in-circuit debugging und spare damit eine Menge. Für das reine Programmieren reicht ein einfacher usbasp ISP-Adapter. Für Cortex-M µC ist die Sache dank preisgünstiger SWD-Adapter und openocd eine andere Geschichte. Vielleicht solltest du nicht ganz so an diesem Buch kleben.
Axel S. schrieb: >> USB AVRISP XPII > > Das scheint ein Nachbau des AVR ISP Mk2 zu sein. Das kann gar nicht > debuggen. Ist ein reiner ISP-Programmer. Ist das der Bruder vom LCD-Display? OK, IS-Programmer ist ein eher negativ belasteter Begriff ;-)
Falk B. schrieb: > Ist das der Bruder vom LCD-Display? OK, IS-Programmer ist ein eher > negativ belasteter Begriff ;-) ISP steht für InSystemProgramming, nicht für InSystemProgrammer. Bedeutet, dass man einen Mikrocontroller oder anderen programmierbaren Baustein auch im eingebauten Zustand über entsprechende Pins programmieren kann. Genau wie TPI, PDI oder JTAG. Deswegen ist ISP-Programmer vollkommen in Ordnung.
:
Bearbeitet durch User
Erstmal Danke für die Antworten vor allem die ausführliche von Axel! Noch kurz zu meiner Person: abgeschlossenes Bachelor Studium Elektrotechnik (FH). Im Studium bin ich mit dem MSP430 Launchpad + Assembler (LEDS blinken lassen und die Register auslesen, Quellcode von C nach Assembler) und einem ATMEGA? + C (LCD 16x2 als Ausgabe + Poti als Analog-In und ein oder mehrere Digital-Outs als eigenes "Projekt") in Kontakt gekommen. Allerdings wurde nicht auf das "Drumherum" wie Programmer, Bus-Systeme, etc. eingegangen und deshalb würde ich mich als µC-Anfänger betrachten. Die "Toolchains" wurden auch nicht erklärt, sondern es wurde einem das Entwicklerboard + Programmer + PC vor die Nase gesetzt man konnte "loslegen". Axel S. schrieb: > Vielleicht solltest du nicht ganz so an diesem Buch kleben. Möchte ich ehrlich gesagt auch nicht aber ich suche eine Möglichkeit ein bisschen an die Hand genommen zu werden um erstmal tiefer in die Materie einzutauchen. Ich habe natürlich schon in die beiden Tutorials (https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial und https://www.mikrocontroller.net/articles/AVR-Tutorial) reingelesen aber speziell beim AVR-Tutorial wird m.M.n. ausschließlich auf Assembler gesetzt und ersteres (AVR-GCC-Tutorial) ist auf den ersten Blick! nicht so umfangreich wie das Assembler Tut. Hier wäre meine Frage als Anfänger generell: Assembler oder C? Das Assembler tiefer in die Maschinenebene geht ist mir klar aber brauche ich das zum Einstieg? Eine weitere Frage ist, brauche ich beim Einstieg die Möglichkeit zum Debuggen oder komme ich mit meinem oben genannten Setup erstmal auf eine "akzeptable" Wissensebene und kann danach weiter sehen? Ist das Debuggen zum tieferen Vertändnis notwendig? (Ich hoffe ich mache mit der Frage hier im Forum kein Fass auf ala 3 Leute 10 Meinungen)
Michael K. schrieb: > Hier wäre meine Frage als Anfänger generell: Assembler oder C? Macht es hier noch Sinn, diese Frage zu beantworten? Ich halte mich mal raus und empfehle Dir dazu die Suchfunktion. > ich suche eine Möglichkeit ein bisschen an die Hand genommen zu > werden um erstmal tiefer in die Materie einzutauchen. http://stefanfrings.de/mikrocontroller_buch/index.html Kommt ohne Debugger aus. Falls Du mal Assembler ausprobieren willst: http://stefanfrings.de/avr_workshop/index.html Falls Du Dir ARM Controller anschauen willst (wo die Debugger übrigens viel weniger kosten): http://stefanfrings.de/mikrocontroller_buch2/index.html
Michael K. schrieb: > Hier wäre meine Frage als Anfänger generell: Assembler oder C? Jehova, Jehova! ;-) > Das Assembler tiefer in die Maschinenebene geht ist mir klar aber Ja. > brauche ich das zum Einstieg? Nein. > Eine weitere Frage ist, brauche ich beim Einstieg die Möglichkeit zum > Debuggen Nicht zwingend. > oder komme ich mit meinem oben genannten Setup erstmal auf eine > "akzeptable" Wissensebene und kann danach weiter sehen? Ja. > Ist das Debuggen zum tieferen Vertändnis notwendig? Jain. Es hat aber schon viele Vorteile. Man kann sich das alles genauer und Schritt für Schritt ansehen, Schleifen, Codeabschnitte etc.
Falk B. schrieb: >> Ist das Debuggen zum tieferen Vertändnis notwendig? > > Jain. Es hat aber schon viele Vorteile. Man kann sich das alles genauer > und Schritt für Schritt ansehen, Schleifen, Codeabschnitte etc. Kann man auch in gewissen Grenzen mit dem Simulator+Debugger (ohne Hardware) durchspielen. Mir hat das so gereicht. Dann habe ich mir einen Debugger gekauft aber letztendlich liegt er fast nur herum und sammelt Staub.
Stefanus F. schrieb: > Michael K. schrieb: >> Hier wäre meine Frage als Anfänger generell: Assembler oder C? > > Macht es hier noch Sinn, diese Frage zu beantworten? Ich halte mich mal > raus und empfehle Dir dazu die Suchfunktion. Oh, das hätte ich mir allerdings auch selber denken können. Somit fällt diese Frage weg! Sry!
Michael K. schrieb: > Eine weitere Frage ist, brauche ich beim Einstieg die Möglichkeit zum > Debuggen oder komme ich mit meinem oben genannten Setup erstmal auf eine > "akzeptable" Wissensebene und kann danach weiter sehen? > Ist das Debuggen zum tieferen Vertändnis notwendig? Meiner Einschätzung nach nicht. Zumal du mit dem Atmel Studio doch einen Simulator hast, oder (ich hab damit irgendwann zu D-Mark-Zeiten das letzte mal gearbeitet...)? Der Simulator kann zwar keine schnelle Hardware, aber so für das Grundverständnis "wenn ich an diesen Pin einen LOW-Pegel anlege, dann springt mein Code dorthin, und ändert an der Speicherstelle xyz diese Werte" hilft der schon. Und nur weil du gefragt hast: Meiner Einschätzung nach lohnt es sich, das erste LED-Blink-Programm in Assembler zu schreiben und ab dann mit C weiterzumachen, aber ab und zu in den vom Compiler generierten Assembler-Code zu schauen. MfG, Arno
Also nochmal Danke an alle Diskussionsteilnehmer. Ich werde jetzt bei C und meinem Programmer bleiben und mich durch die pdfs von Stefanus durcharbeiten und hoffe damit dann erstmal genug Grundlagen zu haben um mich dann anderen Bücher oder Tutorials zu widmen.
:
Bearbeitet durch User
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.