hi also ich hab nen pic16f84a den ich via icd2 programmiert habe... beim ersten mal war alles tip top, keine fehlermeldung nix. aber als ich dann das neue programm programmieren wollte kam die fehlermeldung: ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort ich habe die leitungen überprüft sowie die spannungen und diese sind alle ok.. habe auch probiert zu löschen und blank read machen... jedoch nix klappt mehr :( Connecting to MPLAB ICD 2 ...Connected Setting Vdd source to target ...Reading ICD Product ID Running ICD Self Test ...Passed MPLAB ICD 2 Ready Erasing Target Device... ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation ...Erase Succeeded MPLAB ICD 2 Ready Blank Checking... ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation ...Program Memory ICD0161: Verify failed (MemType = Program, Address = 0x1, Expected Val = 0x3FFF, Val Read = 0x0) ...Device not blank MPLAB ICD 2 Ready Connecting to MPLAB ICD 2 ...Connected Setting Vdd source to target ...Reading ICD Product ID Running ICD Self Test ...Passed MPLAB ICD 2 Ready Programming Target... ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation ...Validating configuration fields ...Erasing Part ...Programming Program Memory (0x0 - 0xAF) Verifying... ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation ...Program Memory ICD0161: Verify failed (MemType = Program, Address = 0x0, Expected Val = 0x1683, Val Read = 0x3FFF) ICD0275: Programming failed. MPLAB ICD 2 Ready Erasing Target Device... ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation ...Erase Succeeded MPLAB ICD 2 Ready hatte jemand schon das selbe prob?
Programmierst Du den PIC in der Schaltung oder ausserhalb? Stimmen die Einstellungen betr. Power (ICD2 oder Schaltung; ist der ICD2 mit einem Netzteil versorgt)? Falls der PIC einen LVP-Pin hat, versuch mal den auf low zu legen. Vielleicht einen zweiten PIC versuchen. Wenn sonst nichts hilft: Ev. ICD2 resetten, oder gar alles (PC etc.) neu starten. Viel Glück Severino
programmiere in der schaltung... spannungen sind alle ok, verbindung auch! ich meine ich habe ja nix geändert hardware technisch nachdem der erste program erfolgreich war!!! habe jetzt auch das komplette system (pc, icd, target) neu gestartet jedoch bekomme ich immer wieder diese warnung Connecting to MPLAB ICD 2 ...Connected Setting Vdd source to target ...Reading ICD Product ID Running ICD Self Test ...Passed MPLAB ICD 2 Ready Programming Target... ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation ...Validating configuration fields ...Erasing Part ...Programming Program Memory (0x0 - 0xAF) Verifying... ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation ...Program Memory ICD0161: Verify failed (MemType = Program, Address = 0x0, Expected Val = 0x1683, Val Read = 0x3FFF) ICD0275: Programming failed. MPLAB ICD 2 Ready WIESO FUNKTIONIERTE ES BEIM ERSTEN MAL UND JETZT KOMMT IMMER DIESE SCH****... sorry langsam hab ich keine geduld mehr!!!!
m.E. hat der 16F84A kein LVP. Wie sieht denn die Beschaltung des Reset-Pin im Target-Board aus? Falls der Pullup-R zu niederohmig, oder der Kondensator zu gross ist, könnten die Vpp-Flanken zu flach sein und der Pic schaltet nicht in den Programmiermodus. Gruss Digger
H. W. wrote: > m.E. hat der 16F84A kein LVP. > Wie sieht denn die Beschaltung des Reset-Pin im Target-Board aus? > Falls der Pullup-R zu niederohmig, oder der Kondensator zu gross > ist, könnten die Vpp-Flanken zu flach sein und der > Pic schaltet nicht in den Programmiermodus. > > Gruss > Digger Trotzdem bleibt die Frage, weshalb es das erste Mal geklappt hat. @adrianb: Nicht aufgeben! Am Schluss klappt es dann doch. Hast Du einen zweiten PIC, den Du einfach einsetzen kannst (Fassung?). Hast Du eine andere Schaltung (z.B. ein PICDEM Board von Microchip oder so), an der Du das korrekte Funktionieren des ICD2 prüfen kannst (man weiss ja nie...) Oder versuch mal auf einem Steckbrett einen PIC direkt mit dem ICD2 zu verbinden (VDD, VSS, PGD, PGC, VPP). Unwahrscheinlich, aber nicht unmöglich wären Potentialprobleme: Ist der GND der Schaltung geerdet? An derselben Steckdose wie der PC mit dem ICD2? Ich hatte mal ein ähnliches Problem, das verschwand, wenn ich den PC (Notebook) vom Netz trennte. Severino
>Trotzdem bleibt die Frage, weshalb es das erste Mal geklappt hat.
Vielleicht, weil CLK und DATA RB6/7 noch nicht initialisiert
und damit Eingänge sind.
Könnte auch an der externen Beschaltung von CLK und DATA liegen.
Zitat Programming specification: "The program/verify mode is entered by
holding pins RB6 and RB7 low while raising MCLR pin from VIL to VIHH
(high voltage)."
Gruss
Digger
> > Vielleicht, weil CLK und DATA RB6/7 noch nicht initialisiert > und damit Eingänge sind. > Die sind bei jedem Reset ohnehin Eingänge. Und die Initialisierung durch das Anwenderprogramm geht bei einem Reset ohnehin verloren. Severino
kenn mich ja nicht so aus bei 'pics', aber hast du dir vielleicht mit deinem programmcode ein ei gelegt von wegen schreib-leseschutz?
FRAGENSTELLER wrote: > kenn mich ja nicht so aus bei 'pics', aber hast du dir vielleicht mit > deinem programmcode ein ei gelegt von wegen schreib-leseschutz? Ist ja nett, dass Du helfen willst, aber da Du dich gemäss Deiner eigenen Aussage nicht so gut auskennst mit PICs, bitte verwirre adrianb nicht noch mehr... Ein Leseschutz für das Programm-Memory existiert zwar, der kann aber beim löschen des PICs ebenfalls gelöscht werden. Severino
Ich hatte auch die ICDWarn0052. Programmierkabel von 1m auf 10cm gekürzt, jetzt tut es! Viel Glück! Ruedi.
Hallo, ich habe das selbe Problem wie Du aber bei mir hat es kein einziges mal funktioniert. ´Vielleicht könnt ihr mir ja helfen. Wenn ich den PIC ausserhalb der Schaltung, sprich also im Sockel der Programmierboards programmiere, sind die Pins für den Anschluss des Oszillators unbelegt, kann man den denn dann Programmieren? Eigentlich benötigt der doch auch einen Takt zu programmiert werden oder nicht? Bin total neu auf dem Gebiet und bitte um Hilfe! Vielleicht kann mir ja wer weiterhelfen! Dankeschön!
>Programmierboards programmiere, sind die Pins für den Anschluss des >Oszillators unbelegt, kann man den denn dann Programmieren? Eigentlich >benötigt der doch auch einen Takt zu programmiert werden oder nicht? Im Gegensatz zu AVRs brauchen PICs zum programmieren keinen Takt an den OSC Pins.
>Im Gegensatz zu AVRs brauchen PICs zum programmieren >keinen Takt an den OSC Pins. Bevor einer meckert ;) Das war schlecht ausgedrückt. Beim programmieren brauchen PICs keinen Systemtakt wie Int-RC, Quarz, externer Takt. Kommt alles über die Programmierpins.
hallo es gibt kein zugriff auf den pic. Wie ich verstanden habe muß das erste programm noch im pic sein?? Funktioniert das programm. im pic. Dies habe ich auch schon bei mehreren pics gehabt. Warten auf die lösung des problems MfG
Ich benutze das PICkit 2 als Programmer und da sieht es so aus: Wenn in der Konfiguration (erste Zeile im Programm) _MCLRE_OFF gesetzt ist, kann MPLAB den PIC beim nächsten Mal nicht mehr programmieren. Es geht aber mit der Brennsoftware, das beim PICkit noch mit dabei war. Damit kann ich den Chip löschen und ihn dann wieder vom MPLAB aus brennen (natürlich nicht ohne das Programm mit _MCLRE_ON neu kompiliert zu haben). Mir unverständlich, warum dessen Funktionalität (u.a. auch VDD und /MCLR separat schalten, die Spannung von 2,5 bis 5V manuell regeln, etc) nicht ins MPLAB integriert wurde. Bis ich das gemerkt hab, dachte ich, mehrere PICs zerstört zu haben.. Wenn das ICD 2 eine eigene Software hat, würd ichs damit mal probieren.
@ juppi
>Warten auf die lösung des problems
Poste doch mal eine von deinen Schaltungen.
Probleme entstehen oft wenn die nicht ISP gerecht
ausgelegt sind. Ansonsten ist ein falsches Configurationword
oft die Wurzel allen Übels.
Die INTOSC&MCLR-Falle Wichtig für Benutzer der Brenner0, AN589-Brenner und Q&D-Brenner: Wenn ein Brenner auf einen PIC zugreifen will, dann schaltet er normalerweise seine 5V-Betriebsspannung ein, legt MCLR auf Vss (um einen Reset auszulösen) und legt dann MCLR schlagartig auf Vpp (+12V), so daß der PIC nach dem Reset nicht dazu kommt, auch nur einen einzigen Befehl abzuarbeiten. Damit ist der PIC im Programmiermodus, und durch den Reset steht der interne Programcounter des PIC auf der Adresse 0x00. Dort kann man dann anfangen zu brennen. Wenn bei einem PIC aber beim vorigen Brennen der interne Oszillator aktiviert wurde und MCLR zu einem I/O-Pin gemacht wurde, dann ignoriert der PIC das Vss-Signal an MCLR und beginnt mit der Abarbeitung seines Programms, sobald die Betriebsspannung Vdd angelegt wird.. Beim dann folgenden Anlegen von Vpp an MCLR stoppt der PIC seine Arbeit, aber der Programcounter steht nicht mehr auf 0x00, und das anschließende Brennen eines neuen Programms erfolgt auf zufälligen Adressen des Programmspeichers. Solche PICs lassen sich nur problemlos brennen, wenn zuerst Vpp (12V) und danach Vdd (5V) angeschaltet wird. Das ist nicht mit allen Brennern möglich. Die Brenner 1, 2, 3 und 5 können das mit der Software PBrenner ab V3.4. (Ältere Versionen nur mit einigen Typen) PIC18Fxxx/xxxx Das gleiche Problem gilt im Prinzip auch für die PIC18F-Typen mit internem Oszillatorblock (nanoWatt). Auch hier läßt sich MCLR per Config zum Input-Port RE3 machen und gleichzeitig INTOSC oder INTOSCIO als Taktquelle einstellen. In den Datenblättern fand ich keine Lösung, insbesondere wird die Einschaltreihenfolge VDD->Vpp explizit verlangt. Der Hersteller warnt davor, LVP (low voltage programming) zu erlauben, wenn MCLR zum I/O-Pin gemacht wird. Dann wäre es beim nächsten Programmieren nämlich nötig, das PGM-Pin (RB5 o.ä.) auf low zu legen, um den Programmiermode zu erreichen. Die meisten Programmiergeräte tun das aber nicht, da ihre Entwickler (auch ich) LVP für nicht notwendig erachten.
@holger (Gast) K/P8048 von Velleman das teil geht arbeite damit?! programm lieg's nicht. @Analog (Gast) bei meinen erledigten pics ist der pic nicht mehr vohanden, aber das alte programm läuft. MfG
okay, alles klar, habe das problem gefunden. habe in der programmierumgebung den oszillator auf LP stehen gehabt, mit RC gehts! Aber jetzt sagt mir das MPLAB, dass das Programmieren erfolgreich war, aber der PIC tut nix. Noch dazu entstehen 1000 errors wenn ich das projekt builde, auch wenn ich das programm builde. dabei ist dies ein beispielprogramm von www.sprut.de (ich wills programmieren ja erst lernen nur dazu muss der ICD2 laufen) tralalalalala...... Aber danke für die anderen Tips!
Hallo, kann mir mal jemand von euch ein kleines beispielprogramm (am besten eine blinkende LED oder ein Lauflicht) für einen PIC16F84a zusenden? Es wäre super wenn mir jemand ein komplettes Projekt senden könnte, denn meine Linker Skript Datei ist wohl nicht die korrekte (16f84i.lkr) Oder einfach nur die Linker script datei. ich freue mich über alles, denn ich wills zum laufen bekommen und lernen können...... DANKESCHÖN im Voraus!
alles klar, es läuft! macht euch wegen mir bitte keine weitere mühe! Aber Danke für alles, das ist ein echt tolles Forum! Ihr seid super! MfG.: Kampmeier
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.