Forum: Mikrocontroller und Digitale Elektronik Atmel µC per USB programmieren


von jedler (Gast)


Lesenswert?

Habt ihr Erfahrungen bzw. gibt es Projekte bzw. Code dazu wie man vom PC
aus über den USB Port einen USB-fähigen Microcontroller programmieren
kann?

von Ralf (Gast)


Lesenswert?

Für gewöhnlich ist im Datenblatt erwähnt, ob der µC über USB
programmiert werden kann. Beispielcode gibt normalerweise ebenfalls im
DB oder in Application Notes...

Ralf

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ein Beispiel ist der AN2131, der holt sich seine Firmware via USB.

von Andreas Knorr (Gast)


Lesenswert?

Ich programmier gerade den AT89C5131 von Atmel.

An und für sich ein guter Chip und er lässt sich wunderbar mit der
kostenlosen Software FLIP über USB programmieren.

Aber die USB Funktion auf den Chip selbst in Assembler zu
programmieren, daran beiß ich mir momentan die Zähne aus...

Glücklicherweise lässt der Chip sich endlos oft reprogrammieren....

von Andreas Knorr (Gast)


Lesenswert?

Nochmal ich....

Ich hab oben die E-Mailadresse falsch angegeben.


Falls es Leidensgenossen mit dem AT89C5131 da draußen gibt:

Meldet euch! Vielleicht kann ich euch helfen...

Falls mir jemand mit der USB Sache bei den Atmel Chips helfen kann:

Um Gottes Willen, Melde dich!!!!

von Thomas (Gast)


Lesenswert?

Ich beschreibe mal wie ich das vor einiger Zeit via IAP und USB Chip
gemacht habe:

Ich habe zwei Firmware Module geschrieben.
Ein Bootloader von 0...07FFh der sich natürlich nicht per USB
updaten lies und ein App Modul ab 0800h.
Der Loader beherschte 2 VendorRequests IAPGet und IAPSet.
Etwas trickreich ist in diesem Fall die Interuptvektor Tabelle.
Eine einfache Weiterleitung in den App Bereich geht nicht da die
App ja u.U. noch nicht da ist. Ich habe das dann mit einem prog.
Vektor über den Stack gemacht allerdings nur für Interrupts die
sowohl im Bootloader als auch im App Modul gebraucht wurden.
Der Bootloader habe via Flip geflashed (AT89C51RB2)

Das Teil ist mehrere tausend mal im Einsatz. Ich hatte nur
ein paar verflashte Controller weil der Bestücker einmal
den RD2 verwendet hat, der nicht 100% kompatibel im IAP war.
Ich hatte das nie getestet und auch nicht freigegeben...

Generell sollte dieses Verfahren mit jedem IAP fähigen
Controller funktionieren. Bei anderen Herstellern muss
man halt ev. auf die Flash Segmentierung achten.

Einen Nachteil hat meine Lösung:
jeder dyn. Vektor braucht ein par Zyklen länger bis der
Interrupt angenommen wird und ich brauche jeweils 2 Bytes
im DMEM.

Thomas

von Thomas (Gast)


Lesenswert?

@Rufus
der Cypress Chip kann zwar seine FW via Treiber über den
USB Bus bekommen ich halte dieses Verfahren allerdings nicht
für sehr gelungen. (2 PnP Events, Treiberupdates bei FW
Änderungen, Sicherheitsaspekte)
Besser man bootet den Chip aus dem EEprom und macht das
FW Update selbst.

Thomas

von bhayer (Gast)


Lesenswert?

Auf die Gefahr hin das die meisten es bereits wissen,
aber Atmel hat vor knapp einer Woche AVR und 8051 kompatible Controller
mit integriertem USB angekündigt.
Diese sollen sich auch problemlos über USB programmieren lassen.
Verfügbar sind die Controller angeblich bereits, bei den Distributoren
geht man aber davon aus dass es noch 3-4 Wochen dauern wird bis sie
hier lieferbar sind.

Es soll zwei verschiedene Typen geben einen mit Funktion als normales
USB-Device und einen mit USB-Host Controller.

http://www.atmel.com/dyn/products/product_card.asp?part_id=3874
http://www.atmel.com/dyn/products/product_card.asp?part_id=3875

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.