Author |
Topic |
|
JayZ28
4 Posts |
Posted - 10/03/2005 : 00:02:52
|
Using the Enhanced programer, if I can flash a hex file to the 16f630 no problem, but if I make any changes to the hex and try to reflash, I get an "Error writing program area". If i try to flash the exact same hex file that is already in the pic, it works fine. What am I doing wrong?
Thanks for your help, Jay
|
|
Reply #1
usb
138 Posts |
Posted - 10/03/2005 : 10:36:34
|
Some points may be helps:
1.Each line in hex file has the checksum. So, you may need to confirm your checksum if correct. 2.Modifing a binary file is easier than a hex file, you can save the data to a binary file and then modify it. 3.Try to erase and do blank check the chip before write. Anyway, most of PIC16FXXX chip does not need erase.
|
|
|
Reply #2
JayZ28
4 Posts |
Posted - 10/03/2005 : 11:13:39
|
Thanks usb.
I am not directly modifying the HEX file, instead I'm using MPLab to compile to a HEX file. I thought maybe that it will automatically generate the correct checksum? When I try to erase the pic, nothing happens.
-Jay
quote: Originally posted by usb
Some points may be helps:
1.Each line in hex file has the checksum. So, you may need to confirm your checksum if correct. 2.Modifing a binary file is easier than a hex file, you can save the data to a binary file and then modify it. 3.Try to erase and do blank check the chip before write. Anyway, most of PIC16FXXX chip does not need erase.
|
|
|
Reply #3
usb
138 Posts |
Posted - 10/03/2005 : 15:24:03
|
I believe your chip been Code Protected. When you first time was writting the chip, you may be turned on CP feature. then your chip can not be modified. The chip need to be erased entierly, so that to erase the CP bit.
Try using different PIC chip type to erase the chip, it maybe works.
|
Edited by - usb on 10/03/2005 15:24:52 |
|
|
Reply #4
JayZ28
4 Posts |
Posted - 10/03/2005 : 18:48:51
|
usb-
I tried to use a different PIC chip type and click the erase button, but it does not work. But, if I switch to a different type in the software such as the 16F627, the software will allow me to reflash my 16F630 with a blank buffer filled with 0x3FFF. After that if I switch back to the 16F630, the software will let me write any hex file. The big problem now is after the flash is finished, the chip doesn't work. If I flash brand new 16F630 with exact same hex file, the chip works perfectly... what should I do now?
-Jay
|
|
|
Reply #5
usb
138 Posts |
Posted - 10/04/2005 : 10:44:18
|
I think the configuration area not been erased on you 16F630. Based on the programming specification, I think you can use 16F627 type to program 16F630. Except the OSC. calibration byte. So, try use 16F627 type from the software to refresh the 16F630. If your application not time critical, then your chip should run. |
Edited by - usb on 10/04/2005 10:45:57 |
|
|
Reply #6
JayZ28
4 Posts |
Posted - 10/04/2005 : 13:05:59
|
Thank you very much for your help. I will try that. Do you know also if I used the ICSP header to program the 16F630, will it work better than the integrated socket?
Thanks, Jay
|
|
|
Reply #7
usb
138 Posts |
Posted - 10/05/2005 : 10:36:05
|
Use PIC socket and ICSP header are the same, the ICSP only is the extension of the socket. |
|
|
|
Topic |
|
|
|