dsPIC: Programm startet nur mit debugger

Gast #4940140
Lesenswert?

Hallo,

ich habe einen dsPIC33EP512GM306 ein Pickit 3 und nutze MPLAB X IDE. Ich 
kann den µC zwar debuggen, wenn ich ihn aber programmiere scheint er 
garnicht erst zu starten. Die plausibelste Lösung wäre wohl ein falsch 
gesetztes configuration bit, aber im Datenblatt kann ich kein debug bit 
finden.

Das einzige was mit debuggen zu tun hat ist das JTAG bit. Aber wenn ich 
das deaktivere, dann würde ich mich meiner Einschätzung nach selbst 
aussperren.

Weiß jemand was ich falsch mache?

Vielen Dank im voraus!
Gast #4940150
Lesenswert?

Meist falsch Beschaltung vom Master Clear Input. Da der Debugger den 
aktiv setzt funktioniert ohne ordentliche Schaltung der PIC Nicht wenn 
er ohne PicKit läuft.
Entweder MCLR im den config bits disablen oder Schaltung dran.

mfG
Michael
Gast #4940159
Lesenswert?

dsPIC newbie schrieb im Beitrag #4940140:
> Pickit 3

Der Pickit 3 nutzt nicht JTAG sondern eines der PGED/PGEC Pärchen und 
MRST#. Damit der Prozessor auch ohne Pickit funktioniert, braucht er 
einen 10k Pullup an MRST# und das Programm muß mit "run" und nicht mit 
"debug" übersetzt werden.

MfG Klaus
Gast #4940174
Lesenswert?

Hallo Klaus,

auch an dich vielen Dank für deine Antwort! Ich habe JTAG nun 
deaktiviert, aber weiterhin läuft er nur beim debuggen.

Ich probiere es sowohl mit der Schaltfläche "Run Main Project" als auch 
mit "Make and Program Device Main Project" zu starten. In den 
Projekteigenschaften habe ich nichts über eine Übersetzungsart gefunden.
Gast #4940177
Lesenswert?

Das hier sind die config bits:
1
// FICD
2
#pragma config ICS = PGD1               // ICD Communication Channel Select bits (Communicate on PGEC1 and PGED1)
3
#pragma config JTAGEN = OFF             // JTAG Enable bit (JTAG is disabled)
4

5
// FPOR
6
#pragma config BOREN = ON               //  (BOR is enabled)
7
#pragma config ALTI2C1 = OFF            // Alternate I2C1 pins (I2C1 mapped to SDA1/SCL1 pins)
8
#pragma config ALTI2C2 = OFF            // Alternate I2C2 pins (I2C2 mapped to SDA2/SCL2 pins)
9
#pragma config WDTWIN = WIN25           // Watchdog Window Select bits (WDT Window is 25% of WDT period)
10

11
// FWDT
12
#pragma config WDTPOST = PS32768        // Watchdog Timer Postscaler bits (1:32,768)
13
#pragma config WDTPRE = PR128           // Watchdog Timer Prescaler bit (1:128)
14
#pragma config PLLKEN = ON              // PLL Lock Enable bit (Clock switch to PLL source will wait until the PLL lock signal is valid.)
15
#pragma config WINDIS = OFF             // Watchdog Timer Window Enable bit (Watchdog Timer in Non-Window mode)
16
#pragma config FWDTEN = ON              // Watchdog Timer Enable bit (Watchdog timer always enabled)
17

18
// FOSC
19
#pragma config POSCMD = NONE            // Primary Oscillator Mode Select bits (Primary Oscillator disabled)
20
#pragma config OSCIOFNC = OFF           // OSC2 Pin Function bit (OSC2 is clock output)
21
#pragma config IOL1WAY = ON             // Peripheral pin select configuration (Allow only one reconfiguration)
22
#pragma config FCKSM = CSDCMD           // Clock Switching Mode bits (Both Clock switching and Fail-safe Clock Monitor are disabled)
23

24
// FOSCSEL
25
#pragma config FNOSC = FRCDIVN          // Oscillator Source Selection (Internal Fast RC (FRC) Oscillator with postscaler)
26
#pragma config PWMLOCK = ON             // PWM Lock Enable bit (Certain PWM registers may only be written after key sequence)
27
#pragma config IESO = ON                // Two-speed Oscillator Start-up Enable bit (Start up device with FRC, then switch to user-selected oscillator source)
28

29
// FGS
30
#pragma config GWRP = OFF               // General Segment Write-Protect bit (General Segment may be written)
31
#pragma config GCP = OFF                // General Segment Code-Protect bit (General Segment Code protect is Disabled)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren