Hallo zusammen,
wisst ihr, ob man den Microchip AVR128DA o.ä. ohne extra
Programmiergerät oder Debugger-Baustein per USB flashen kann?
Ist der entsprechende Bootloader hier schon drauf?
Ich finde leider hier erstmal gar nichts dazu im Netz. Evtl. geht es ja
auch gar nicht.
Vielleicht könnte mir jmd. dbzgl. einen Tip geben.
Danke schon mal,
Michael
Michael schrieb:> Hallo zusammen,>> wisst ihr, ob man den Microchip AVR128DA o.ä. ohne extra> Programmiergerät oder Debugger-Baustein per USB flashen kann?> Ist der entsprechende Bootloader hier schon drauf?> Ich finde leider hier erstmal gar nichts dazu im Netz. Evtl. geht es ja> auch gar nicht.> Vielleicht könnte mir jmd. dbzgl. einen Tip geben.>> Danke schon mal,> Michael
Moin,
so viel wie mir bekannt ist, geht das nur mit einem UPDI fähigen
Programmiergerät, wie z.B. das ATMEL-ICE. Ob es billigere Klonen gibt,
habe ich nicht untersucht. Ich kaufte mir die ICE Bord von Digikey für
$70. Bis jetzt habe ich es nur erfolgreich an einem DB64 ausprobiert um
einen Arduino Bootloader darauf zu installieren. Dies ging einwandfrei.
Diese Serie von uC unterstützt nicht mehr die alten ISP
Programmiergeräte.
https://www.digikey.ca/en/products/detail/microchip-technology/ATATMEL-ICE-PCBA/4753383
(Ich sehe der Preis ist rauf gegangen. Ich bezahlte letzte Weihnachten
$70).
Vielleicht weiß jemand hier mehr.
Gerhard
Gerhard O. schrieb:> so viel wie mir bekannt ist, geht das nur mit einem UPDI fähigen> Programmiergerät, wie z.B. das ATMEL-ICE. Ob es billigere Klonen gibt,> habe ich nicht untersucht.
MPLAB Snap ist eine günstigere Alternative, das Ding kann ISP, UPDI,
4-Draht-JTAG, DebugWire etc.
Lässt sich mit Microchip Studio (dem früheren Atmel Studio) nutzen. Nett
gegenüber dem Atmel-ICE ist die Tatsache, daß das Ding einen normalen
Steckverbinder im 0.1"-Raster verwendet, so daß es einfach ist, sich für
die verschiedenen Anwendungen Adapter zu basteln.
https://www.microchip.com/en-us/development-tool/PG164100
Dazu kann das Ding auch PICs und Atmel-SAM-ARMe programmieren/debuggen.
Wenn du einen Controller mit USB-Peripherie verwendest kannst du einen
Bootloader drauf flashen (wozu einmalig ein Programmiergerät nötig ist)
sodass du dann per USB direkt flashen kannst. Manche Controller haben
das direkt ab Werk im ROM eingebaut, wie z.B. einige STM32 oder auch die
ESP32-S3. Letztere kann man über den USB sogar debuggen.
Wenn du einen USB-auf-Seriell-Adapter hast, geht es auch per pymcuprog
(https://pypi.org/project/pymcuprog/), basierend auf pyupdi. Eine
Anleitung findet sich auch im GitHub-Repo
(https://github.com/microchip-pic-avr-tools/pymcuprog). TX und RX werden
einfach Verbunden an UPDI angeschlossen, es braucht nur einen Widerstand
(~1k) oder Schottky-Diode (BAT54 o.ä.) am TX-Ausgang. Das Tool selbst
ist direkt von Microchip.
Michael schrieb:> Hallo zusammen,>> wisst ihr, ob man den Microchip AVR128DA o.ä. ohne extra> Programmiergerät oder Debugger-Baustein per USB flashen kann?> Ist der entsprechende Bootloader hier schon drauf?> Ich finde leider hier erstmal gar nichts dazu im Netz. Evtl. geht es ja> auch gar nicht.> Vielleicht könnte mir jmd. dbzgl. einen Tip geben.>> Danke schon mal,> Michael
Wenn du mit diesen Controllern entwickeln willst, dann leiste dir einen
Atmel ICE. Damit kannst du auch gleich Debuggen. Das ist Gold wert.
Wenn dir das zu teuer ist, gehe auf STM32. Da bekommst du den ST-Link
für 20-30 Euro im Original und unter 10 als Clone. Damit kannst du
natürlich ebenfalls Debuggen.
Ich würde nie und nimmer heute noch anfangen da mit Bastel-Tools
rumzumachen, die mit Müh und Not nur Flashen können. Nicht mehr
zeitgemäß. Komfortables Debuggen, Durchsteppen, Breakpoints, Variablen
anschauen und ändern usw. usw. Wer will heute noch darauf verzichten?
Cyblord -. schrieb:> Wenn du mit diesen Controllern entwickeln willst, dann leiste dir einen> Atmel ICE.
Wie Sepp schon schrieb, ist der nicht nötig. Der MPLAB Snap kann das
gleiche, kostet weniger und hat weniger eklige Anschlüsse.
Ist es damit möglich, auch per USB zu flashen, d.h. vorher damit den
Bootloader draufzuspielen und dann den eigentlichen Code? Mit geht es
eigentlich gar nicht so um das debuggen, sondern um ohne
Programmiergerät das Modul flashen zu können, so wie es mit dem ESP32
möglich ist.
Michael schrieb:> wisst ihr, ob man den Microchip AVR128DA o.ä. ohne extra> Programmiergerät oder Debugger-Baustein per USB flashen kann?
nach Blick ins Datenblatt fehlen dem Chip USB Anschlüsse
Michael schrieb:> wisst ihr, ob man den Microchip AVR128DA o.ä. ohne extra> Programmiergerät oder Debugger-Baustein per USB flashen kann?
Naja, ein "Programmiergerät" braucht's schon. Das kann aber sehr simpel
sein. Im Prinzip handelt es sich dabei um einen handelsüblichen
USB-Serial-Adapter, der nur minimal modifiziert werden muss (ein
zusätzlicher Widerstand).
> Ist der entsprechende Bootloader hier schon drauf?
Das Schicke dabei ist: es wird kein Bootloader benötigt. Dieses
"Programmiergerät" spricht mit dem Target UPDI. Das kann das von Hause
aus sehr gut, so dass es keine Hilfe durch einen Bootloader braucht. ;o)
> Ich finde leider hier erstmal gar nichts dazu im Netz.
Dann solltest du dringend einen Grundkurs Webrecherche belegen.
Hallo,
also egal wie du es drehst und wendest, du benötigst immer noch
irgendeinen extra Baustein/Minischaltung zum flashen.
Um überhaupt generell erstmal direkt flashen zu können benötigst du
mindestens die Python Variante mit dem Widerstand bzw. Diode und einen
USB-Serial Wandler. Damit kannste direkt flashen oder den Bootloader
aufspielen.
Wenn du den Bootloader draufhast, benötigst du weiterhin einen
USB-Serial Wandler. Damit hast du ala Arduino eine einfache
Programmiermöglichkeit und gleichzeitig eine serielle Verbindung für
Terminalkommunikation.
Du kannst dir auch einen MPLAB Snap, einen Atmel ICE oder einen
ATtiny416 Xplained Nano oder ein ATtiny817 Xplained Mini Board kaufen
und verwendest das zum flashen und auch debuggen.
Du merkst, egal wie du dich entscheidest du benötigst immer zusätzliche
Hardware.
Wenn du nicht in Hardware debuggen möchtest, dann nimm einen USB-Serial
Wandler und die Python Variante, bau eine brauchbare Leiterplatte mit
Stecker/Buchse auf und mach damit erstmal rum. Wenn die Ansprüche
steigen kannste immer noch einen Programmer oder günstiger die Xplained
Boards / Snap kaufen. Die werden übrigens auch per USB angeschlossen.
:-)
Wenn du nichts rumbammeln haben möchtest, dann nimm einen AVR...
Curiosity Nano, dabei kannste auch gleich zur AVR128DB48 Variante
greifen wenn es keinen Zwang zur DA Serie gibt.
Jetzt musste dich nur entscheiden. Ist nicht einfach bei der Qual der
Wahl. Nur wenn was rumbammelt sieht technischer aus. :-) :-) :-)
Insider:
Glücklich ist derjenige der jemanden aus Űbersee kennt der einem ein Eis
schenkt. Danke im Stillen.
Cyblord -. schrieb:> Wenn du mit diesen Controllern entwickeln willst, dann leiste dir einen> Atmel ICE
Ach was. Viel zu teuer.
Gerhard O. schrieb:> Vielleicht könnte man eine Curisosity Bord dafür mitverwenden> weil sich das UPDI abtrennen lässt
Yeah! Ist zwar nicht vorgesehen geht aber.
Also,
Veit D. schrieb:> nimm einen AVR...> Curiosity Nano
da kann man den Programmer/Debugger für andere UPDI Controller
zweckentfremden (auch ohne physische Trennung) und Du kommst mit 20€
Investition davon. Im übrigen sind die Curiositys auch so schon eine
perfekte Grundlage für eigene Projekte. Programmier/Debug Möglichkeit
via USB inklusive. Ein "ganz offizielles" Microchip-Tool für die
Zusammenarbeit mit dem 7er Studio.
Michael schrieb:> Ist es damit möglich, auch per USB zu flashen, d.h. vorher damit den> Bootloader draufzuspielen und dann den eigentlichen Code? Mit geht es> eigentlich gar nicht so um das debuggen, sondern um ohne> Programmiergerät das Modul flashen zu können, so wie es mit dem ESP32> möglich ist.
Jetzt kapiers doch bitte. Direkt über USB geht nicht. Du brauchst
irgendeine Art von UPDI Programmer, wie auch immer der dann ausgeführt
ist.
Cyblord -. schrieb:> Direkt über USB geht nicht.
Natürlich geht das. Das geht sogar mit einem AtTiny85 ("Digispark"*).
Voraussetzung ist hier ein Bootloader, der ein USB-CDC emuliert und
darüber das Arduino-Bootloader-Protokoll abwickelt.
Nur --und da hast Du recht-- auf einen "nackten" µC bekommt man diesen
Bootloader nicht ohne Hilfsmittel rauf.
*) http://digistump.com/products/1
DerEgon schrieb:> Nur --und da hast Du recht-- auf einen "nackten" µC bekommt man diesen> Bootloader nicht ohne Hilfsmittel rauf.
Und nur darum geht es hier. Es ist ja eine Binse, WENN du einen
Bootloader drauf spielen kannst, dann auch jedes andere Programm. Also
ist dein Hinweis komplett Unsinnig.
Michael schrieb:> Mit geht es> eigentlich gar nicht so um das debuggen, sondern um ohne> Programmiergerät das Modul flashen zu können, so wie es mit dem ESP32> möglich ist.
Nimm doch den ESP32, der kann eh viel mehr. Wobei die älteren ESP32,
also nicht ESP32-S2/3, auch keinen USB haben und nur über einen
USB-Seriell-Adapter (oder JTAG) geflasht werden können, welcher sich
aber auf den Eval-Boards mit drauf befindet.
Programmierer schrieb:> Nimm doch den ESP32, der kann eh viel mehr.
Und er verbraucht auch viel mehr. Dazu kommt, daß er weniger
I/O-Leitungen hat; den AVR128DA gibt es im 64-Pin-Package mit 55
I/O-Pins. Der ESP32 hat nur 34 I/O-Leitungen.
Florian S. schrieb:> Wenn du einen USB-auf-Seriell-Adapter hast, geht es auch per pymcuprog> (https://pypi.org/project/pymcuprog/), basierend auf pyupdi. Eine> Anleitung findet sich auch im GitHub-Repo> (https://github.com/microchip-pic-avr-tools/pymcuprog). TX und RX werden> einfach Verbunden an UPDI angeschlossen, es braucht nur einen Widerstand> (~1k) oder Schottky-Diode (BAT54 o.ä.) am TX-Ausgang. Das Tool selbst> ist direkt von Microchip.
Ok, ich brauche also ein Programmiergerät und einen USB-Serial-Wandler
um über den seriellen Port per UPDI den Controller flashen und ggf. auch
debuggen zu können, so wie es auch hier beschrieben ist, oder?
https://www.electronics-lab.com/usb-updi-programmer-pcb-for-avr-micrcontrollers/
Standard USB to UART Chips, wie der CP2102, FT232 o.ä. müssten doch aber
genauso verwendbar sein, oder?