PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Programmer für AVR32DB32



wkrug
20.08.2024, 09:08
Welchen Programmer kann man für einen AVR32DB32 benutzen.
Welche Programmiermöglichkeiten gibt es? Welche sollte man sinnvoll nutzen können ( sollte ISP kompatibel sein ) .
Ich hab nen AVR ISP MKII - Würde der funktionieren - PDI könnte der aber UPDI??? ?
Ausserdem hätte Ich noch einen DIAMEX-ALL-AVR hier - ginge der?
Aus dem Datenblatt werde Ich da nicht so richtig schlau.
Als Software möchte Ich AVR Studio7 verwenden.

Holomino
21.08.2024, 07:20
MK2 kann definitiv kein UPDI und soweit ich weiß, hat auch niemand die Diamex-Kistchen erweitert.
Entweder ein XNano-Board kaufen oder eine der beiden Selbstbaulösungen bemühen.
- Die eine findest Du unter dem Suchbegriff UPDI EL Tangras (über Microcontroller.net auf's Git verlinkt)
- Die andere nennt sich PyUPDI
Letztlich ist es ja wirklich nur eine simple UART mit variabler Baudrate.

AAAABÄR: Wie bekommst Du denn den Controllertyp in die Deviceliste vom AVRStudio 7? Ich hab mal bei mir geschaut. Ich find ihn nicht.

wkrug
21.08.2024, 07:47
Danke schon mal für Deine Antwort.
Da werd Ich wohl was kaufen, oder bauen müssen.

Der Controller ist im Microchip Studio 7.0.132 ( Hab Ich vor 2 Wochen installiert ) enthalten - Also das mit der Deviceliste sollte kein Problem sein.
In CodeVision AVR ist der Controllertyp ebenfalls enthalten.

Eine Frage hätte Ich noch zur Reset Beschaltung
Muss der Reset auch bei diesem Controller mittels 10k Ohm auf + gelegt werden? - Im Datenblatt findet man nichts dazu.

Holomino
21.08.2024, 08:17
Ähh ja. Zumindest für die von mir verwendeten Tinys der 1er Serie gilt:
Du konntest ja früher bei den älteren AVRs schon per Fuse den Reset-Pin zum GPIO umkonfigurieren. Das ging dann nur über einen HV-Programmer wieder rückgängig zu machen.
Jetzt hast Du die zusätzliche Wahlfreiheit von UPDI auf dem Pin (eigentlich hast Du sie zu Anfang nicht, weil die Chips mit gefustem UPDI bei Dir ankommen). Real haben die Bausteinchen dann aber keine externe Reset-Funktion. Die müsste man per Fuse erst einstellen.

Wenn Du die Fuse auf UPDI belässt, kannst Du Dir vielleicht noch vorstellen: Da läuft ein Protokoll und bei störungsreicher Umgebung flattert der freie Pin dann irgendwann mal zufällig auf den Eingangscode der UPDI-Schnittstelle. Das wäre auch nicht schön, ist mir allerdings auch ohne Widerstand am UPDI noch nicht passiert.

wkrug
22.08.2024, 09:21
Die AVRxxDBxx haben einen exklusiven UPDI Pin der IMHO nur dafür genutzt werden kann.
Der Reset Pin ist Extra - Ich werd da trotzdem mal nen Pullup auf den Reset Pin hin machen.

wkrug
25.08.2024, 20:55
Ich hab mir jetzt mal den DIAMEX EXA-Prog (https://www.reichelt.de/universal-isp-programer-avr-stm32-esp-lpc-diamex-exa-prog-p305203.html?&trstct=pos_1&nbc=1) bestellt.

Wenn Ich richtig lese ist der aber zur Zeit nur mit AVRDUDE kompatibel.

Holomino
26.08.2024, 08:25
Wenn Ich richtig lese ist der aber zur Zeit nur mit AVRDUDE kompatibel.
Wenn Du es nicht schon weißt:
Du kannst die Kommandozeile fürs AVRDude in ATMEL/MICROCHIP Studio unter "Tools/External Tools" eintragen:
https://www.mikrocontroller.net/topic/477806#5950668
Das leitet dann auch die Ausgabe von AVRDude ins Output-Fenster im Studio um.

Kompilieren UND Programmieren (ehem. ALT+F5?) auf einen Klick geht damit zwar nicht, aber es kommt schon nahe dran.

wkrug
26.08.2024, 17:37
Du kannst die Kommandozeile fürs AVRDude in ATMEL/MICROCHIP Studio unter "Tools/External Tools" eintragen
Nein, das wusste Ich nicht - Danke für die Info!!!
Ich hab mit den AVR32DB neu angefangen und nicht gerechnet, das das so viele Probleme macht.
Microchip ist schon Cool, das im aktuellen Studio keine Programmiermöglichkeit ( ausser mit super teueren Programmern ) für UPDI impementiert ist.
Ich hab mir die neueste Version von AVRDUDE ( 8.0 ) herunter geladen, da ist der AVR32DB32 schon drin.
Da mir das mit der Kommandozeile nicht so liegt hab Ich mir ne GUI ( AVRDUDESS ) herunter geladen.
Mal gucken, was mir besser liegt und was besser funktioniert.

Der Grund für die Wahl dieses Controllers ist, das Ich 2 unabhängige TWI ( I²C ) und 2 serielle Schnittstellen mit unterschiedlichen Geschwindigkeiten brauche und die in dem Controller in Hardware vorhanden sind.

Holomino
28.08.2024, 08:01
Ich hab mit den AVR32DB neu angefangen und nicht gerechnet, das das so viele Probleme macht.
Wird schon klappen.
Die 1er Tinys lagen bei mir zuerst auch erst ein paar Monate zum reifen in der Schublade. Danach musste ich die UPDI-Schnittstelle nicht mehr selber programmieren (wegen des EL Tangras-Projektes) und mittlerweile gibt es auch einige der neuen Controller bei Reichelt.

Wenn Du den Progger am Start hast, musst Du nur noch dran denken, in den ISRs die Status-Flags der Interrupts per Code zurückzusetzen. Das ist nicht immer gut dokumentiert und wenn man von den alten AVRs kommt, rechnet man auch nicht unbedingt damit.

wkrug
28.08.2024, 08:18
...musst Du nur noch dran denken, in den ISRs die Status-Flags der Interrupts per Code zurückzusetzen
Das war auch stellenweise bei den alten ATMEGA's so, trotzdem danke für den Hinweis.


...mittlerweile gibt es auch einige der neuen Controller bei Reichelt
Da hab Ich meine auch her...

wkrug
29.08.2024, 21:27
Das Proggen mit AVRDUDE und UPDI funktioniert.
Im Studio ist aber leider noch kein Simulator für den Chip implementiert.
Und debuggen mittels Studio - EXA-PROG und UPDI funktioniert auch nicht.
Da muss wohl noch was etwas reifen...

wkrug
05.09.2024, 14:19
OK,
nun funktioniert alles so weit - Proggen und debuggen. Ich möchte schildern wie meine Lösung nun aussieht.
Mit dem DIAMEX EXA-Prog ist leider nur Programmieren der AVRxxDBxx Controller möglich.
Da der Simulator in meinem Fall für den AVR32DB32 nicht mehr im Microchip Studio vorhanden ist, musste ein Debugger in Harware her.
Ich habe mich für den Microchip SNAP entschieden.
Und es war doch einiger Aufwand nötig um den zum laufen zu bringen.

1. Software:
Der SNAP wurde von Windows 10 erkannt und ohne weitere zusätzliche Treiber installiert.
Das Studio 7 wollte, vor der Controller Programmierung, ein Software Update für den SNAP starten, das hat aber nicht funktioniert.
Erst als Ich im MPLAB X ein neues Projekt angelegt habe, konnte Ich damit ein Softwareupdate auf den SNAP machen.
Danach klappte es auch mit dem Softwareupdate aus dem dem Studio 7 heraus. Siehe AVR Freaks Beitrag (https://www.avrfreaks.net/s/topic/a5C3l000000Uc60EAC/t160232).

2. Hardware:
Ich hab meinen Microchip SNAP bei Reichelt bestellt.
Zusätzlich wird noch ein USB A auf Micro USB Kabel benötigt.
Zudem ein selbst gebasteltes Programmierkabel ( Pfostenfeldstecker + 6 pol Wannenbuchse ).
Bei Reichelt gab es einen Hinweis ( Download .pdf ) das bei AVR Controllern ein Widerstand ( R48 4,7kOhm ) beim SNAP zu entfernen ist.
Zusätzlich muss Controllerseitig ein 1...10 kOhm Widerstand gegen +V eingebaut werden.
Ich hab da 6,8kOhm genommen.
Dann muss ein Adapter gebastelt werden:

ISP Buchse Pin, Bedeutung, SNAP Pin
1, UPDI, 4
2, +VCC, 2
3, NC
4, NC
5, NC
6, GND, 3

Die restlichen Pins des SNAP bleiben frei.

Damit kann Ich nun mit dem Microchip Studio proggen und auch debuggen.
Der ganze Spaß hat mich etwa einen Tag gekostet bis es lief.
Anzumerken ist noch das der EXA-Prog den Controller mit Spannung versorgt und somit keine externe Spannung an den Controller angelegt werden muß ( darf? ).
Beim SNAP braucht der Controller zwingend eine eigene Stromversorgung.
In der fertigen Schaltung werde Ich da wohl für den +VCC einen Jumper vorsehen.
36014
Bild meines Programmieradapters.

Danke an Holomino für die guten Tipp's