Hallo, ich hab's leider irgendwie geschafft, meinen PIC24F32K302 unbrauchbar zu machen :( Hatte nie Probleme mit dem Teil, aber seit dem ich letztens ein kurzes Programm hochgeladen hatte, lässt sich das Teil nicht mehr Programmieren. Das Programm scheint tatsächlich zu tun, was es soll, aber in der Konsole von MPLAB X steht jetzt jedes Mal, wenn ich versuche was hochzuladen: "Target Device ID (0x0) is an Invalid Device ID." und "[config mem] 0xf80000, expected 0xf, got 0x0." Hab hier im Forum schon paar Beiträge mit ähnlichem Betreff gelesen, hat aber bisher leider nichts geholfen. Der Microcontroller ist definitiv richtig angeschlossen; der gleiche Aufbau hat bisher auch immer funktioniert. Mittlerweile hab ich sogar bis auf das Programmiergerät alles andere abgestöpselt, geht aber immer noch nicht. Konnte leider nicht rausfinden, ob oder wie man die wieder programmieren kann. Wär toll, wenn mir da wer helfen könnte.
Target Device ID (0x0) is an Invalid Device ID. Das ist in 99% der Fälle kein Problem am/im Mikrocontroller. Da hats was mit den Programmierleitungen und/oder der Spannungsversorgung. Am Programmiergerät, im Kabel, in der Buchse auf der Platine, an den Lötstellen der Buchse, an den Leitungen auf der Platine selbst oder an den Lötstellen am Prozessor. Da wir 0 Informationen haben in welchem Umfeld du den µC betreibst - wirds schwer hier weiterzuhelfen. Ein Durchgangsprüfer könnte helfen (MCLR, PGD, PGC, Masse, VCC) - ein Ende am µC - das andere am Kabelende beim PRogrammiergerät (Allein schon, dass wir nichtmal wissen welches du verwendest ist echt nicht zielführend). Also eigentlich kanns einfach alles sein solange du nicht systematisch beginnst Ursachen auszuschließen (wirklich angefangen bei der Stromversorgung)...
Ich hab schon versucht einfach den ganzen Programmspeicher zu löschen, ja.. Leider wird, bevor mit dem Löschvorgang überhaupt begonnen wird, bereits die device ID überprüft und der Vorgang dann abgebrochen.
Hallo morph, ich verstehe was du meinst. Normalerweise vertrau ich meinen Schaltungen auch keinen Millimeter weit ;) Nur hat alles wunderbar funktioniert (konnte problemlos Programme hochladen, der Controller hat gemacht was er soll etc) bis ich ein neues Programm hochgeladen hab. Der Chip hat gemacht was er sollte nur konnte ich auf einmal nichts mehr hochladen. Hab darauf hin einen neuen Chip eingesetzt und zu erst ein älteres Programm hochgeladen; hat alles funktioniert. Dann hab ich das neue Programm auf den neuen Microcontroller geladen und seitdem geht der auch nicht mehr. Irgendwelche Fehler in der Verkabelung sind also eigentlich ausgeschlossen. Gerade eben ist das Teil im Breadboard und es ist nur das Programmiergerät(PICKIT 4) angeschlossen. Hab alle Anschlüsse mehrfach überprüft; stimmt alles. Ich kann einen neuen Chip an die gleiche Stelle stecken und diesen programmieren. Nur die Microcontroller mit dem neuen Programm drauf wollen einfach nicht.
Mit den wenigen Informationen, vielleicht: http://www.sprut.de/electronic/pic/fallen/fallen.html#intoscmclr Gruss Chregu
Alex schrieb: > ich hab's leider irgendwie geschafft, meinen PIC24F32K302 unbrauchbar zu > machen :( Der Klassiker ... du hast wahrscheinlich MCLR pin als RA5 input pin enabled und damit MCLR disabled. Jetzt geht extern kein Reset mehr ... und somit kein Programmieren. Da hilft nur noch high voltage clearing um die Config Bits zurück zu setzen.
Hallo Chregu, danke für den Tipp! In meinem Fall wurde MCLR aber leider nicht als Output konfiguriert. Hab eben trotztdem getestet, ob der Microcontroller reseted wird, wenn ich den Pin auf Low level lege und das scheint der Fall zu sein. Daran liegts also vermutlich nicht.
Hallo Apollo, der MCLR Pin tut leider was er soll. Hab in meinem gesamten Programm den PORTA nicht angefasst. Mein Programmer unterstützt außerdem High voltage programming und das hab ich auch schon erfolglos ausprobiert.
Alex schrieb: > Daran liegts also vermutlich nicht. ... garantiert doch und MCLR is jetzt ein port input! Lese mal https://ww1.microchip.com/downloads/en/DeviceDoc/DS-39919c.pdf 3.3.2 HIGH-VOLTAGE ICSP ENTRY
Alex schrieb: > Mein Programmer unterstützt außerdem High voltage > programming und das hab ich auch schon erfolglos ausprobiert. Ich bin ungläubig zu deinen Aussagen, wenn du wohl eher unbewußt die Config Bits verdreht hast (z.B. auch Code Protection!?), dann kannst du diese nur im HIGH-VOLATGE-ICSP Mode wieder zurückbiegen.
:
Bearbeitet durch User
Der PIC24F32KA302 den ich verwende, hat sogar ein Configuration Bit, mit dem man MCLR enablen muss. Das ist in meinem Programm gesetzt gewesen. Aber danke für das Dokument; da werd ich mal schnell reinschauen.
Hab gerade nochmal nachgeschaut, die Config bits sind genau gleich wie bei Programmen, nach denen der Controller bei noch funktioniert hat. Code Protect oder sowas hab ich auch nicht aktiviert.
Alex schrieb: > Konnte leider nicht rausfinden, ob oder wie man die wieder programmieren > kann. Wär toll, wenn mir da wer helfen könnte. Bei mir war es mal das Programmiergerät (PicKit 3). Das hatte irgendwie seine Programmierung verloren. Nach einem Firmwareupdate ging es dann wieder. Gruß Anja
Ich habe es bei einem PICkit3 geschafft den Feldeffekt Transistor für die VDD zu grillen. Ein halbes Jahr später hab ich es repariert und läuft als Drittgerät wieder. Es gibt aber genug andere Fälle die die gleiche Wirkung haben bis hin zu durchgegarten PIC. MfG Michael
Alex schrieb: > Der Microcontroller ist definitiv richtig angeschlossen; der gleiche > Aufbau hat bisher auch immer funktioniert. Der PIC24F hat meines Wissens drei Paare PGC / PGD. Den Sinn habe ich nicht wirklich verstanden, aber vermutlich hängt das mit dem PPS zusammen. Kann es sein, dass du in den Config-Bits im Feld ICS einen falschen Anschluss eingetragen hast und somit versuchst, auf dem "falschen" ICSP-Paar zu programmieren. Das würde auch erklären, warum du den neuen PIC einmal programmieren konntest. Da stand vermutlich PGC/PGD1 drin und in deiner Konfiguration steht vielleicht PGC/PGD2 drin. Danach ist er halt umprogrammiert und erwartet jetzt seine Daten auf einem anderen Anschluss. Ist nur so eine Idee...
Die PGC / PDG Auswahl ist nur für das Debuggen maßgeblich, programmieren ist immer an allen 3 Paaren möglich.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.