mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik In Cirquit Debugging mit PIC und ICD2 - keine Verbindung


Autor: Worf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute

ich möchte meinen PIC (18F4550) in dessen Schaltung programmieren und 
habe deshalb einen ICD2-Anschluss mit konstruiert.
Bis jetzt ist alles so zusammengelötet wie es auf dem Bild zu sehen ist.

Beim Brennen via MPLAB kommt jedoch die Meldung
ICD0083: Debug:  Unable to enter debug mode.  Please double click this 
message for more information.


Die Platine wird vom ICD2 aus versorgt. Die 5V liegen auch richtig an.
Wenn ich alles auf dem PICDEM2PLUS Board flashen will, funktioniert 
alles normal.

Was habe ich bei meiner Schaltung vergessen?

Grüße

Autor: Worf (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
das Bild war bei Klick auf "Vorschau" scheinbar wieder gelöscht 
worden...grrr

Autor: morph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abgesehen von der fehlenden diode beim mclr gegen 5V?

es reichen schlecht geroutetet leitung oder zu lange leitungen womit man 
zwar noch programmieren kann, aber meist geht das debuggen dann nicht 
mehr.

Autor: Worf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diode beim MCLR Pin? Das hab ich ja noch gar nicht gehsehen. Wo soll 
denn dort eine hin?
Ich wollte des vom PICDEM2-Board ableiten. Das Schematic ist hier:
http://ww1.microchip.com/downloads/en/DeviceDoc/PI...

Die haben dort noch einen Kondensator am MCLR, den ich nicht habe. 
Sollte es daran liegen?

Das Problem mit zu langen Leitungen kenne ich, hab alles schön kurz (3 
cm).

Autor: morph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mhm, scheinbar hab ich diese Infos von der Sprut-Seite, hab bis jetzt 
immer eine verbaut, immerhin erscheint mir das logisch da MCLR auf 13V 
gehoben wird beim Programmieren, die braucht man dann irgendwie doch 
nicht in der restlichen Schaltung

Autor: Daniel P. (ppowers)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das "using MPLAB ICD2" - poster ist eigentlich ganz hilfreich um zu 
klären, was bezüglich des Programmier/Debug-Interfaces alles erlaubt 
bzw. verboten ist:
http://ww1.microchip.com/downloads/en/DeviceDoc/51265g.pdf

Hier ist keine Diode von +5V in Richtung Vpp eingezeichnet. Ist auch 
nicht wirklich nötig, denn selbst wenn Vpp auf 13V angehoben wird, 
fließt durch den 10kOhm Widerstand gerade mal ein Strom von 0.8 mA.

Allerdings glaube ich eher, dass es sich in diesem Fall um ein Software- 
bzw. Anwenderproblem handelt. Darum hier mal eine kleine Checkliste:

Steht der PIC18F4550 am unteren Rand des MPLAB-Fensters?
Stimmen die Oszillatoreinstellungen? (Im Menü "Configure > Configuration 
bits" die Oszillatoreinstellunge prüfen! Stimmen diese mit dem 
verwendenten Quarz und den Einstellungen in der Software überein?)
Welches Linkerfile benutzt Du (vorausgesetzt Du verwendest den C18)? 
18F4550.lkr oder 18F4550i.lkr? Letzteres ist fürs Debuggen erforderlich!

gruß
daniel

Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo seht ihr bitte eine Diode in der angehängten Schaltung?

Autor: Daniel P. (ppowers)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Riegebauer wrote:
> Wo seht ihr bitte eine Diode in der angehängten Schaltung?
Wenn Du Dich vor dem Posten bequemt hättest den vollständigen Thread zu 
lesen, dann wäre Dir klar, dass es um eine angeblich FEHLENDE Diode in 
der angehängten Schaltung geht...

Autor: Worf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich denke eher dass es doch ein HW Problem ist. Bei MPLAB-Start 
wird alles richtig erkannt:

--------------------------
Connecting to MPLAB ICD 2
...Connected
Setting Vdd source to MPLAB ICD 2
Target Device PIC18F4550 found, revision = Rev 0x5
...Reading ICD Product ID
Running ICD Self Test
...Passed
MPLAB ICD 2 Ready
--------------------------


Beim Flashen kommt dann das:

--------------------------
Programming Target...
...Validating configuration fields
...Erasing Part
...Programming Program Memory (0x0 - 0x27F)
...Loading DebugExecutive
...Programming DebugExecutive
...Programming Debug Vector
...Programming RSBUG
Verifying...
...Program Memory
...Debug Executive
...Debug Vector
...Verify Succeeded
Programming Configuration Bits
.. Config Memory
Verifying configuration memory...
...Verify Succeeded
Connecting to debug executive
ICD0083: Debug:  Unable to enter debug mode.  Please double click this 
message for more information.
MPLAB ICD 2 Ready
---------------------------


Ich sehe auch den Ladebalken beim Flashvorgang. Nur am Ende kann er 
nicht in den Debug wechseln.
Die 4550i.lkr Datei hab ich auch probiert, keine Änderung.

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicher dass dein µC auch läuft? Oszillatorsettings überprüft? Liegen 
alle Spannungen korrekt an?
Wo nichts läuft gibts nichts du debuggen ;-)

Autor: Worf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oszillator wars tatsächlich.

Muss auf HS stehen.
Danke !!

Autor: morph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist jetzt auch nicht der weisheit letzter schluss :) wann HS, XT oder RC 
eingestellt werden muss verraten dir datenblatt und deine schaltung =)

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier meine Einstellungen für:
- PIC18F4550
- CCS Compiler
- PICDEM 2 Plus Board

Die mit Ausrufezeichen versehenen Fuses ware bei mir relevant für das
debuggen mit dem ICD 2.
Ausserdem beachten, dass in der MPLAB Oberfläche unter Project > Build 
Options > Project > CCS C Compiler "Compile for use with ICD Debugger" 
aktiviert ist.

#include <18F4550.h>

#device ICD=TRUE
#device adc=10

#FUSES NOWDT                   //No Watch Dog Timer
#FUSES WDT128                  //Watch Dog Timer uses 1:128 Postscale
#FUSES INTRC_IO                //Internal RC Osc, no CLKOUT
#FUSES NOPROTECT               //Code not protected from reading
#FUSES BROWNOUT                //Reset when brownout detected
#FUSES BORV43                  //Brownout reset at 4.3V
#FUSES NOPUT                     //!!!!! Power Up Timer !!!!!!
#FUSES NOCPD                   //No EE protection
#FUSES STVREN                  //Stack full/underflow will cause reset
#FUSES DEBUG                   //Debug mode for use with ICD
#FUSES NOLVP                   //No low voltage prgming, B3(PIC16) or 
B5(PIC18) used for I/O
#FUSES NOWRT                   //Program memory not write protected
#FUSES NOWRTD                  //Data EEPROM not write protected
#FUSES IESO                    //Internal External Switch Over mode 
enabled
#FUSES FCMEN                   //Fail-safe clock monitor enabled
#FUSES NOPBADEN                //PORTB pins are configured as digital 
I/O on RESET
#FUSES NOWRTC                  //configuration not registers write 
protected
#FUSES NOWRTB                  //Boot block not write protected
#FUSES NOEBTR                  //Memory not protected from table reads
#FUSES NOEBTRB                 //Boot block not protected from table 
reads
#FUSES NOCPB                   //No Boot Block code protection
#FUSES MCLR                    //Master Clear pin enabled
#FUSES NOLPT1OSC               //Timer1 configured for higher power 
operation
#FUSES NOXINST                 //Extended set extension and Indexed 
Addressing mode disabled (Legacy mode)
#FUSES PLL1                    //No PLL PreScaler
#FUSES CPUDIV1                 //No System Clock Postscaler
#FUSES USBDIV                  //USB clock source comes from PLL divide 
by 2
#FUSES NOVREGEN                //USB voltage regulator disabled
#FUSES NOICPRT                   //!!!!! ICPRT disabled !!!!!!

#use delay(clock=8000000,RESTART_WDT)

Autor: Peter Diener (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

unabhängig von allen anderen Schwierigkeiten sollte in die Schaltung 
unbedingt ein Blockerkondensator (100n) in die Vcc eingebaut werden.

Ohne Blocker läuft jeder Mikrocontroller instabil.

Grüße,

Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.