ICD 2 Debug Problem
Mittwoch, 23. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  Entwicklungswerkzeuge  |  Programmer und Debugger  |  ICD 2 Debug Problem « vorheriges nächstes »
Seiten: [1] 2 Nach unten Drucken
Autor Thema: ICD 2 Debug Problem  (Gelesen 10228 mal)
 
Gazelli
Newbie
*
Offline Offline

Beiträge: 22


Profil anzeigen
« am: April 05, 2011, 15:34:39 »

Hallo an Alle

Ich werde noch wahnsinning. Ich habe einen 18f2550 und icd2. EinTestboard habe ich aufgebaut . Ich kann den Chip programmieren  Alle Versorgungspin sind angeschlossen 10 K auf VPP auch . Takt ( Quarz und Quarzgenerator 4 und 8 MHz erzeugen einen stabilen Takt. Trotzdem schaffe  ich es nicht den Debugger zu starten

Zitat
Debug:  Unable to enter debug mode

Takt OK Spannungen OK MPLab Config OK

Configs EC und HS PLL richtig eingestellt. Ich weiss langsam nicht mehr weiter. Kann mir jemand Tips geben  ? Danke

Gazelli

« Letzte Änderung: April 07, 2011, 15:16:55 von Stampede » Gespeichert
Stampede
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 969



Profil anzeigen WWW
« Antworten #1 am: April 06, 2011, 03:38:27 »

Hi,

es gibt in MPLAB ein Checklist fuer die Debugger. Dagehoert in der Config Zeug wie WDT, Codeprotection, etc. dazu. Musst da mal reinschauen!

Gruss,
Stefan
Gespeichert

oerni
Full Member
***
Offline Offline

Beiträge: 196



Profil anzeigen WWW
« Antworten #2 am: April 06, 2011, 11:47:08 »

Mahlzeit,
die Einstellungen für 18F2550 und ICD2 hatte ich für ihn überprüft. Sollte gehen.
Ich vermute mal Taktprobleme. Beim Brennen ist die Taktquelle egal aber beim Debuggen muß das Teil laufen.
Wo hast du welchen Takt angelegt und mit welchen Einstellungen?
Einstellung EC bedeutet Externer Clock, also Rechtecksignal, also Quarzgenerator als Haupttakt!
Der Unterschied Primär- zu Sekundärtakt (4MHz/8MHz) ist relativ klein. Hat das einen Grund?
Gib mal ein wenig Konfigurationscode preis und etwas Schaltplan, dann kann man mehr sagen.

Tschau Oerni
Gespeichert
Gazelli
Newbie
*
Offline Offline

Beiträge: 22


Profil anzeigen
« Antworten #3 am: April 06, 2011, 14:07:18 »

Vielen Dank für die Antworten

Ich habe sowohl ein Quarz 4 MHz 15 pF ->> Masse und OSC1 +2 als auch einen Oscillator 8MHz

http://www.conrad.de/ce/de/product/179469/QUARZ-OSZILLATOR-10-MHZ

4 MHz PLLDIV=1
CPUDIV OSC 1 +2  96 MHz /2
USBPLL PLL/2
 Beim OScillator
EC
PLL DIV /2
Sollte also stimmen. Ich habe keinen Oszi aber kann mit meinem Messgerät 4 Bzw 8 MHz Messen . Der Takt scheint also da zu sein

Was mein Board anbetrifft

Ich habe ein Steckboard. 100 nF an VDD GND 2. GND angeschlossen Spannung 5,01 V 10 K --> VPP

Alle Einstellungen habe ich in der IDE gemacht und nicht im Source was aber egal sein sollte . Selbst ein "nacktes" Hello World läuft nicht. Interessanterweise habe ich kein 18F2550I Script gefunden. Soweit ich weiss ist es aber mit dem 18F4550 kompatibel


* IMG_8457.JPG (959.98 KB, 2048x1536 - angeschaut 119 Mal.)
« Letzte Änderung: April 06, 2011, 14:11:43 von Gazelli » Gespeichert
Gazelli
Newbie
*
Offline Offline

Beiträge: 22


Profil anzeigen
« Antworten #4 am: April 06, 2011, 14:32:05 »

Ach nochwas

Die Config in diesem Falle für 4MHz
Code:
// $Id: 18f2550i.lkr,v 1.3 2004/08/23 18:08:22 curtiss Exp $
// File: 18f2550i.lkr
// Sample ICD2 linker script for the PIC18F2550 processor

LIBPATH .

FILES c018i.o
FILES clib.lib
FILES p18f2550.lib

CODEPAGE   NAME=vectors    START=0x0            END=0x29           PROTECTED
CODEPAGE   NAME=page       START=0x2A           END=0x7DBF
CODEPAGE   NAME=debug      START=0x7DC0         END=0x7FFF         PROTECTED
CODEPAGE   NAME=idlocs     START=0x200000       END=0x200007       PROTECTED
CODEPAGE   NAME=config     START=0x300000       END=0x30000D       PROTECTED
CODEPAGE   NAME=devid      START=0x3FFFFE       END=0x3FFFFF       PROTECTED
CODEPAGE   NAME=eedata     START=0xF00000       END=0xF000FF       PROTECTED

ACCESSBANK NAME=accessram  START=0x0            END=0x5F
DATABANK   NAME=gpr0       START=0x60           END=0xFF
DATABANK   NAME=gpr1       START=0x100          END=0x1FF
DATABANK   NAME=gpr2       START=0x200          END=0x2FF
DATABANK   NAME=gpr3       START=0x300          END=0x3F3
DATABANK   NAME=dbgspr     START=0x3F4          END=0x3FF          PROTECTED
DATABANK   NAME=usb4       START=0x400          END=0x4FF          PROTECTED
DATABANK   NAME=usb5       START=0x500          END=0x5FF          PROTECTED
DATABANK   NAME=usb6       START=0x600          END=0x6FF          PROTECTED
DATABANK   NAME=usb7       START=0x700          END=0x7FF          PROTECTED
ACCESSBANK NAME=accesssfr  START=0xF60          END=0xFFF          PROTECTED

SECTION    NAME=CONFIG     ROM=config

STACK SIZE=0x100 RAM=gpr2




* config-Gazelli-4MHz.jpg (296.1 KB, 3334x2306 - angeschaut 124 Mal.)
« Letzte Änderung: April 07, 2011, 15:17:24 von Stampede » Gespeichert
oerni
Full Member
***
Offline Offline

Beiträge: 196



Profil anzeigen WWW
« Antworten #5 am: April 06, 2011, 20:14:25 »

Hallo Gazelli,

habe deine Schaltung mal eben mit einem 18F4550 auf meinem Experimentierboard aufgebaut und bei mir läufts.
Unterschied: wenn du wie im Bild den 4MHz Quarz dran hast, dann must du auch FOSC = HS Oscillator, PLL enabled (HSPLL)" einstellen. Im vorletzten Post schreibst du was von EC, das wäre dann falsch.

In meiner MPLAB Version 8.63 ist ein 18F2550i.lkr dabei. Sind aber beide zu 100% identisch.

Tschau Oerni


* 4550.png (151.07 KB, 1920x1160 - angeschaut 81 Mal.)
Gespeichert
Gazelli
Newbie
*
Offline Offline

Beiträge: 22


Profil anzeigen
« Antworten #6 am: April 07, 2011, 05:56:34 »

Hallo Oerni


Danke für Deine Bemühungen

Das EC bezug sich auch den externen Oscillator. Die Quarz 15 pF Kombination ist auch mit HS-PLL betrieben worden . Wo hast Du das 18f2550i gefunden  ? In meiner config existiert dieses File nicht ! Normalerweise steht es unter /bin/lkr des Compilers (c:\MCC18) oder ?

Vielleicht sollte ich den C Compiler mal neu installieren um es dann zu testen


Gazelli

Gespeichert
oerni
Full Member
***
Offline Offline

Beiträge: 196



Profil anzeigen WWW
« Antworten #7 am: April 07, 2011, 08:43:05 »

Morgen,
genau dort sollte es auch stehen. Momentan ist beim MCC18 die Version 3.37 aktuell. Getestet habe ichs aber mit der 3.11 o.ä. weil ich die grad noch auf der Platte hatte.
Das Problem sollte aber wo anders liegen, die Dateien sind ja identisch.
Ich schau heute abend mal, ob ich noch irgendwo einen 18F2550 rumliegen habe und teste dann noch mal mit der exakt gleichen Konfiguration.

Tschau Oerni
Gespeichert
Gazelli
Newbie
*
Offline Offline

Beiträge: 22


Profil anzeigen
« Antworten #8 am: April 07, 2011, 13:27:31 »

Das ist ja klasse von Dir . Langsam weiss ich nicht weiter. Ich habe auch das LKR File nicht finden können. Das einzige was ich finden konnte ist 18f2550_G schein generic zu sein und enthält auch die Debug Protected Statements

Soweit ich das ganze Geraffel verstehe muss man doch nur

a) Taktart (intern extern oder HS
b) PLL ja nein
c) Teiler einstellen

basta

Spannung OK --> messen
Takt OK --> Frequenz messbar

Ergo es sollte laufen . Ich werde den Verdacht nicht los dass es an meiner Software liegt die ich heruntergeladen habe. Ich habe zuerst die IDE dann den Compiler heruntergeladen der dann auch die ide einstellt

Sollte es an Noisy liegen ( habe auch schon 100 Ohm in Reihe und 33 pF gegen GND gelegt wegen meiner fliegenden Verdrahtung . Ich werde morgen mal dazu kommen mehr zu testen


Gazelli


Gespeichert
oerni
Full Member
***
Offline Offline

Beiträge: 196



Profil anzeigen WWW
« Antworten #9 am: April 07, 2011, 19:19:39 »

Nabend,
Config Bits in MPLAB einstellen ist Murks, da du nicht alles einstellen kannst und in einem halben Jahr nicht mehr weist, was du eigentlich gemacht hast. Mache anständige #pragma Anweisungen im Code mit Kommentaren und gut ists. Dir fehlt das DEBUG = ON, dazu muss LVP = OFF und WDT = OFF sein, sonst kannste nicht debuggen.

Ich habe noch ein paar 2550 gefunden und eben diesen Code zum Blinken gebracht. USB Takte mußte dann noch selber einfügen.

Code:
#include <p18cxxx.h>
#include <delays.h>

#pragma config FOSC  = HS
#pragma config WDT   = OFF
#pragma config LVP   = OFF
#pragma config DEBUG = ON

void main (void)
{
   ADCON1 = 0x0F; // alles digital out
   TRISB = 0;
   PORTB = 0;

   while (1)
   {
      LATB = 0xff;
      Delay10KTCYx(100);

      LATB = 0x00;
      Delay10KTCYx(100);
   }
}

Das blinkt grad vor mir her und sollte so auch bei dir gehen.

Tschau Oerni
Gespeichert
Gazelli
Newbie
*
Offline Offline

Beiträge: 22


Profil anzeigen
« Antworten #10 am: April 11, 2011, 05:06:01 »

Hallo Oerni

Ich habs am Laufen !

Scheinbar zieht der ICD2 VPP nach oben und belässt diesen Pegel auch was zu einem Dauerreset führt. Ich werde das mal untersuchen und melde mich dann wieder

Gazelli

Gespeichert
oerni
Full Member
***
Offline Offline

Beiträge: 196



Profil anzeigen WWW
« Antworten #11 am: April 11, 2011, 07:19:48 »

Guten Morgen,

mal ne dumme Frage:
Im Programmiermodus im MPLAB hast du den Resetpin per Hand/Button nach dem Programmieren freigegeben/gestartet?
("Release from Reset" Button).
Ist aber eigentlich Quatsch, da es diesen Button im Debugmodus gar nicht gibt. Da gibt es nur Power On.

Tschau Oerni
Gespeichert
Gazelli
Newbie
*
Offline Offline

Beiträge: 22


Profil anzeigen
« Antworten #12 am: April 11, 2011, 11:27:10 »

Hallo Oerni

Release from Reset in an . Im nicht debug mode läuft die Kiste nun. Sobald ich dann aber versuche zu debuggen bekomme ich immer noch unable to enter debug mode. Nach wie vor habe ich keine 18f2550i.lkr. Einzig und allein 18f2550_g ist vorhanden . Wie ist es eigentlich mit den ersten Bytes des Speichers ? Müssen da Speicherbereiche "geschützt" werden. Im 18f2550_g-lkr  sind debug Bereiche als protected gekennzeichnet . Wie unterscheidet der Linker ob Debug oder Releasemode ausgewählt ist .

Da meine Release numehr läuft kann ich mir nicht vorstellen dass ich ein Problem mit dem Takt oder der Versorgung habe. Ich denke ich überschreibe Bereiche die dem Debugger vorbehalten sind . Hast Du da Infos ?

Gazelli
Gespeichert
oerni
Full Member
***
Offline Offline

Beiträge: 196



Profil anzeigen WWW
« Antworten #13 am: April 11, 2011, 18:57:43 »

Hallo Gazelli,
anbei die 18f2550i.lkr
Eigentlich solltest du die aber irgendwo auf deiner Platte haben.
Bei mir unter C:\Program Files (x86)\MCC18\lkr\18f2550i.lkr
Wichtig darin ist die Zeile mit:

CODEPAGE   NAME=debug      START=0x7DC0         END=0x7FFF 

Zum Debuggen werden nämlich 512 Byte  Flash und 10 Byte RAM benötigt
Warum 575 Byte reserviert werden weis ich aber noch nicht.

Tschau Oerni

* 18f2550i.lkr (1.54 KB - runtergeladen 47 Mal.)
Gespeichert
Gazelli
Newbie
*
Offline Offline

Beiträge: 22


Profil anzeigen
« Antworten #14 am: April 11, 2011, 19:15:17 »

Danke für das File

Werde es morgen mal testen. Ich finde es mittlerweile merkwürdig das Du Files hast die definitiv nicht auf meiner Platte sind. Scheinbar ist da ein Versionsproblem das ich so nicht lösen kann. Ich habe alles gelöscht neu aufgesetzt und gleicher Effekt. Ich habe die ICD2 MPLAB CD installiert Updates gemacht und bin präzise den Anweisungen von Microchip gefolgt. Mal sehen ob das morgen läuft.


Anbei meine Config ( tools)



* mplab.jpg (288.95 KB, 3334x2306 - angeschaut 125 Mal.)
Gespeichert
Seiten: [1] 2 Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.047 Sekunden mit 19 Zugriffen.
 
Top! Top!