Forum: Mikrocontroller und Digitale Elektronik Welches Programmiergerät für AVR und AVR32


von Martin (Gast)


Lesenswert?

Hallo,

ich will für meine zukünfigen Projekte AVR Controller einsetzen, da man 
für diese im Netz sehr viel findet. Das was mich bis jetzt noch von 
denen abgehalten ist, ist dass das Programmieren/Debuggen über JTAG 
teuer ist(Programmiergerät). Kennt jemand einen Debugger der 
kostengünstig ist, aber trotzdem AVR und AVR32 programmieren kann?

Hab diesen debugger gefunden: http://elmicro.com/de/avrjtag.html kann 
aber nur Atmegas debuggen.

Grüße

Martin

von Frank K. (fchk)


Lesenswert?

Martin schrieb:

> Hab diesen debugger gefunden: http://elmicro.com/de/avrjtag.html kann
> aber nur Atmegas debuggen.

Das ist ein Nachbau des allerersten AVR JTAG ICE. Nicht kaufen, der kann 
NUR DIE ANGEGEBENEN AVRs, und das sind schon recht alte. Die aktuellen 
AVRs kann er nicht!

Du wirst Dich zwischen einem JTAG ICE3 und dem neueren Atmel ICE 
entscheiden müssen. Kosten beide so 120€.

fchk

von Martin (Gast)


Lesenswert?

Vielen Dank für die Antwort Frank. Werde dann mal vorerst mit ISP 
Programmieren und später dann vielleicht ein JTAG Programmiergerät 
kaufen.

Bei den PIC wäre der Debugger billiger, aber diese sollen angeblich 
nicht so bequem zum programmieren sein.

Grüße

von Frank K. (fchk)


Lesenswert?

Martin schrieb:
> Vielen Dank für die Antwort Frank. Werde dann mal vorerst mit ISP
> Programmieren und später dann vielleicht ein JTAG Programmiergerät
> kaufen.
>
> Bei den PIC wäre der Debugger billiger, aber diese sollen angeblich
> nicht so bequem zum programmieren sein.

Doch klar. Wenn Du in C programmierst, ist das kein großer Unterschied. 
Mit der gewöhnungsbedürftigen Architektur der 8-Bit PICs (und nur 
dieser!) kommst Du nicht in Berührung. Und die 16 und 32 Bitter sind 
ohnehin eine ganz andere Sache mit völlig anderen Architekturen. Der 
Vorteil bei Microchip ist die Peripherie: Du hast eine größere 
Bandbreite, mehr Auswahl, und die Peripherieeinheiten sind auch 
leistungsfähiger.
Beispiel UARTs: Viele haben Support für LIN, ab den 16 Bittern auch 
Support für IRDA und Hardware-Flusskontrolle.
Beispiel SPI: Ab den 16 Bittern hast Du Support für Framed SPI und 
größere Wortlängen.
Beispiel Ethernet: Die mit Abstand billigste Möglichkeit für einen 
Ethernet-Knoten ist der PIC18F67J60. Einfacher, billiger und kleiner 
geht es nicht. Prozessor, Ethernet MAC, Ethernet PHY und Speicher und 
sonstige Peripherie in einem Chip.
Beispiel CAN: Viele AVR-Leute hühnern hier mit einem Mega 8 und einem 
MCP2515 herum. Ein PIC18F26K80 ist nur wenig teurer als der MCP2515, 
enthält eine verbesserte Variante des MCP2515 und hat zudem den 
Prozessor schon gleich mit drin. Schön blöd, wer da mit AVR arbeitet.

Sicher, die AVR-Architektur hat auch ihre Vorzüge. Die Peripherie ist es 
allerdings nicht.

fchk

von Bernd K. (prof7bit)


Lesenswert?

Frank K. schrieb:
> Schön blöd, wer da mit AVR arbeitet.

An dem Tag an dem es einen freien (oder zumindest einen kostenlosen 
vollwertigen) Compiler für PIC gibt wird diese Architektur interessant. 
Vorher nicht.

von Bernd K. (prof7bit)


Lesenswert?

Martin schrieb:
> Das was mich bis jetzt noch von
> denen abgehalten ist, ist dass das Programmieren/Debuggen über JTAG
> teuer ist

Man kommt mit der richtigen Herangehensweise auch komplett ohne Debugger 
aus. Gerade bei so einfachen Architekturen die auch zu verhältnismäßig 
gut überschau- und verstehbarer Software führen wird das 
unverhältnismäßig überbewertet und in der Praxis ist es meist auch 
überhaupt nicht sinnvoll anwendbar.

Wenn Du diese Anforderung streichst bist Du schon mit einer einstelligen 
Eurosumme dabei und kannst sofort loslegen.

Meine wichtigsten Debug-Instrumente sind ein Oszilloskop, geeignete 
Instrumentierung meines Codes und ggf. ein serielles Terminal.

: Bearbeitet durch User
von Martin (Gast)


Lesenswert?

Was für ein Programmiergerät empfehlt ihr, um AVR32, Tinys und die 
neueren Atmegas zu programmieren?

Bernd K. schrieb:
> Wenn Du diese Anforderung streichst bist Du schon mit einer einstelligen
> Eurosumme dabei und kannst sofort loslegen.

Was für ein Programmiergerät ist das?

von Frank K. (fchk)


Lesenswert?

Martin schrieb:
> Was für ein Programmiergerät empfehlt ihr, um AVR32, Tinys und die
> neueren Atmegas zu programmieren?

Über alle Mikrocontroller- und FPGA-Architekturen hinweg bist Du mit den 
Originaltools des jeweiligen Herstellers am Besten aufgehoben. Das sind 
nicht immer die billigsten, meist aber die problemlosesten.

Der Atmel AVRISP mkii kann ISP, PDI und TPI und damit alle relevanten 
Protokolle zum Programmieren von AVR/AVR32. Debuggen ist hiermit nicht 
möglich, auch nicht über PDI, das das im Prinzip kann. Funktioniert mit 
Target-Spannung von 5.5V bis hinunter zu 1.8V. Kostenpunkt etwa 30€.


> Bernd K. schrieb:
>> Wenn Du diese Anforderung streichst bist Du schon mit einer einstelligen
>> Eurosumme dabei und kannst sofort loslegen.
>
> Was für ein Programmiergerät ist das?

Schrott. Kann wahrscheinlich nur ISP, verwendet den nicht 
standardkonformen VUSB Software-Lowspeed-USB-Hack, hat keine richtige 
Schutzbeschaltung und keine Levelshifter für variable Targetspannungen. 
Wegwerfelektronik.

fchk

von Bernd K. (prof7bit)


Lesenswert?

Martin schrieb:
> Was für ein Programmiergerät ist das?

Für ATTiny und ATmega tuts bereits irgendein chinesischer 
USBAsp-Nachbau für 4€. Hab selber einen, nutze ihn unter Linux, dort 
benötigt er keinerlei Treiber und spielt problemlos mit avrdude 
zusammen.

Um erste Schritte mit ATTiny und ATMega zu machen und den Einstieg zu 
finden ohne großes Geld auszugeben ist das vollkommen ausreichend.

Wenn es 100% Avrisp-mk2-kompatibel sein soll (jedoch ohne dessen 
Hardware-Unzulänglichkeiten) und unter Windows und AtmelStudio6 und ohne 
Treibergefrickel verwendet werden soll dann empfehle ich (hab ich selbst 
im Einsatz) den Diamex-ALL, jedoch kommen wir hier schon in den 
30€-Bereich aber den Diamex ziehe ich jederzeit dem AvrISP-Mk2 vor (habe 
beide hier rumliegen).

Die AVR32 haben meines Wissens nach einen Bootloader schon ab Werk drin, 
hier geht evtl eine reine Softwarelösung. Jedoch hab ich AVR32 noch 
nicht verwendet, ich weiß nicht ob ich mir die überhaupt noch antun 
sollte, ich strecke gerade die Fühler in Richtung ARM aus und da ist man 
auch schon recht preisgünstig dabei (die Lernkurve nicht mitgerechnet).

: Bearbeitet durch User
von Martin (Gast)


Lesenswert?

Bernd K. schrieb:
> Wenn es 100% Avrisp-mk2-kompatibel sein soll (jedoch ohne dessen
> Hardware-Unzulänglichkeiten) und unter Windows und AtmelStudio6 und ohne
> Treibergefrickel verwendet werden soll dann empfehle ich (hab ich selbst
> im Einsatz) den Diamex-ALL

Verwendest du den Diamex-All auch unter Linux? Möchte schon, dass es 
auch Linux kompatibel ist, da ich dort programmieren will.

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Martin schrieb:
> Was für ein Programmiergerät empfehlt ihr, um AVR32, Tinys und die
> neueren Atmegas zu programmieren?
Atmel ICE: 
http://www.reichelt.de/AT-ATMEL-ICE/3/index.html?&ACTION=3&LA=446&ARTICLE=143878&artnr=AT+ATMEL-ICE&SEARCH=Atmel+ICE

ein Programmer für alle Atmel Controller
http://www.atmel.com/tools/atatmel-ice.aspx
1
Atmel-ICE supports:
2
3
    Programming and on-chip debugging of all Atmel AVR 32-bit MCUs on both JTAG and aWire interfaces
4
    Programming and on-chip debugging of all Atmel AVR XMEGA® family devices on both JTAG and PDI 2-wire interfaces
5
    JTAG and SPI programming and debugging of all Atmel AVR 8-bit MCUs with OCD support on either JTAG or debugWIRE interfaces
6
    Programming and debugging of all Atmel SAM ARM Cortex-M based MCUs on both SWD and JTAG interfaces
7
    Programming of all Atmel tinyAVR® 8-bit MCUs with support for the TPI interface

von isidor (Gast)


Lesenswert?

Was gerne vergessen, unterschlagen, nicht gesagt, nicht beachtet wird:

Sowohl JTAG ICE MKII als auc der neue ATMEL ICE funtionieren
nicht unter AVR Studio 4.x (und darunter dann wohl auch nicht).

von isidor (Gast)


Lesenswert?

Berichtigung der vorangegengenen Post:

Was gerne vergessen, unterschlagen, nicht gesagt, nicht beachtet wird:

Sowohl JTAG ICE MK III als auch der neue ATMEL ICE funtionieren
nicht unter AVR Studio 4.x (und darunter dann wohl auch nicht).

von neuer PIC Freund (Gast)


Lesenswert?

Na wenn du unter Linux arbeiten willst, ist doch die PIC-Schiene viel 
besser geeignet.

MPLABX + 15€ Pickit3-Clone aus China, und du kannst source-level 
debuggen. Habe gerade ein Stück Code vom ATtiny44A auf einen PIC16F1454 
portiert. Der kostet bei Reichelt gerade mal 5ct mehr, hat dafür aber 3 
HW-Breakpoints. 2 Breakpoints kann ich da setzen, und der 3. ist für 
single-step reserviert. Ob das der Tiny auch kann? Zumindest hast du 
hierzu als Einstiegshürde 40€ für die Platine des neuen ICE.  Und der 
XC8 schlägt sich nicht allzu schlecht. Auf dem PIC sind 2.88% vom 
Speicher belegt, und das bei der Speed-Einstellung. Der avr-gcc verlangt 
mit -Os für die gleiche Problemlösung 13.5%. Erfreulicherweise läuft 
auch die ISR schneller. Die fehlende Push-Pull-Orgie bringt es. Beim 
Tiny gehen 35 Cpu-Takte für nichts drauf. Der PIC braucht hier maximal 
33 Cpu-Takte gesamt. Auch kann ich durch die PLL beim PIC einen höheren 
Systemtakt fahren. Die 5mA Stromaufnahme bei 12MHz Cpu-Takt stören hier 
nicht.

Und demnächst werde ich mal den USB-Teil des 1454 ausprobieren. Damit 
dieses unsägliche vusb-Gefrickel ein Ende hat. Da kommt der PIC wiederum 
günstiger, weil der ohne Quarz auskommt. Und das im achsogeliebten DIL 
Gehäuse bei 5V.

Ein weiterer Pluspunkt ist die Tatsache, bei Reichelt bekommst du viel 
mehr PICs zur Auswahl als AVRs.

P.S.
Mit dem Pickit2 kannst du Tinys und Megas ISP programmieren. Als Bastler 
kannst du dir diesen sogar selbstbauen.

von Stefan (Gast)


Lesenswert?

Also, was ich sehr empfehlen kann ist dieser Programmer. Ich hatte den 
letzte Woche gekauft gehabt und bin damit sehr zufrieden.

http://www.ebay.de/itm/Programmer-fur-alle-AVR-ATMEL-XMEGA-ATMEGA-ATTiny-mit-ISP-TPI-und-PDI-/161509987962?pt=Wissenschaftliche_Ger%C3%A4te&hash=item259abed67a

von Joselin (Gast)


Lesenswert?

Stefan schrieb:
> Also, was ich sehr empfehlen kann ist dieser Programmer. Ich hatte den
> letzte Woche gekauft gehabt und bin damit sehr zufrieden.
>
> 
http://www.ebay.de/itm/Programmer-fur-alle-AVR-ATMEL-XMEGA-ATMEGA-ATTiny-mit-ISP-TPI-und-PDI-/161509987962?pt=Wissenschaftliche_Ger%C3%A4te&hash=item259abed67a

Würde der Threadersteller denn auch damit sehr zufrieden sein? Kann der 
den zB auch AVR32 programmieren und debuggen?

von Stefan (Gast)


Lesenswert?

Er hatte doch geschrieben:

Martin schrieb:
> Vielen Dank für die Antwort Frank. Werde dann mal vorerst mit ISP
> Programmieren und später dann vielleicht ein JTAG Programmiergerät
kaufen.

Mit einem ISP/TPI/PDI Programmer wäre er doch gut bedient.

von Bernd K. (prof7bit)


Lesenswert?

Martin schrieb:

> Verwendest du den Diamex-All auch unter Linux? Möchte schon, dass es
> auch Linux kompatibel ist, da ich dort programmieren will.

Der liegt in der Firma (und da gibts nur Windows), da hab ich das noch 
nicht ausgiebig getestet. Was ich jedoch sagen kann ist daß er auch dort 
von avrdude anstandslos unterstützt wird (genau wie der avrisp-mkII) und 
zwar über den libusb-Filtertreiber. Daraus schließe ich daß er unter 
Linux ebenso problemlos funktionieren wird. Entsprechende Forum-Posts 
anderer Nutzer bestätigen das.

von Bernd K. (prof7bit)


Lesenswert?

neuer PIC Freund schrieb im Beitrag #3932996:

> Na wenn du unter Linux arbeiten willst, ist doch die PIC-Schiene viel
> besser geeignet.
>
> MPLABX + 15€ Pickit3-Clone aus China

Ja klar. 500€...1000€ für IDE und Compiler hinlegen aber dann an der 
Hardware knausern.

Microchip will ganz offensichtlich nichts mit Privat/Hobby-Anwendern zu 
tun haben, das kommunizieren die ganz unmißverständlich über den Preis 
der Werkzeuge. Nun gut, sollen sie. Daß eben diese verprellten 
Hobbyisten oft auch die Entscheidungen in den Firmen beeinflussen in 
denen sie arbeiten ist dann aber deren Problem.

Bei Atmel gibts alle benötigte Software selbstverständlich kostenlos, 
der offizielle(!) Compiler ist sogar freie Software. Die 
Linux-Unterstützung für die AVRs ist exzellent: Eclipse + AVR-Plugin + 
avr-gcc + avrdude alles freie Software und alles aufeinander abgestimmt, 
kein umständliches Gefrickel, keine Einschränkungen, installieren und 
läuft out of the box.

von Frank K. (fchk)


Lesenswert?

Bernd K. schrieb:

>> MPLABX + 15€ Pickit3-Clone aus China
>
> Ja klar. 500€...1000€ für IDE und Compiler hinlegen aber dann an der
> Hardware knausern.

Meep. 6 setzen.

MPLAB und MPLABX sind kostenlos und waren es schon immer.
Die Compiler gibts in kostenlosen Versionen, wo nur die höheren 
Optimierungsstufen abgeschaltet sind. Keine Größenbeschränkung, keine 
anderen Einschränkungen. Die vollen Optimierungen sind wichtig, damit Du 
statt eines bestimmten PICs den nächstkleineren nehmen kannst, um ein 
paar Cent in der Massenproduktion zu sparen. Bei Einzelstücken nimmst Du 
einfach den PIC mit dem größten Flash aus der entsprechenden Serie, und 
gut ist.

Ja, mir wäre komplett freie Compiler auch lieber, und ja, Microchip hat 
sich dadurch in der Vergangenheit auch einiges verbaut, aber mit der 
aktuellen Situation kann man eigentlich ganz gut leben. Das eigentliche 
Problem sind die Idioten, die Hörensagen verbreiten, die nicht bzw nicht 
mehr stimmen, und die nur den PIC16C54 von 1978 (da hieß Microchip noch 
General Instruments) kennen und nicht die aktuellen PIC-Familien bis hin 
zu dsPIC33EP und PIC32.

PS: die Compiler für PIC24/dsPIC und PIC32(MIPS16) sind auch nur 
gcc-Derivate. So viel dazu.

> der offizielle(!) Compiler ist sogar freie Software

Du weißt aber schon, dass der eigentliche offizielle Compiler der von 
IAR ist? IAR saß bei der Entwicklung der AVR-Architektur mit am Tisch 
und hat den Befehlssatz mit definiert, damit deren Compiler optimalen 
Code erzeugen kann. Das tut er bis heute und ist weitaus besser an die 
Architektur angepasst (oder andersherum) als der gcc, der eigentlich für 
32 Bit Prozessoren entwickelt wurde und wird.

> Die  Linux-Unterstützung für die AVRs ist exzellent:

Und schon mal ein MPLABX unter Linux oder OSX gesehen? Na? Wie kannst Du 
da vergleichen?

fchk

von Bernd K. (prof7bit)


Lesenswert?

Frank K. schrieb:
> Die Compiler gibts in kostenlosen Versionen, wo nur die höheren
> Optimierungsstufen abgeschaltet sind.

Ja, komplett ohne Optimierung, also ungefähr das Äquivalent von gcc -O0 
wo der Code doppelt so groß und halb so schnell wird weil zwischen jeder 
zweiten Instruktion erst nochmal ne komplett unnötige Runde Spilling und 
Filling eingebaut wird. Wenn ich sowas sehe hab ich schon keine Lust 
mehr.

Man geht im Hobby oftmals Kompromisse ein aber jeder hat eine Grenze, 
jeder hat andere Prioritäten, für mich persönlich zum Beispiel ist ein 
Compiler der absichtlich auf -O0 kastriert ist nicht akzeptabel, vor 
allem in Anbetracht von existierenden freien und hochoptimierenden 
Compilern für andere Architekturen.

> Und schon mal ein MPLABX unter Linux oder OSX gesehen?
> Na? Wie kannst Du da vergleichen?

Ist leider in der free-Version nur ein unterirdischer Compiler dabei und 
damit steht und fällt alles. Lieber noch würd ich mich zwingen lassen 
nur mit vim und make auf der Kommandozeile arbeiten wenn dann wenigstens 
ein ordentliche Compiler vorhanden wäre, aber Hochglanz-IDE (ist 
übrigens auch nur Netbeans, also keine Alientechnologie, selbe Liga wie 
Eclipse), ohne ordentlichen Compiler macht das alles keinen Spaß.

von Bernd K. (prof7bit)


Lesenswert?

Frank K. schrieb:

> PS: die Compiler für PIC24/dsPIC und PIC32(MIPS16) sind auch nur
> gcc-Derivate. So viel dazu.

Dann nehm ich an daß gemäß Lizenzbestimmungen der Sourcecode 
veröffentlicht wurde? Wo gibts diese Compiler dann in der unlimitierten 
Version?

von Frank K. (fchk)


Lesenswert?

Bernd K. schrieb:
> Frank K. schrieb:
>
>> PS: die Compiler für PIC24/dsPIC und PIC32(MIPS16) sind auch nur
>> gcc-Derivate. So viel dazu.
>
> Dann nehm ich an daß gemäß Lizenzbestimmungen der Sourcecode
> veröffentlicht wurde? Wo gibts diese Compiler dann in der unlimitierten
> Version?

http://www.microchip.com/pagehandler/en_us/devtools/mplabxc/

Zum Ende unter "Source Archives" scrollen. Viel Spaß beim Bauen.

fchk

von Martin (Gast)


Lesenswert?

Sorry wollte nicht so eine große Diskusion lostreten.
Ok scheinbar kann man mit dem Pickit3 auch PIC32 programmieren und 
debuggen, doch hab gelesen, dass diese die auch teilweise kaputt machen 
;)
Wie werden die kleinsten PICs programmiert, bei AVR werden die ja über 
eine einzelne Leitung programmiert.
Tendiere eher zu AVR, da im deutschen Raum einfach extrem viel darüber 
gefunden wird.

Kaj G. schrieb:
> Atmel ICE:
> 
http://www.reichelt.de/AT-ATMEL-ICE/3/index.html?&ACTION=3&LA=446&ARTICLE=143878&artnr=AT+ATMEL-ICE&SEARCH=Atmel+ICE

Ist mir viel zu teuer um damit anzufangen.

Stefan schrieb:
> Also, was ich sehr empfehlen kann ist dieser Programmer. Ich hatte den
> letzte Woche gekauft gehabt und bin damit sehr zufrieden.
>
> Ebay-Artikel Nr. 161509987962

Mit dem kann man aber keine AVR32 Programmieren.

von Frank K. (fchk)


Lesenswert?

Martin schrieb:
> Sorry wollte nicht so eine große Diskusion lostreten.
> Ok scheinbar kann man mit dem Pickit3 auch PIC32 programmieren und
> debuggen, doch hab gelesen, dass diese die auch teilweise kaputt machen

Das Problem sitzt meist vor der Tastatur. Wer 5V auf einen 3.3V PIC 
gibt, ist eben selber schuld.

> Wie werden die kleinsten PICs programmiert

PICs brauchen zwei IO-Pins (PGC+PCD) plus Reset(!MCLR). Die meisten PICs 
haben mehrere PGC+PCD Paare, so dass Du das Paar wählen kannst, das 
keine Funktionalitäten blockiert und/oder layouttechnisch am besten 
passt.
Der ICSP funktioniert immer, Du kannst Dich normalerweise nicht wie bei 
AVRs wegen einer falschen Konfiguration (bei AVRs "Fuses", bei PICs 
"Config Words") aussperren, egal wie dumm Du Dich anstellst.

Die ICSP-Schnittstelle gibts bei allen PICs, egal ob 8, 16, 32 Bit, und 
Du kannst programmieren UND debuggen.

>, bei AVR werden die ja über
> eine einzelne Leitung programmiert.

Nein. Du hast wohl  das DebugWire im Kopf, was eine reine 
Debug-Schnittstelle ist (ist im Übrigen ein Krampf). dW haben nur neuere 
AVRs, nicht die alten Mega8/16/32.
Programmieren tust Du über ISP, das wie SPI funktioniert, aber teilweise 
andere Pins belegt (feste Pins, Du hast keine Auswahl wie bei PICs). Du 
hast SCK, MOSI, MISO, und brauchst noch !RESET, das zum Programmieren 
auf low gezogen wird. ISP ist eine reine Programmierschnittstelle, 
debuggen kannst Du darüber nicht.

> Tendiere eher zu AVR, da im deutschen Raum einfach extrem viel darüber
> gefunden wird.

Ja, die AVR-Fanboys sind hier in der Überzahl. Beides hat seine Sonnen- 
und Schattenseiten, und die siehst Du erst, wenn Du wirklich damit 
gearbeitet hast. Ich kenne beides und kann Dir sagen: immer schön 
geistig flexibel sein. Wenn Du nur einen Hammer hast, sieht alles wie 
ein Nagel aus. Für den Anfang hätte ich Dir PIC24 ans Herz gelegt, weil 
der am einfachsten zu handhaben ist und ziemlich viel kann, aber die 
Entscheidung musst Du selber treffen.

fchk

von Martin (Gast)


Lesenswert?

Vielen Dank Frank und auch den anderen die sich bei der Diskussion 
beteiligt haben.

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
Noch kein Account? Hier anmelden.