Forum: Mikrocontroller und Digitale Elektronik XMEGA programmieren


von Rainer S. (rsonline)


Lesenswert?

Ist hier jemand möglichst aus NRW (westl. Münsterland), der einen 
XMEGA16D4 programmieren kann? 2 x LED's, Blinklicht.

Das ist die erste XMEGA Schaltung. Habe keinen PDI programmer, wollte 
dann einen eigenen bauen.

von Thomas H. (Firma: CIA) (apostel13)


Lesenswert?

Könnte ich theoretisch. Aber warum erstellt man ein Blinklicht mit einem 
XMEGA und wie hast Du dein Programm getestet...?

von da1l6 (Gast)


Lesenswert?

Hallo

Vielleicht schaust du da mal vorbei: https://www.warpzone.ms

da1l6

von Rainer S. (rsonline)


Lesenswert?

Thomas H. schrieb:
> Könnte ich theoretisch. Aber warum erstellt man ein Blinklicht mit
> einem
> XMEGA und wie hast Du dein Programm getestet...?

Das Programm sollte auch von extern kommen.
Ich denke das ist recht einfach ein Blinkerprogramm.
Um zu Testen, ob die Schaltung funktioniert.
Wie gesagt meine erste XMEGA Schaltung.
PDI Programmierergerät wollte ich dann selbst machen.
Dann wüsste ich aber schon mal, dass wenigstens die Schaltung geht

von Falk B. (falk)


Lesenswert?

@ Rainer S. (rsonline)

>Wie gesagt meine erste XMEGA Schaltung.
>PDI Programmierergerät wollte ich dann selbst machen.
>Dann wüsste ich aber schon mal, dass wenigstens die Schaltung geht

Henne Ei Problem. Erst kommt der Programmieradapter, dann der Test. Also 
besorg dir den Adapter.

Keine Arme, keine Kekse.

von Max D. (max_d)


Lesenswert?

Rainer S. schrieb:
> PDI Programmierergerät wollte ich dann selbst machen.

Ich bin ja so auch kein Geld-Verschwender, aber etwas so grundlegendes 
wie einen Programmieradapter würde ich (zumindest für den anfang) schon 
"richtig" kaufen. ein ISP mk2 ist jetzt keine so große ausgabe und kann 
alle "regulären" Protokolle.

Wenn du ein Haus bauen willst, dann fängst du auch nicht damit an nen 
Betonmischer zu schweißen.....

von Timmo H. (masterfx)


Lesenswert?

Wenn du noch nichtmal weißt ob dein Blinky-Programm läuft, dann baust du 
auch keinen PDI-Programmer selbst.
Kauf dir einen AVR ISP MK2, der kann auch PDI und du bist sorgenfrei.

von Rainer S. (rsonline)


Lesenswert?

Ich brauche hier keine Belehrer.

von Falk B. (falk)


Lesenswert?

@ Rainer S. (rsonline)

>Ich brauche hier keine Belehrer.

Stimmt. Du brauchst einen Programmieradapter ;-)

von Rainer S. (rsonline)


Angehängte Dateien:

Lesenswert?

Genau und den hab' ich schon!

Softwaretechnisch geht bereits ISP Programmierung.
PDI Protokoll ist (noch) nicht implementiert.
Bei ca. 30 Jahren Programmiererfahrung sollte das aber machbar sein.

Auf dem Programmer ist ein ATMEGA644 mit 2 seriellen Schnittstellen. Die 
erste zur Kommunikation mit dem PC die 2. für PDI.

von Falk B. (falk)


Lesenswert?

@Rainer S. (rsonline)

>Softwaretechnisch geht bereits ISP Programmierung.
>PDI Protokoll ist (noch) nicht implementiert.
>Bei ca. 30 Jahren Programmiererfahrung sollte das aber machbar sein.

Nach 30 Jahren immer noch nicht gelernt, daß man das Rad nicht immer neu 
erfinden sollte und einen fertigen Programmieradapter kauft?
Mein Beileid. MEGA-FAIL

von Arduinofan (Gast)


Lesenswert?

Rainer S. schrieb:
> Auf dem Programmer ist ein ATMEGA644 mit 2 seriellen Schnittstellen. Die
> erste zur Kommunikation mit dem PC die 2. für PDI.

PDI mit einer RS232?

von Paul B. (paul_baumann)


Lesenswert?

Hier ist ein Link, wie man ein PDI Programmiergerät mit Hilfe eines 
USBASP
bauen kann. (Der ist natürlich auch selbst baubar)
http://www.avr-elektronika.tk/index.php?page=pdi-programmer

Falk B. schrieb:
> Nach 30 Jahren immer noch nicht gelernt, daß man das Rad nicht immer neu
> erfinden sollte und einen fertigen Programmieradapter kauft?
> Mein Beileid. MEGA-FAIL

Es gibt Leute, die:
a) Freude am Selbstbau (auch von Programmiergeräten) haben
b) Mehr Zeit statt Geld haben und demzufolge selbst bauen

Daran muß und sollte man auch mal denken.

MfG Paul

von Rainer S. (rsonline)


Lesenswert?

Arduinofan schrieb:
> Rainer S. schrieb:
>> Auf dem Programmer ist ein ATMEGA644 mit 2 seriellen Schnittstellen. Die
>> erste zur Kommunikation mit dem PC die 2. für PDI.
>
> PDI mit einer RS232?

Nein, aber so ähnlich.

The PDI physical layer uses a standard UART frame format.

Seite 2 oben.

http://www.atmel.com/images/doc8282.pdf

von Falk B. (falk)


Lesenswert?

@Paul Baumann (paul_baumann)

>a) Freude am Selbstbau (auch von Programmiergeräten) haben
>b) Mehr Zeit statt Geld haben und demzufolge selbst bauen

Mag sein. Aber du vergißt die 3. Gruppe

c) Die seit Jahren den Schinken nach der Wurst werfen und kein bischen 
gelernt haben, daß man Standardteile aus Massenproduktion nie selber 
billiger nachbauen kann.

>Daran muß und sollte man auch mal denken.

Dito!

von Rainer S. (rsonline)


Lesenswert?

Paul B. schrieb:
> a) Freude am Selbstbau (auch von Programmiergeräten) haben
> b) Mehr Zeit statt Geld haben und demzufolge selbst bauen

Schlüsseltechnologien weitestgehend selbst in die Hand zu haben kann 
nicht verkehrt sein. Ich denke, das ist in ca. 3 Tagen erledigt.

Manche machen sich auch auf Teufel komm raus überall abhängig wo es nur 
geht. Es gibt sogar ganz viele die freiwillig Windows 10 auf ihrem 
Rechner laden.

Den Programmierer kann ich nach meinen Wünschen bauen und auch als 
standalone Gerät im 'freien Feld' verwenden.

von Bastler (Gast)


Lesenswert?

Rainer S. schrieb:
> Schlüsseltechnologien weitestgehend selbst in die Hand zu haben kann
> nicht verkehrt sein.

Ah ja - wenn Du schon einen Programmer als Schlüsseltechnologie 
bezeichnest ...

von Rainer S. (rsonline)


Lesenswert?

Bastler schrieb:
> Ah ja - wenn Du schon einen Programmer als Schlüsseltechnologie
> bezeichnest ...

Nenn' es wie Du willst.

von Falk B. (falk)


Lesenswert?

@ Bastler (Gast)

>> Schlüsseltechnologien weitestgehend selbst in die Hand zu haben kann
>> nicht verkehrt sein.

>Ah ja - wenn Du schon einen Programmer als Schlüsseltechnologie
>bezeichnest ...

Das war beim Erich und seinem 1 Mbit Schaltkreis nicht anders . . .

https://de.wikipedia.org/wiki/U61000

;-)

"Am 10. August 1988 konnten durch die Testgeräte die ersten 
funktionsfähigen und fehlerfreien Entwicklungsmuster des 
1-MBit-Speicherchips nachgewiesen werden.[9] Diese Muster wurden am 12. 
September 1988 öffentlichkeitswirksam an Erich Honecker übergeben (s. 
Bild). Für die Entwicklung des Speicherschaltkreises wurde das Kollektiv 
des Forschungszentrums 1988 mit dem Nationalpreis der DDR ausgezeichnet. 
Auf der Leipziger Frühjahrsmesse 1989 wurde dem U61000 die Goldmedaille 
verliehen."

Entwicklungsmuster . . . (vom Chef persönlich auf Hochglanz poliert)

"Mit dem Wegfall des Technologieboykotts im Zuge der Währungs-, 
Wirtschafts- und Sozialunion im Juli 1990 war eine wirtschaftliche 
Herstellung dieses Speicherschaltkreises nicht mehr möglich, da die 
Anwender aus der heimischen Computerindustrie die Äquivalenztypen auf 
dem Weltmarkt nun wesentlich preisgünstiger und in hohen Stückzahlen 
beziehen konnten."

von Max D. (max_d)


Lesenswert?

Ich hab auch was gegen Abhängigkeiten (hab Linux auf dem Desktop und dem 
Laptop). Allerdings sollte man bei "Schlüsselbauteilen" darafu vertrauen 
können, dass sie funktionieren. Dieses Vertrauen habe ich bei einem vom 
Hersteller ausgiebigst getesten und im "Feld" bewährten Ding irgendwie 
mehr als bei einem selbstgestricktem Etwas das in der Hälfte der Fälle 
die Ursache für "unerklärliche" ISP-Probleme ist.
Ausserdem hab ich mit avrdude auch gleich eine fertige PC-Applikation 
dazu.

von blub (Gast)


Lesenswert?

Rainer S. schrieb:
> Ich denke, das ist in ca. 3 Tagen erledigt.

Wenn du so gut bist, warum brauchst du erst jemanden der dir ein simples 
Blinklicht flashen muss.

Rainer S. schrieb:
> Das Programm sollte auch von extern kommen.

Ja wie jetzt? Auch nicht von dir? 30 Jahre Programmiererfahrung?

von Rainer S. (rsonline)


Lesenswert?

@Max D. (max_d):

Hast Du kein Selbstvertrauen?

blub schrieb:
> Wenn du so gut bist, warum brauchst du erst jemanden der dir ein simples
> Blinklicht flashen muss.

Das steht doch alles oben. Wenn's funktioniert schreibe ich dann auch 
Programme für den XMEGA mit den I/O Ports, die etwas anders programmiert 
werden, als beim normalen ATMEGA.

Wenn jemand das kann bitte melden.

von Max D. (max_d)


Lesenswert?

Ich kenne mich selber gut genug um zu wissen (und zugeben zu können), 
dass ich Fehler mache.

Ich hab hier einen ISP mk2 Klon (und einen dragon, der kann aber kein 
PDI) und kann dir ohne Probleme deinen XMEGA flashen.
Ich wohn allerdings in Unterfranken (97723) ....
Vielleicht findest du ja einen näheren Helfer, ansonsten halt Post.

von Rainer S. (rsonline)


Lesenswert?

Bin bald beruflich in München unterwegs. Wäre ein kleiner Umweg.

Hast Du denn schon Programme für den XMEGA geschrieben?

von Rainer S. (rsonline)


Lesenswert?

Max D. schrieb:
> Ich kenne mich selber gut genug um zu wissen (und zugeben zu können),
> dass ich Fehler mache.

Ich mache auch Fehler. Dann sucht man halt den Fehler und gut ist.

: Bearbeitet durch User
von blub (Gast)


Lesenswert?

Rainer S. schrieb:
> Wenn's funktioniert schreibe ich dann auch
> Programme für den XMEGA mit den I/O Ports, die etwas anders programmiert
> werden, als beim normalen ATMEGA.

Und wie programmierst du die dann? Weil dein Programmer hat einen 
ATMega, wenn du so gut bist wie behauptet sollte es ja für dich kein 
Problem sein den zu erweitern.

Übrigens, schon mal was von einem Simulator gehört?

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

@Rainer S. (rsonline)
An die Xmega habe ich mich auch nur ganz langsam ran getastet.

Erst habe ich gesehen dass man die Firmware eines normalen USBasp mit 
einem Patch verändern kann und dann musste man noch AVRdude mit einem 
Patch verändern um die PID-Programmer-Fähigkeit hinzuzufügen.
Man musste sich noch ein anderes Programmierkabel basteln.

Von den ATXmega habe ich mir zwei Sample schicken lassen und einen davon 
habe ich dann damit programmiert.

Ich habe mir den UART, RTC, ADC, DAC angeschaut und war ganz zufrieden.

Den Original MKII wollte ich mir aber nicht holen.
Anstatt dessen habe ich mir einen Clone für 5 Euro einen bei eBay 
bestellt.

Beitrag "Re: [V] AVR ISP MKII"


Deren Webseite: http://mdiy.pl/programator-usbtiny-mkii-slim/?lang=en
(das ist aber auch nur die leicht veränderte Kopie des ursprünglichen 
Clones)


Die neue AVR-Studio Version 7.0 hat meinen Programmieradapter nicht 
erkannt, das liegt aber nur an der nicht passenden Versionsnummer.

AVR-Studio darf die Firmware auf dem Clone-Programmer aber auch nicht 
updaten da es kein Original-Programmer ist.


Anstatt dessen muss man die Versionsnummer in den Quellen selbst ändern 
und neu hoch spielen.


Änderung in 
"lufa-LUFA-140928\Projects\AVRISP-MKII\Lib\V2ProtocolParams.h":

Von Versionsnummer "14" zu "17" ändern.

/** Minor firmware version, reported to the host on request; must match 
the version the host is expecting, or it (may) reject further 
communications with the programmer. */
#define FIRMWARE_VERSION_MINOR   0x17



Das hier ist der eigentliche Hersteller des Clone-Programmers:
http://www.fourwalledcubicle.com/AVRISP.php
http://tom-itx.no-ip.biz:81/~webpage/boards/USBTiny_Mkii/USBTiny_Mkii_mods_index.php



Man muss den AVR aber nicht immer über PDI zu programmieren,sondern nur 
ein mal die Hex-Datei des DFU-Bootloaders (AVR1916.zip) aufspielen.
Ich kaufe mir nur die USB-Versionen, auf den I/O-Pins kann man D+ und D- 
(USB) legen oder RX/TX (UART).

Über USB kann man den AVR dann mit FLIP ganz einfach eine neue Firmware 
verpassen.

von Rainer S. (rsonline)


Angehängte Dateien:

Lesenswert?

Hier das Blinkerprogramm. Die 2 LED's sind an Port A Bit 5 und 6.

Controller: ATXMEGA16D4

1
program xmegaled;
2
3
begin
4
 osc_ctrl := 0x02;           // 32 MHz internal oszi
5
 while rc32mrdy_bit = 0 do nop;
6
 cpu_ccp := 0xd8;
7
 clk_ctrl := 1;              // internal oszi
8
9
 porta_dir := b6 + b5;     // output
10
 porta_out := b6;     //
11
12
 while( true ) do begin
13
  delay_ms( 500 );
14
  porta_outtgl := b6 + b5;
15
 end;
16
end.

von Falk B. (falk)


Lesenswert?

@ Atmega8 Atmega8 (atmega8) Benutzerseite

>An die Xmega habe ich mich auch nur ganz langsam ran getastet.

In der Ruhe liegt die Kraft. Aber ein Xmega ist nicht wesentlich anders 
als ein normaler AVR. Die IO-Register wurden zwar kräftig aufgebohrt und 
der Zugriff erfolgt über structs, doch das ist eher ein Vorteil, denn 
damit wird es deutlich systematischer. Der Rest ist nahezu identisch.

Wenn man einen FERTIGEN, möglichst originalen Programmieradapter kauft 
ist der Umstieg ein Kinderspiel. Alles andere ist maximale 
Zeitverschwendung.

von Falk B. (falk)


Lesenswert?

@ Rainer S. (rsonline)

>Hier das Blinkerprogramm. Die 2 LED's sind an Port A Bit 5 und 6.

>Controller: ATXMEGA16D4

>program xmegaled;

Wa ist das denn? Pascal? LunaVR? Ist ja süß. Da ist wohl einer in den 
80ern hängen geblieben? ;-)

von Rainer S. (rsonline)


Lesenswert?

Mit AVRDUDE würde das wohl ganz gut gehen.

Es gibt Typen, die bekämpfen alles, was sie nicht kennen.

Nach deren 'Weltbild' kann es nur ein einziges Auto geben.
Alles andere wäre Zeitverschwendung. Das gab's schon mal beim Erich.

https://www.youtube.com/watch?v=dpVu1gSC3HM

von Rainer S. (rsonline)


Lesenswert?

Habe jetzt einen PDI Programmer gekauft:

http://www.ebay.de/itm/191777363673

Funktioniert unter Linux mit Avrdude. Programme werden geflasht und 
verifiziert.

Allerdings geht das Blinker-Programm nicht.

Der verwendete Prozessor ist XMega16D4.
Die Ports an denen die LED's sind: Port A, Bit 5 und 6.
Interner Takt, 32 MHz (kein Quarz angeschlossen).

Gibt es Demo Code zum initialisieren bzw. kann jemand das so ändern, 
dass die LED's angehen, bzw. blinken?

Kann man die Ports schon schalten bevor der Quarz richtig läuft, bzw. 
initialisiert ist?

von Rainer S. (rsonline)


Lesenswert?

Funktioniert!

b5 und b6 war als 5 und 6 definiert. Da fehlte noch das 1 << b5, bzw. 1 
<< b6.

von Falk B. (falk)


Lesenswert?


von M. K. (sylaina)


Lesenswert?

Falk B. schrieb:
> Keine Arme, keine Kekse.

ymmd :D

von Falk B. (falk)


Lesenswert?

Hmm, jetzt erkenn ich den Thread wieder. Es hat nur gute 2 Monate 
gedauert, um sich einen Programmieradapter zu kaufen? Wo der doch selber 
in gerade mal 3 Tagen programmiert gewesen wäre . . . ;-)

von Rainer S. (rsonline)


Lesenswert?

Da steht kein Druck hinter, wenngleich neue Sachen immer interessant 
sind. Hier sind noch andere Dinge zu machen. Messevorbereitungen, 
Angebote schreiben, usw. Weihnachten wollte ich auch mal etwas länger 
genießen dieses Jahr.

3 Tage war etwas optimistisch. Tatsächlich habe ich das so geschrieben 
:-) Habe damit schon angefangen. LUFA Code liegt schon vor. Brauche also 
nicht mehr viel selbst zu schreiben.

Du hast in dem Sinn recht, dass man auf vorgefertigte Sachen 
zurückgreifen kann. Nur habe ich die Erfahrung gemacht, dass das fast 
nie komplett den eigenen Bedürfnissen entspricht. Ich kann den 
Programmer z.B. nicht standalone benutzen.

Auf Linux läuft der Programmer problemlos.

Nur auf Windows fehlt da so eine libusb0.dll

Habe die im Verzeichnis geladen, er fragt nicht mehr nach der DLL, aber 
es geht immer noch nicht.

Da steht dann found 5 busses. Es geht da im Moment nicht weiter.

-P steht wohl für Port. Habe da -P usb angegeben.

Programmer ist AVRISPMKII kompatibel.

von Falk B. (falk)


Lesenswert?

@Rainer S. (rsonline)

>Da steht kein Druck hinter, wenngleich neue Sachen immer interessant
>sind. Hier sind noch andere Dinge zu machen. Messevorbereitungen,
>Angebote schreiben, usw. Weihnachten wollte ich auch mal etwas länger
>genießen dieses Jahr.

Und Ausreden erfinden . . .

>Du hast in dem Sinn recht, dass man auf vorgefertigte Sachen
>zurückgreifen kann. Nur habe ich die Erfahrung gemacht, dass das fast
>nie komplett den eigenen Bedürfnissen entspricht. Ich kann den
>Programmer z.B. nicht standalone benutzen.

Schon wieder dumme Ausreden. Einfach nur peinlich . . .

In der Zeit haben Andere schon ein mittelgroßes Projekt fix und fertig 
gestellt, ohne großes Gerede. Naja.

von Rainer S. (rsonline)


Lesenswert?

Hast Du schlechte Laune und/oder einen schlechten Job, 
Beziehungsprobleme?

von Felix Adam (Gast)


Lesenswert?

Nein, der ist immer so...

von Rainer S. (rsonline)


Lesenswert?

Auf jeden Fall läuft der gekaufte Programmer unter Windows noch nicht.

Siehe 4 Beiträge weiter oben.

Wer kann helfen?

von Rainer S. (rsonline)


Angehängte Dateien:

Lesenswert?

Nachdem der USB Programmer kaputt gegangen ist und auch ein neu 
gekaufter (ALL AVR) nicht auf Anhieb funktioniert hat habe ich mich 
wieder daran gesetzt den eigenen zu programmieren.

Nach 3 Tagen habe ich jetzt ein Blinker Programm auf einem XMega32E5 ans 
laufen bekommen.

Links der Programmer, der einen anderen Programmer per ISP Schnittstelle 
programmiert.

In der Mitte der Programmer, der die XMega Platine rechts mittels PDI 
Schnittstelle zum blinken bringt.

Vorteil: Man braucht keine USB Libraries, das läuft über die serielle 
Schnittstelle, bzw. über FTDI USB-seriell Wandler. Sowohl mit Windows, 
als auch mit Linux. Und man kann mit den Tasten am Programmer auch 
standalone, also ohne Betriebssystem Controller programmieren, inkl. 
Fuse und Lock bits.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Jetzt hast du also schon zwei billige Programmer gekauft und nicht viel 
Freude damit gehabt.

So dumm war ich auch mal. Von wegen "Ich zahle doch nicht 30 Euro mehr, 
nur weil da Atmel drauf steht".

Wäre aber besser gewesen. Jetzt besitze ich 4 Programmer. Drei, die viel 
Ärger gemacht haben und den originalen von Atmel. Hätte ich den mal 
gleich genommen. Aber nein, der Stefan ist ein elender Geizkragen.

Also falls jemand billig einen USB programmieradapter suche, ich hab 
noch ein paar. Sind aber doofe Dinger. Ich nehme symbolische 1 Euro + 
6,90 Versandkosten :-)

von Rainer S. (rsonline)


Lesenswert?

Ein Programmer (ALL AVR) ist von Reichelt zurückgenommen worden.
Der andere hat am Anfang ja funktioniert.
Da bestell' ich mir auch noch ersatzweise welche von.

Ich wollte eh' einen eigenen haben.

Welche hast Du?

von Stefan F. (Gast)


Lesenswert?

Einen auf Basis vom USBASP, zwei AVR910 basierte Programmer und einen 
chinesischen STK500 kompatiblen ohne Name.

Die USBASP werden oft nicht erkannt oder fallen im Betrieb aus. Sie 
laufen nur mit 3,3V und 5V. Das ist zwar nicht wirklich schlimm, aber 
lästig, weil ich viele Batteriebetriebenen Schaltungen mit anderen 
Spannungen habe.

Die AVR910 basierten unterstützen einige Chips nicht, die ich benutze. 
Auch die laufen nur mit 3,3V und 5V. Bei einem ist eine Diode 
durchgebrannt (Kurzschluss in der Stromversorgung durch zu geringe 
Batteriespannung, ja bin ich selber Schuld).

Der chinesische ist vermutlich von selbst kaputt gegangen. Ich hatte 
bisher keine Lust, einen Reparaturversuch zu starten. Denn seit ich den 
Atmel ISP MKII habe, verwende ich die anderen nicht mehr.

von Mike J. (linuxmint_user)


Lesenswert?

Rainer S. schrieb:
> Vorteil: Man braucht keine USB Libraries, das läuft über die serielle
> Schnittstelle, bzw. über FTDI USB-seriell Wandler. Sowohl mit Windows,
> als auch mit Linux.

Ich habe ja auch nur so einen "Atmel ISP MKII Clone" mit dem ich den 
Xmega schreiben/lesen, aber nicht debugen kann.

Auf welcher Software basiert dein Programmer?
Kann er auch debugen? (wäre manchmal dann doch ganz praktisch)

von Rainer S. (rsonline)


Lesenswert?

Software ist selbst geschrieben. Man könnte darüber nachdenken, das Teil 
fit für avrdude zu machen.

Debuggen geht damit nicht. Einen Debugger brauche ich so gut wie nie. 
Das integriere ich immer in den eigentlichen Code.

Welchen Programmer hast Du genau?

von Stefan F. (Gast)


Lesenswert?

> Vorteil: Man braucht keine USB Libraries, das läuft über die serielle
> Schnittstelle, bzw. über FTDI USB-seriell Wandler

Das ist nur die halbe Wahrheit. Alle USB/Serell Wandler brauchen einen 
Treiber. Unter Linux sind sie Bestandteil des Kernels, dort entfällt 
also die Treiberinstallation. Unter Windows werden sie beim Einstecken 
des Gerätes automatisch installiert. Da gibt es immer wieder mal 
schwierigkeiten, vor allem nach einem Betriebsystem Upgrade.

Ich nenne mal ein paar davon:

1) Vor ein 1-2 Jahren brachten die Chinesen eine Menge gefälschter FTDI 
Chips heraus, die in der Regel mit den originalen Treibern benutzt 
wurden. FTDI war darüber nicht amüsiert und lieferte dann Treiber aus, 
die die Chips unbrauchbar machten. Sie funktionierten danach nichtmal 
mehr mit den chinesischen Treibern.

2) Viele Datenkabel für (inzwischen veraltete) Handies, insbesondere von 
Nokia enthalten einen USB/Seriell Wandler vom Typ PL2303. Davon gibt es 
unterschiedliche Harware Revisionen. Die älteren funktionieren seit 
Windows 7 nicht mehr, weil der Chip nur von alten Treibern unterstützt 
wird. Linux User haben hier Glück, die sind nicht betroffen.

3) Als Windows 10 raus kam, wurde das Internet praktisch überflutet mit 
Leuten, deren USB/Seriell Wandler mangels Treiberunterstützung nicht 
mehr funktionierten. Hier haben sowohl die Chip-Hersteller als auch 
Microsoft nachgebessert, so dass man sich derzeit keine Sorgen mehr 
machen muss.

Also: So völlig unproblematisch sind diese Chips auch nicht. Sie sind 
allerdings wesentlich einfacher zu programmieren.

Die Alternative ist: Das Anwendungsprogramm kommuniziert direkt mit dem 
USB Gerät (ohne Protokollumsetzer). Das macht der ISP MKII und einige 
Andere. Da Windows jedoch keinen direkten Zugriff auf 
Hardware-Schnittstellen zulässt, ist auch dafür ein (wenn auch sehr 
simpler generischer) Treiber nötig.

Da dieser Treiber in Consumer Produkten nur sehr selten Anwendung 
findet, ist er allerdings weniger weit verbreitet. Bei einem neuen 
Betriebsystem muss man damit rechnen, dass zunächst kein Treiber 
verfügbar ist und es hier ein paar Monate länger dauert, als man es bei 
Consumer Produkten gewohnt ist.

Wenn man erstmal den richtigen Treiber gefunden hat, laufen beide 
Geräte-Arten prinzipiell problemlos. Dann zählen andere Kriterien:

- Eignung für die gewünschten Mikrocontroller
- Eignung für die Versorgungsspannung des Targets
- Ob der Programmer eine Versorgungsspannung bereitstellen kann. Und wen 
ja, welche und wieviel Strom.
- Ob der Programmer ein Gehäuse hat
- Wie empfindlich er auf falschen Anschluss reagiert

Und ein Kriterium, mit dem ich persönlich extrem Stress hatte:

- Ob die ISP Taktrate des Programmers einstellbar ist.

Ich hatte mal einen AVR mit R/C Oszillator und maximalem Taktteiler 
betrieben, also 37,k kHz. Den konnte ich nur einmal flashen, weil der 
ISP Programmer nicht ausreichend langsam eingestellt werden konnte. Ich 
bekam Ersatz vom Hersteller, der ging aber auch nicht besser. Ich bekam 
2 Monate später nochmal Ersatz vom Hersteller, damit ging es dann. 2 
Monate!

Heute weiß ich, wie ich den alten Programmer doch noch hätte verwenden 
können. Aber als Anfänger kennt man halt noch nicht alle Tricks.

> Welchen Programmer hast Du genau?
Ich habe ihn so verstanden, dass es sich um einen Eigenbau mit selbst 
geschriebener Software handelt. Also wenn er dafür jetzt einen tollen 
Namen erfindet, wird es Dir doch nichts nützen.

von Rainer S. (rsonline)


Lesenswert?

Naja, mit dem FTDI Chip habe ich sehr gute Erfahrungen gemacht.
Deswegen habe ich auch darauf hingewiesen. Mit dem PL2303 gab es auch 
bei mir die gleichen Schwierigkeiten, insbesondere mit Linux.

In der überwiegenden Mehrzahl der Fälle läuft heutzutage der FTDI Chip - 
soweit es ein Original ist - stabil. Bei Linux sowieso.

Mit USB Programmierung habe ich leider keinerlei Erfahrung. Habe mal 
gelesen, dass man hier auch den bereits vorhandene HID Treiber, also für 
Tastatur und Maus verwenden könnte. Dann ist kein spezieller Treiber 
nötig.

von Timmo H. (masterfx)


Lesenswert?

Ich habe sowas mal mit dem CP2110 gemacht. Ist auch ein HID USB to Uart 
Bridge. Braucht daher keine Treiber sondern kann einfach über HID bzw. 
über die mitgelieferte DLL/lib angesprochen werden. Ganz nett 
eigentlich.

Muss man einfach nur nach den devices scannen (gehen natürlich auch 
mehrere parallel) und dann einfach HidUart_Open(...), und dann mit 
HidUart_Write und HidUart_Read lesen und schreiben.

von Stefan F. (Gast)


Lesenswert?

> Naja, mit dem FTDI Chip habe ich sehr gute Erfahrungen gemacht.

Ich auch. Der ist durchaus empfehlenswert - auch wenn er einen Treiber 
benötigt.

von Rainer S. (rsonline)


Lesenswert?

Der Programmer ist so gut wie fertig.
Ging alles relativ schnell.

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.