Problem beim Debuggen ATSAMD51, Error reported by NVM Controller

OP #7367677
Lesenswert?

Hallo zusammen,

ich habe neuerdings ein Problem mit zwei Prototypen-Boards mit ATSAMD51 Controllern. Die zwei Boards habe ich seit geraumer Zeit in Benutzung und sie haben einwandfrei funktioniert. Nun gab es folgenden Ablauf:

  • Durch einen Programmfehler in der Firmware-Update-Routine wurde ein paar mal der gesamte Flash speicher durch folgende Routine gelöscht. Die Variable nblocks hatte dabei unbeabsichtigterweise Werte im Bereich +-32768 angenommen...
1
for(int i=0; i<=nblocks; i++)
2
          {
3
            NVMCTRL->ADDR.reg = Startaddress_bank_B + i * NVM_blocksize;
4
            NVMCTRL->CTRLB.reg = 0xa500 | NVMCTRL_CTRLB_CMD_EB;
5
            while(!NVMCTRL->STATUS.bit.READY);
6
          }
  • Nachdem dieser Fehler gefunden und beseitigt wurde, wollte ich die neuen Features zum Programm hinzufügen und diese per Debugger testen. Hierzu wollte ich wie immer das Microchip-Studio und den Atmel ICE Programer nutzen. Wenn ich den grünen "Play"-Button betätige, kommt nun aber nur noch die Fehlermeldung: "Lauch Failed. Error: Error reported by NVM controller."

  • Das Schreiben von neuen Programmen ins Memory funktioniert noch. Debuggen lassen sich die beiden Boards jedoch nicht mehr.

Hat jemand ne Idee wie ich das Debugg-Feature wieder zum Leben erweckt bekomme?

Anbei die Fuses/Userwords von einem der beiden Boards.

Viele Grüße und besten Dank, Fabian

Angehängte Dateien:
#7369526
Lesenswert?

Ist jetzt angesichts der immer noch aktuellen Chipkrise bitter, aber vermutlich ist es das gesündeste die Controller zu ersetzen.

Die Memory Map gibt jetzt nichts her das neben der NVM User Page schlimm wäre gelöscht zu werden und die kann man per Erase Block command nicht löschen. Aber die "Serial Number" liegt mit 0x008061fc und 0x00806010+ an Adressen die es laut Memory Map gar nicht geben dürfte, vielleicht ist ja ein nicht dokumentierter Block gelöscht worden. Wenn dem so ist dürfte den zu ersetzen schwierig sein.

#7370891
Lesenswert?

Du hast es warscheinlich schon mit der Option: "erase entre Chip" versucht?

QFN64 habe ich schon etliche von Hand getauscht. Ja das ist nicht lustig. Ich habe um den Chip mit Alufolie abgedeckt und von oben und unten mit Temp. geregelten Heißluftföns entlötet. Zum wieder Drauflöten hatte ich aber einen professionellen Lötofen zur Verfügung. Bei Kontaktproblemen habe ich mit dem Lötkolben die wettable Flanges an die überstehenden Pads gelötet, dann ging es. Vorher beten! ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren