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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.