Hello, Guest the thread was called1k times and contains 9 replays

last post from Starquake at the

Problem mit der Programmierung von Atmel Mikroprozessoren

  • Hallo Leute,


    ich bin gerade ein klein wenig angepisst. Hatte mir die Tage einen nano SwinSID gebaut und wollte diesen nun "schnell" programmieren. Mit Atmels stehe ich eigentlich schon immer auf Kriegsfuß, aber beim letzten programmieren vor ein paar Wochen war alles schick.


    Aber ich hole jetzt mal ein bisschen weiter aus.

    Wie bei fast allen liegen sicherlich ein haufen Programmiergeräte und Adapter in der Schublade.

    hier mal meine kleine Sammlung für PICs

    Microchip.JPG

    für Atmels

    Atmel.JPG

    und als modernstes einen TL866 (mit dem ICSP-Adapter und dem Adapter für den SwinSID)

    TL866.JPG

    Ich habe früher gerne mit PICs von Microchip gearbeitet, so ab 2004, und dies eigentlich auch bis heute beibehalten. Nur die ganzen Bastler auf der Welt verwenden die Atmels - auch wenn die heute zu Microchip gehören macht es das für mich nicht besser.


    Was für ein Problem habe ich?

    Betriebssystem ist hier Windows 10 64-Bit

    Ich wollte den SwinSID mittels USBasp (Fischl) programmieren, dazu einen Adapter gebastelt, aber der USBasp verweigert die Zusammenarbeit mit dem OS. Dies liegt aber nicht am Adapter, sondern an einer Fehlfunktion des Treibers (Windows kann das Gerät nicht migrieren, habe ich noch nie gehabt).

    Egal, nimmste halt den TL866 - also ein ICSP-Kabel gebastelt und für gut befunden, aber die Maschine mag nicht. (so langsam bekomme ich 200 Puls).


    Bei den PICs hatte ich auch schon feststellen dürfen, dass der TL866 nicht so sonderlich gut funktioniert, da hat es dann mein alter (selbstgebastelter) Parallelportprogger rausreissen müssen (der wunderbar unter Windows 10 funktioniert).


    Zurück zum Atmel-Gedöns

    also TL866 erkennt über den ICP-Anschluss den Atmega den SwinSID und auch den Atmega der 1541-Rebuild-Platine nicht.

    - Das Kabel ist meiner Meinung nach richtig konfektioniert (Internet verschiedene Bilder angesehen, in der Software wird einem ja auch die Verkabelung angezeigt, fünfmal kontrolliert), allerdings ist mein TL866 ein umgerüsteter TL866CS und ich habe die ISCP-Schnittstelle noch nie ausprobiert.

    TL866_ICP.JPG

    Da der USBasp unter Win10 wohl nicht richtig funktioniert, habe ich eine alte virtuelle Windows XP Maschine hochgefahren und ihn dort ausprobiert, der USBasp wird sauber erkannt und kann auch auch auf den Microkontroller zugreifen, nur nicht programmieren, da die Software natürlich hoffnungslos veraltet und nix neues gibt es in der Richtung nicht, jedenfalls nicht von der Software die ich damals dafür verwendet hatte. Aber prinzipell steht die Verbindung.

    Also einen neue virtuelle Maschine installiert, diesmal ein Windows 7 32-Bit, den Zadig-Treiber für den USBasp drauf und alles sieht erst einmal schick aus, dann AVRDUDEss installiert und mich schon gefreut - aber nix da ... jetzt wird der USBasp Adapter von AVRDUDEss nicht erkannt und gibt Fehlermeldung aus es wäre kein USBasp vorhanden, obwohl die VID & PID korrekt sind ...


    Das war der heiße Stein, der das Fass zum überlaufen brachte und ich nun wie groß Doofie hier stehe und im Strahl breche.


    Was ich nun noch ausprobieren werde ist aus dem ZIF-Sockel des TL866 mir die Signale zu holen und auf meinen Adapter zu bringen.


    Ich hätte da auch noch einen Adapter um direkt auf den Chip zu gehen.

    Adapter.JPG


    Was verwendet ihr (Hard-/Software) um die Atmels zu programmieren?


    Eine einfache out-of-the-box Lösung wird präferiert.


    Jedesmal die gleiche Sch...ade. Das Problem ist halt auch, dass ich lange nichts mache und in der Zwischenzeit alles vergessen habe. Mein letztes eigenes Projekt (auf einem Atmel) ist schon wieder acht Jahre her.


    so genug geweint ...

  • Was heißt denn, du kannst unter deiner VM den Chip nicht programmieren, weil die Software veraltet ist? Gibt es eine Fehlermeldung? Edit: bitte mal die Zeile.posten, die du eingegeben hast und die Ausgabe.


    Als ISP Programmer für Atmega Chips verwende ich meist einen Arduino, oder für DIL den 866.

  • Also ich habe diverse Programmierer, nutze i.d.R. aber meist AVR Dragon und USBasp.

    Mit dem USBasp hatte ich auch Probleme und zwar mit der 5V Spannungsversorgung. Daher versorge ich den Chip immer mit externen 5V (dabei muss die Masse des ext. Netzteil mit der Masse des USBasp Pins verbunden werden).

    Für die Programmierung selber nehme ich avrdude her, allerdings auch von einem Linuxsystem aus.

    Code
    1. avrdude -c usbasp -p t4313 -P usb -U flash:w:/path/to/hexfile

    In dem Beispiel wird ein Attiny 4313 programmiert (-p t4313). Eine Liste der unterstützten Typen solltest Du mit "avrdude -p ?" bekommen.

    Um welchen Atmel handelt es sich denn und stammt der evtl. schon aus einer Schaltung, wo z.B. die Fuses schon geändert wurden, damit der mit einer anderen Taktfrequenz läuft? (In diesem Fall müsste der Atmel auch zum programmieren mit der Frequenz betrieben werden).


    Und wie vorher schon geschrieben, Fehlermeldungen und Codezeilen wären gut :)

  • Der USBasp habe ich unter Windows 10 x64 einfach per Zadig installiert. Soweit funktioniert er. Die besten Erfahrungen habe ich mit dem USPmkII gemacht. Der nutze ich sowohl unter Windows 10 als auch Linux jeweils mit AVRDude (Nutze nichts anderes) gänzlich ohne Probleme. Der hat mir auch Atmels wiederbelebt, die mit den anderen Adaptern gar nicht mehr erkannt wurden.

  • Ersteinmal Danke an Alle für ihre Bemühungen. :thumbsup:

    Hallo, den Zadig Treiber kannst du auch unter Windows 10 verwenden.

    Weis ich, habe ich auch verwendet, allerdings gibt es auf der Maschine, auf welcher ich die Programmierung vornehmen wollte leider einen Hinweis des Betriebssystems, dass weitere Installationen von nöten wären. :?:

    Fehler.jpg


    Was heißt denn, du kannst unter deiner VM den Chip nicht programmieren, weil die Software veraltet ist? Gibt es eine Fehlermeldung?

    Genau, ich habe meinen Windows-XP-Rechner 2014 virtualisiert um ggf. alte Programme ausführen zu können, diese sind natürlich mittlerweile hoffnungslos veraltet und kennen auch den ATMEGA88PA nicht. Die Software lässt sich auch nicht aktualisieren, da es die Herstellerseite schon gar nicht mehr gibt, allerdings konnte ich damit einen "alten" Mikroprozessor mit dem USBasp erfolgreich auslesen => daraus folgere ich, dass die Verbindung und Treiber in Ordnung sind. Mit der alten Maschine wollte ich nur die Funktionfähigkeit testen.

    Mit dem USBasp hatte ich auch Probleme und zwar mit der 5V Spannungsversorgung. Daher versorge ich den Chip immer mit externen 5V (dabei muss die Masse des ext. Netzteil mit der Masse des USBasp Pins verbunden werden).


    Um welchen Atmel handelt es sich denn und stammt der evtl. schon aus einer Schaltung, wo z.B. die Fuses schon geändert wurden, damit der mit einer anderen Taktfrequenz läuft?


    Und wie vorher schon geschrieben, Fehlermeldungen und Codezeilen wären gut :)

    Das mit der Masse werde ich im Hinterkopf behalten, aber das Problem sitzt tiefer.

    Es handelt sich um einen ATMEGA88PA, dieser ist jungfräulich und von Reichelt, also keine obskure Chinaware.


    hier die Fehlermeldung von AVRDUDEss (beim Versuch den Mikrokontroller zu erkennen, beim Programmierversuch kommt allerdings sinngemäß die gleiche Fehlermeldung)

    AVRDUDEss.jpg

    Wie man sieht erkennt AVRDUDE den USBasp nicht, obwohl das Gerät lt. Gerätemanager eigentlich ordnungsgemäß funktioniert, aber trotzdem weitere Installationen anfordert (nur welche?)

    Im AVRDUDEss wird die VID und PID angemeckert, allerdings sind diese lt. Gerätemanager ok.


    Habe mir auch jetzt nochmal einen Adapter für den ZIF-Sockel des TL866 gebastelt, leider wäre das zu einfach gewesen, denn so funktioniert es jedenfalls auch nicht.

    Adapter.JPG

    Der Adapter sollte also von DIP28-ATMEGA88 auf ICSP für Atmel sein ... geht so nicht.

    Daneben liegt der eigentliche Programmieradapter für den SwinSID.

    Meine hergestellten Kabel sind alle durchgeklingelt und (leider) korrekt ...


    -----

    weitere Vorgehnsweise meinerseits:

    - ich werde mir einen Rechner frisch mit Windows installieren und nur den USBasp-Treiber installieren und AVRDUDEss und sehen was dabei herauskommt

    - heute Morgen war ich schon fast soweit ein AVR-Ice zu kaufen, aber die gibt es ja gerade nicht preiswert (nur Platine für 50€), sondern nur für gut das Doppelte ... also nein

  • Auf dem einem Screenshot sehe ich den Vermerkt libwdi - das sieht nach nach WinUSB Version aus (wie gesagt, ich nutze kein Windows) - hattest Du mal die libusb aus dem Zadig Umfeld probiert?

    Zu dem Thematik scheint es mehrere "Problemthreads" zu geben.


    In einem Thread wird empfohlen den libusb, statt dem WinUSB zu nehmen:

    https://electronics.stackexcha…basp-device/417509#417509


    Eventuell hilft das ja auch.

  • Ich hatte hier auch zwei USBASP, die beide keine ATMEGA erkennen wollten.

    Ich habe mir dann bei ebay einen anderen gekauft, der hat auf Anhieb funktioniert.

    Ich hatte irgendwo gelesen, dass ältere USBASP mit neueren Atmels nicht wollen/können. Da hilft wohl auch kein Firmware-Update.


    Mit Windows hatte ich jetzt keine Probleme, aber vielleicht habe ich auch Zadig verwendet. Weiss ich nicht mehr, ist schon wieder 10 Monate her.

  • I always have problems with USBasp and AVRDUDESS also. I have an old Windows XP machine (native install) that I keep around for this because then it always works fine. It's the same with my EPROM progammer- still works fine in XP, not in newer OS.


    I had no luck running XP VM in Windows 7 or 10, it still did not work for me with USB.


    I think USB is different now (EHCI, xHCI, all this nonsense).

  • Hallo Mitforisten,


    heute habe ich mit etwas Abstand wieder vor die Programmierung des ATMEGAs gemacht und zuerst schien sich die Situation vom Sonntag zu wiederholen ...


    aber dann habe ich noch ein anderes ICSP-Kabel verwendet, welches bei einem TL866-II (aus der Firma) mitgeliefert wurde und von mir eigentlich mit Missachtung bestraft wurde, da es einzelne Dupont-Buchsen am Ende hatte und somit eigentlich nicht für Ergonomie steht.

    >>> mit diesem Kabel lässt sich das Teil ohne zu mucken programmieren <<< Unterschied zu meinem bisher verwendeten Kabel Einzel-Dupontbuchse ggü. einer 6-pol-Buchse und ca. 10cm kürzer.

    Programmiert wurde jetzt mit dem TL866, die USBasp Geschichte werde ich demnächst mal angehen, habe ja ein paar Tipps dahingehend bekommen.


    Ende vom Lied - der Atmel spielt nicht mehr das Lied vom Tod, sondern vom glorreichen Sieg ...


    vielen Dank fürs lesen, kommentieren und moralische Unterstützung