Forum: Mikrocontroller und Digitale Elektronik PICKit2 und PIC16(L)F145x


von Gerd B. (bertr2d2) Benutzerseite


Lesenswert?

Hallo,

ich habe momentan ein Problem mit meinem PICKit2 und 16F1459.
Den PIC habe ich ganz normal angeschlossen (ohne USB):

Vusb 1uf nach GND
VDD mit 100nf nach GND

Pickit2 verbunden mit:
VPP (MCLR)
VDD
VSS
RC0/ICSPDAT
RC1/ICSPCLK

ich kann die ID auslesen:
1
% pk2cmd -?V
2
3
Executable Version:    1.21.00
4
Device File Version:   1.63.148
5
OS Firmware Version:   2.32.00
6
7
Operation Succeeded
8
9
% pk2cmd -P
10
Auto-Detect: Found part PIC16F1459.
11
12
Operation Succeeded
Das Programmieren bzw Prüfen schlägt aber fehl:
1
% pk2cmd -PPIC16F1459 -F bootloader.hex -M 
2
PICkit 2 Program Report
3
24-6-2015, 22:33:24
4
Device Type: PIC16F1459
5
6
Program Succeeded.
7
8
Operation Succeeded
9
% pk2cmd -PPIC16F1459 -F bootloader.hex -Y 
10
PICkit 2 Verify Report
11
24-6-2015, 22:35:00
12
Device Type: PIC16F1459
13
14
Program Memory Errors
15
16
Address   Good     Bad
17
000000    000021   000000
Das Flash enthält nur Nullen. Ein defekt des PICs ist unwahrscheinlich -
auch ein anderer 16F1459 zeigt das gleiche Problem.

Bei einem PIC12F1572 (identisch bis auf Row Size) z.B. habe ich keine
Probleme - funktioniert einwandfrei.

Hat einer von Euch erfolgreich einen PIC16(L)F145x mit dem PICKit2
programmieren können ?

Gruß

Gerd

: Bearbeitet durch User
von Jochen-paul S. (picfan)


Lesenswert?

Hallo,
leider unterstützt das Pickit2 die neueren Pics(z.b.145x)nicht. 
Microchip will die Kunden dazu bringen, das neuere Pickit3 zu kaufen....
Irgendwo hab ich aber einmal im Web eine Bibliothek gefunden, mit der 
man das Pickit2 überlisten kann.
Allerdings weiss ich nicht, ob das neuere MPLABX das dann auch 
unterstützt.
Jedenfalls mit dem einfachen GUI vom Pickit2 sollte es funzen.
Gruss Jochen-Paul

von Teo D. (teoderix)


Lesenswert?


von Jochen-paul S. (picfan)


Lesenswert?

Hallo,
ich bin's nochmal. Hier noch im Anhang die benötigte Datei.
C:->Programme86x -> Microchip -> Pickit2v2 -> öffnen, dann die dort 
vorhandene Datei "PK2DeviceFile.dat" in den Papierkorb verfrachten, dann 
die Datei, welche sich im Anhang befindet an die freigewordene Stelle 
kopieren - fertig.-
Nun sollte es möglich sein, Deinen Pic zu programmieren.
Gruss J.P.

von Jochen-paul S. (picfan)


Angehängte Dateien:

Lesenswert?

Ach, Anhang vergessen hiermit nachgeholt.... J.P.

von Gerd B. (bertr2d2) Benutzerseite


Lesenswert?

Jochen-paul S. schrieb:
> Hallo,
> leider unterstützt das Pickit2 die neueren Pics(z.b.145x)nicht.
> Microchip will die Kunden dazu bringen, das neuere Pickit3 zu kaufen....
> Irgendwo hab ich aber einmal im Web eine Bibliothek gefunden, mit der
> man das Pickit2 überlisten kann.
> Allerdings weiss ich nicht, ob das neuere MPLABX das dann auch
> unterstützt.
> Jedenfalls mit dem einfachen GUI vom Pickit2 sollte es funzen.
> Gruss Jochen-Paul

Offiziell werden neue Typen nicht unterstützt. Ich habe aber eine 
modifizierte PK2DeviceFile.dat Datei - der Chip wird ja erkannt.

Im Grunde ist der PICKKit2 genial - die Skripte sorgen dafür,
das die Firmware im Grunde mit jedem PIC-Typen umgehen können.

Nur klappt es anscheinend hier nicht mit dem 16F1459 …

PICKit3 habe ich auch, aber die Linux Unterstützung ist mau.
Ich will keine GUI - ich verwende Makefiles.

von Gerd B. (bertr2d2) Benutzerseite


Lesenswert?

Teo Derix schrieb:
> Eventuell hast ja Glück?
> http://www.microchip.com/forums/m609829.aspx#610564
>
> DDL: PK2DFUpdate-1-62-14.zip (21.71 KB)
> http://www.microchip.com/forums/download.axd?file=0;610564

Klappt leider nicht mit diesen File, da kein 16F1459 unterstützt wird:
1
% pk2cmd -?P | grep 14
2
Device File Version:   1.62.14
3
PIC16F914                    Midrange/Standard
4
PIC18F14K22                  PIC18F_K_
5
PIC18F14K50                  PIC18F_K_
6
PIC18F14K50-ICD              PIC18F_K_
7
PIC18LF14K22                 PIC18F_K_
8
PIC18LF14K50                 PIC18F_K_
9
PIC18LF14K50-ICD             PIC18F_K_
10
DSPIC30F3014                 dsPIC30
11
DSPIC30F6014A                dsPIC30

von Gerd B. (bertr2d2) Benutzerseite


Lesenswert?

Jochen-paul S. schrieb:
> Ach, Anhang vergessen hiermit nachgeholt.... J.P.

Danke J.P., aber auch kein Glück.
Zumindest sind im Flash hier und da Zellen geändert worden:
grep -v 3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F test.hex
1
:020000040000FA
2
:10000000FF3F0000000000000000000000000000B2
3
:1000100000000010010000000000870B98293D003F
4
:100020000E1796010E120E13FF3FFF3FFF3FFF3FDB
5
:1001B000000000000000000000000000000000003F
6
:1001C0000010010000000000870B98293D000E1769
7
:1001D00096010E120E13FF3FFF3FFF3FFF3FFF3F11
8
:10025000FF3FFF3F00000000000000000000000022
9
:10026000000000000010010000000000870B98292A
10
:100270003D000E1796010E120E13FF3FFF3FFF3F8A
11
:1002D000FF3FFF3FFF3F0000000000000000000064
12
:1002E0000000000000000010010000000000870B6B
13
:1002F00098293D000E1796010E120E13FF3FFF3F87
14

hmm, muss mir wohl den Unterschied zum 15F1572 in den
Skripten mal anschauen. Auf den ersten Blick sehe ich
aber nur die andere Row-Size ...

Gruß

Gerd

: Bearbeitet durch User
von Gerd B. (bertr2d2) Benutzerseite


Lesenswert?

OK, es geht jetzt :)
1
% pk2cmd -PPIC16F1459  -F bootloader.hex -M
2
PICkit 2 Program Report
3
25-6-2015, 22:17:50
4
Device Type: PIC16F1459
5
6
Program Succeeded.
7
8
Operation Succeeded
9
10
% pk2cmd -PPIC16F1459  -F bootloader.hex -Y
11
12
PICkit 2 Verify Report
13
25-6-2015, 22:17:56
14
Device Type: PIC16F1459
15
16
Verify Succeeded.
17
18
Operation Succeeded

Die Lösung: Exterm mit 5V versorgen und CP_OFF.

BTW: Coole Sache - 512 Byte USB Bootloader:
https://github.com/majbthrd/PIC16F1-USB-DFU-Bootloader
1
=>
2
usb 4-2: new full-speed USB device number 42 using ohci_hcd
3
usb 4-2: New USB device found, idVendor=1234, idProduct=0001
4
usb 4-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
5
6
% sudo dfu-util -l
7
8
dfu-util 0.8
9
10
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
11
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
12
This program is Free Software and has ABSOLUTELY NO WARRANTY
13
Please report bugs to dfu-util@lists.gnumonks.org
14
15
Found Runtime: [1234:0001] ver=0001, devnum=42, cfg=1, intf=0, alt=0, name="UNKNOWN", serial="UNKNOWN"

Vielen Dank für Eure Tipps !

Gruß

Gerd

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.