William thanks for your hard work. The 12f1571 is now auto recognized by the PK2 gui. Downside is that the program memory fails, read and blanking still works.
Took a look at the previous version (i.e. the one that was pulled) and started transcribing/editing your file to match. No luck so far, but there are differences in the addr set script, mem read script, mem words and so forth.
I realize this whole thing is a bit of a hassle for those of us who wish to continue with the PK2 with these newer devices. So if you wish to throw in the towell it is OK by me.
I have corrected and retested on 12F1571/2. Please download again and retest
Correct file size is 209,044 bytes.
Rearranged Device Menus in GUI to be more logically sorted.
Added Dummy Script #301 for Identification.
Part of the challenge with the device file is correcting the broken file structure introduced in Ver 1.63.148+. The PIC32MX1 Family was aparently "pasted" into the file out of sequence. You can do this with chips/devices but not when adding an new family. If you look at the old file with the editor you will see that PIC32MX1 is designated as Family 23. However, if you look at the 32MX1 parts you will see they are assigned to family 16. You will also see that certain midrange chips are assigned to family 23, which should be PIC32MX1. All parts after family 16 are actually assigned to the wrong family. The GUI applications do not actually look at the family designator assigned to the Family, but rather the index number or order of the family as it is placed in the file.
Likewise, a new script was pasted into the file out of sequence and a dummy script inserted right after. This offset the scripts after script 3 by a value of 2. Therefore, compatibility was lost between version 1.63.46 and 1.63.48. you cannot take a device from .48 and past it into .46 without changing nearly every script entry.
Also the "Search Priority was buggered up in some versions. This causes some chips not to be detected correctly. Two families cannot have the same search priority.
Add to this a memory bug in the Device file editor where changes are not always commited --- and well, it took some time to get it all sorted out.
Whoa, that is deep dive into the inner workings of the PK2 device file and programming structure. I had seen the 32MX parts were out of place in the previous version and some of the script numbers being out of sorts.
12f1572 now programs memory correctly and maintains auto recognition, erase, read functions. VERY NICE!!! Have not tried any other devices.
Your thoughts on the GCB only file is exactly what Microchip should have done. I think the reason for the PK3 was that the PK2 was running out of memory for the 16 and 32 bit devices, or something along those lines. If only Microchip continued support for the 8 bit only devices, all would have been good from my point of view.
Thanks again for your hard work William.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It depends upon what you mean by "older pics". What specfic device are to referring to?
The device file does not program the Pickit2. In simplified terms, the PIckit2 software reads the device file so that it knows how to program a specific PIC chip.
I would recommend using the device that is provided with the latest version if Great Cow Basic unless there are problems. In the GCB install .../pickit2/Updated Dat File/ ...folder there are two updated files:
These dat files support the most 8-bit PIC microcontrollers supported by Great Cow Basic. To use them, pick one and rename it to pk2devicefile.dat, then copy it to the pickit2 folder or the folder where pk2cmd.exe resides.
William
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This device file corrects some problems with previous versions. See the readme.
If you have any problems please report here.
WMR
Last edit: William Roth 2016-06-16
William thanks for your hard work. The 12f1571 is now auto recognized by the PK2 gui. Downside is that the program memory fails, read and blanking still works.
Took a look at the previous version (i.e. the one that was pulled) and started transcribing/editing your file to match. No luck so far, but there are differences in the addr set script, mem read script, mem words and so forth.
I realize this whole thing is a bit of a hassle for those of us who wish to continue with the PK2 with these newer devices. So if you wish to throw in the towell it is OK by me.
Last edit: kent_twt4 2016-06-15
I have corrected and retested on 12F1571/2. Please download again and retest
Correct file size is 209,044 bytes.
Rearranged Device Menus in GUI to be more logically sorted.
Added Dummy Script #301 for Identification.
Part of the challenge with the device file is correcting the broken file structure introduced in Ver 1.63.148+. The PIC32MX1 Family was aparently "pasted" into the file out of sequence. You can do this with chips/devices but not when adding an new family. If you look at the old file with the editor you will see that PIC32MX1 is designated as Family 23. However, if you look at the 32MX1 parts you will see they are assigned to family 16. You will also see that certain midrange chips are assigned to family 23, which should be PIC32MX1. All parts after family 16 are actually assigned to the wrong family. The GUI applications do not actually look at the family designator assigned to the Family, but rather the index number or order of the family as it is placed in the file.
Likewise, a new script was pasted into the file out of sequence and a dummy script inserted right after. This offset the scripts after script 3 by a value of 2. Therefore, compatibility was lost between version 1.63.46 and 1.63.48. you cannot take a device from .48 and past it into .46 without changing nearly every script entry.
Also the "Search Priority was buggered up in some versions. This causes some chips not to be detected correctly. Two families cannot have the same search priority.
Add to this a memory bug in the Device file editor where changes are not always commited --- and well, it took some time to get it all sorted out.
Last edit: William Roth 2016-06-17
Whoa, that is deep dive into the inner workings of the PK2 device file and programming structure. I had seen the 32MX parts were out of place in the previous version and some of the script numbers being out of sorts.
12f1572 now programs memory correctly and maintains auto recognition, erase, read functions. VERY NICE!!! Have not tried any other devices.
Your thoughts on the GCB only file is exactly what Microchip should have done. I think the reason for the PK3 was that the PK2 was running out of memory for the 16 and 32 bit devices, or something along those lines. If only Microchip continued support for the 8 bit only devices, all would have been good from my point of view.
Thanks again for your hard work William.
William,
I added your 8-bit only device file to my PICkit 2 Page
Please. Do I need to reprogram my pickit 2 with this file pk2devicefile_1_63_146-4.dat to use older pics?
Hi Stan,
It depends upon what you mean by "older pics". What specfic device are to referring to?
The device file does not program the Pickit2. In simplified terms, the PIckit2 software reads the device file so that it knows how to program a specific PIC chip.
I would recommend using the device that is provided with the latest version if Great Cow Basic unless there are problems. In the GCB install .../pickit2/Updated Dat File/ ...folder there are two updated files:
PK2DeviceFile_1_63_150_GCB.dat
PK2DeviceFile_1_63_155_GCB_ONLY.dat
These dat files support the most 8-bit PIC microcontrollers supported by Great Cow Basic. To use them, pick one and rename it to pk2devicefile.dat, then copy it to the pickit2 folder or the folder where pk2cmd.exe resides.
William