返回列表 发帖

PIC12F629(675)

Xgecu-48 programmer, I found 2 errors. The first - PIC12F629(675) has a memory size of 0000h-03FFh = total 0x400. But the programmer says that the total memory is 0x3FF and my compiler cannot write to cell 0x3FF The second - I can not erase the PIC12F629(675)  with the installed FUSE - СPD and -CP set in the configuration word. Can I get the corrected software?

T48.png (73.85 KB)

T48.png

回复 1# john
1.0x3FF is oSSCAL word.
2.There is a BUG with erasure  when CP/CPD programmed, which will be corrected in the next version



    629.png

TOP

You are wrong. Cell osccal = 0X90h
I have been programming PIC12f629 for a long time.
//---------------------------------------------------------------
CCS PCM C Compiler, Version 4.130, 5967               02-ÿíâ-23 15:02

               Filename: D:\PIC_Proj\Level\main.lst

               ROM used: 437 words (43%)
                         Largest free fragment is 587
               RAM used: 17 (27%) at main() level
                         27 (42%) worst case
               Stack:    3 locations

*
0000:  MOVLW  01
0001:  MOVWF  0A
0002:  GOTO   004
0003:  NOP
0004:  CALL   3FF  // <--------------------------- jump to 0x3ff
0005:  BSF    03.5 //<-----------set Bank 1
0006:  MOVWF  10 //<-------------- mov to osccall (0x90h) W
0007:  MOVLW  00
0008:  MOVWF  0A
0009:  GOTO   18D
.................... #include <main.h>
.................... #include <12F629.h>

Configuration Fuses:
   Word  1: 3FD4   INTRC_IO NOWDT NOPUT NOMCLR BROWNOUT NOPROTECT NOCPD

ROM data:
0003FF: 343B // <----------- RETLW 3B

memory_map.png (174.4 KB)

memory_map.png

osccal.png (154.17 KB)

osccal.png

TOP

回复 3# john
OK, I will carefully reread the document.

TOP

TOP

回复 5# john

This instruction(calibration of the internal oscillator) is a  RETLW XX at addrres 0x3FF. it was factory programmed.
The location of this memory is reserved.
I did a test to read on a new chip.


629.png

The programmer need to Read and Save  it( OSCCAL INSTRUC at 0x3FF) when erase code memory.

Please read:41191D.book (microchip.com)
PIC12F629/675/PIC16F630/676 Memory Programming
6292.png

6293.png


Please read:41191D.book (microchip.com)
PIC12F629/675/PIC16F630/676 Memory Programming

If overwritten by other programmer, the internal clock will not be able to be calibrated.











TOP

回复 6# admin
"If overwritten by other programmer, the internal clock will not be able to be calibrated."

Exactly! So what to do if 3FF is erased?
T-48 does not allow you to write 3FF.
PIC12f629 read by another programmer and saved as BIN cannot be written using T-48.
But 3ff is implemented in the memory card and must be writable
3ff stores the VALUE for the register, but it's not register OSCCAL
The internal clock is calibrated with a couple of lines of code.
BSF    03.5
MOVLW  0x3b //------ any value for osccal
MOVWF  0x10 // ---- load osccal

3ff.png (149.33 KB)

3ff.png

TOP

回复 7# john
This is not a good idea. if let T48 write 0x3FF.

1. normal , MICROCHIP does not allow erasing the 3FF value . and  it cannot  be overwriten without erasing

2.If erased, a large number of chips may be scrapped during normal batch production.

3. If the clock is calibrated no using the original factory method, do not use 0x3FF(CALL 3FF).

4.Theoretically, if 3FF is erased by other programmer, this chip is a discarded chip.


This is a temporary upgrade, about CPD/CP of PIC12F629。
I tested three chips, and one chip couldn't be erased anyway. I think one of them might be broken.

http://www.xgecu.com/MiniPro/xgproV1252_setup.rar

TOP

回复 8# admin

Are you suggesting that perfectly usable chips be thrown into the trash?
Other programmers write them using the checkbox to write 3FF.
In the current situation, I am forced to select PIC12F615 and turn off the id check in order to write PIC12F629
But it's not right.

TempFix.png (71.71 KB)

TempFix.png

TOP

回复 9# john

Adding a  checkbox to write 3FF is an option

TOP

回复 10# admin
Thank you.

TOP

Unfortunately, the correction error 0x3FF- OSCCAL has not been corrected in the latest version of the program. Please fix it.

TOP

I am also having problem with PIC 12F629. I am using latest XGpro software v12.63 . I have purchased two "new" IC's and the T48 cannot program either one. When I attempt to program the IC, the XGPro software clears all flags and memory by putting 0's (zero) in the contents. Program Memory = all 0's. Data Memory = all 0's. Config Word = all 0's. When I try to perform ERASE function, it does not work. Everything remains 0's. Note that a blank chip should have all F's instead. I noticed you have 3 other forum discussions on this same topic. Therefore, I will post this message 3 times. I can't tell you how much time and effort I and other have wasted on this. Will Probably have to buy a Microchip PicKit instead, because I cannot wait for you to release your next version of XGPro. Thanks.

TOP

I can confirm this behavior with TL48, but using the same software with TL866II-Plus it kind of works, but still struggles with 3FF.

TOP

I also have the same problem. I want to delete photos and re-record them PIC12F629 and when I check if it is blank I get the error 3FFF.

I have the T56 programmer. Please find a quick solution. Software version 12.63

TOP

When will the problem be solved and the new version correcting these problems will be released? I can't work because of it. It takes too much time. I have the T56 with version 12.63 and I can't get a simple 12F629 programmed and I don't see you release any revisions to fix these problems.

TOP

On 12.66a still reads only 0x00 from PIC12F629 when using T48.

TOP

Maybe the issue with returning all 0 is that the code/data protection is enabled?
So
1. There needs to be an option in the XGecu software to disable code / data protection. I have no idea what the steps from the documentation mean and I doubt that these can be performed by a user.

2. If code/data protection is enabled, then the XGecu software is broken, because bit 8 (/CPD) and bit 7 (/CP) of the configuration word were not set, when programmed (not checked in the software = programmed as '1' = protection disabled)

3. I currently don't know, if the "Erase before" option (enabled by default) did clear 0x3FF = delete the RETLW value. If this is the case, then this is a critical bug as well, because the 12F629 is basically unusable after that



Please help. The PIC12F629 is returning all 0 after first programming and now I cannot do anything.

TOP

返回列表 回复 发帖