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.
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:> 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.
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...