Forum: Mikrocontroller und Digitale Elektronik ATmega 4809 Curiosity Nano - Firmware Update klappt nicht


von Veit D. (devil-elec)


Angehängte Dateien:

Lesenswert?

Hallo,

habe heute das ATmega 4809 Curiosity Nano Board erhalten. Atmel Studio 7 
erkennt es nach anstecken. Ich wollte erstmal die Firmware updaten, doch 
das klappt nicht.

Ich habe die .zip entpackt, da ist eine .xml und .hex drin. Beides 
wollte ich auf das virtuelle Laufwerk kopieren, jedoch bricht der 
Kopiervorgang beim .hex Files immer ab. Egal ob an USB 2.0 oder 3.0 
Port.

In der Status.txt steht drin  "Failed: target flash write error."

Ist das Board defekt?
Oder mache ich etwas falsch?

von Veit D. (devil-elec)


Lesenswert?

Hallo,

habe einen kleinen Test erstellt. Wenn man den Taster drückt leuchtet 
die LED, ansonsten nicht. Wird aus AS7 mittels F5 direkt übertragen und 
startet. Das funktioniert. Led reagiert auf den Taster.

Ich habe bis jetzt noch nichts neues gefunden wie man das Update der 
Debugger Firmware macht. Gibt es dazu etwas zum lesen?

von Wilhelm M. (wimalopaan)


Lesenswert?

Hast Du zum flashen des 4809 auch schon mal avrdude (Linux) verwendet? 
Damit habe ich noch ein Problem, und ich will nicht immer den Umweg über 
Win/AS gehen ...

von Veit D. (devil-elec)


Lesenswert?

Hallo,

wenn ich ehrlich sein darf, ich kenne avrdude nur vom lesen, habe damit 
noch nichts gemacht. Habe bisher meine ATtinys immer mittels mkII aus 
AS7 heraus programmieren können etc. Habe Win10.

Was ich gerade getestet habe ist, man kann das .hex File auch per Drag 
und Drop manuell rüberschieben. So steht es auch in der Anleitung zum 
Board. Ich denke du müßtest nur dein .hex File auf das virtuelle 
Laufwerk schieben/kopieren. Das müßte unter Linux mit einem copy Befehle 
im Terminal gehen.

Nachdem kopieren auf das virtuelle Laufwerk muss man nichts 
weitermachen. Das neue Programm ist sofort aktiv. Allerdings sollte man 
es irgendwann von Hand löschen wenn man es von Hand rüberschiebt - denke 
ich. Aus AS7 heraus löscht sich das selbst wieder.

: Bearbeitet durch User
von Veit D. (devil-elec)


Lesenswert?

Hallo,

falls du nicht wie ich vom Curiosity Nano Board sprichts sondern vom 
nackten ATmega4809, dann brauchst du noch einen UPDI Programmer.

Dazu kann man sich einen Adapter bauen.

https://github.com/ElTangas/STK2UPDI

https://www.elektormagazine.com/labs/arduino-for-updi-programming-for-atmega4809-and-tiny816817-with-jtag2updi

von Wilhelm M. (wimalopaan)


Lesenswert?

Veit D. schrieb:
> Hallo,
>
> falls du nicht wie ich vom Curiosity Nano Board sprichts sondern vom
> nackten ATmega4809, dann brauchst du noch einen UPDI Programmer.

Das ist kein Problem.

Es ging mir um das board mit dem onboard-programmer.

von M. K. (sylaina)


Lesenswert?

Wilhelm M. schrieb:
> Hast Du zum flashen des 4809 auch schon mal avrdude (Linux) verwendet?

Kennt den AVRDUDE schon? Der 4809 ist ja recht frisch.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

ich bin einen Minischritt weiter. Bei avrfreaks gibts einen Eintrag bei 
einem anderen Thema.

https://www.avrfreaks.net/forum/atmega4809-nano-doesnt-reset-after-programming
1
nEDBG firmware version 1.5 was released with MPLABX 5.10 recently.  You can dig it out of a jar from an install, or download it directly here:
2
3
nedbg_fw-1.5.322.zip
4
5
Either way, do the upgrade using: atfw.exe -t nedbg -a <zipfile>

Nur kann ich damit leider nichts anfangen.
Wie ohne atfw.exe?
Was ist atfw.exe überhaupt?
Geht das ansonsten nur mit MPLAB X?

von Axel S. (a-za-z0-9)


Lesenswert?

Veit D. schrieb:
> ich bin einen Minischritt weiter.

Aha. Ist wohl doch so, wie ich nach dem Lesen des Anfangs dieses Threads 
dachte: du versuchst die Firmware des onboard-Debuggers zu updaten, 
verwendest dafür aber die Methode, die ein Programm auf das Target 
laden soll. Das kann natürlich nicht funktionieren.

> ... do the upgrade using: atfw.exe -t nedbg -a <zipfile>
>
> Nur kann ich damit leider nichts anfangen.
> Wie ohne atfw.exe?
> Was ist atfw.exe überhaupt?

Das ist das (sehr vermutlich closed source, Windoze-only) Tool von 
Microchip, um die Firmware des Debuggers mit einem Microchip-internen, 
proprietären Protokoll über USB zu updaten.

Man hätte natürlich DFU dafür nehmen können, aber das wäre wohl zu 
einfach gewesen. Dann könnten ja Hinz und Kunz kommen und beliebige 
Images auf den onboard Debugger Chip laden um damit etwas ganz anderes 
zu machen. Oder vielleicht gar einen besseren Debugger als den von MCP. 
Und das geht ja mal gar nicht. Nein, das muß man alles hypsch proprietär 
halten und fest vernageln.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

klingt logisch. Ich dachte insgeheim das der Debugger µC am .hex File 
erkennt das es für ihn selbst bestimmt ist. In dem .zip fehlt leider 
auch jegliche Readme. Ich bleibe dran.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

habs rausgefunden.  :-)

Das Tool atfw.exe liegt im Atmel Studio Installationsorder rum.
Bei mir mit AS7 unter C:\Program Files (x86)\Atmel\Studio\7.0\atbackend\
Wer es benötigt und kein AS installiert hat, dem lade ich es gern hoch.
Ich habe gleich das .zip File in diesen Ordner verschoben. Dann muss man 
nur noch wie bei avrfreaks beschrieben die DOS Box öffnen, in den Ordner 
wechseln und das Kommando abschicken. Aktuell eben
atfw.exe -t nedbg -a nedbg_fw1.5.322.zip
Kurz Luft anhalten ... das wars.
Ich hatte nun erwartet das genau das in einer Readme im .zip steht. 
Naja.

vorher: Firmware: 01.02.0106
danach: Firmware: 01.05.0142 (hex)

Warum der das nun in hex anzeigt bleibt auch ein Geheimnis der 
Programmierer.  :-)

Egal - ich bin glücklich.

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.