I have build the OpenProgrammer and everything seems to be ok. USB communication is working well and voltages checks are all ok.
I have just to disable de 3.3V check then I program a PIC18F47Q10 and opengui look to made his job and finish with a "no errors".
I just noticed that there is no verification into the log windows...
The problem is that this PIC is not working after this programming.
If I program the same chip with the same hex file via an Arduino + some resistors then it works well.
Any idea where the problem could be ?
Anyhow congrats to the author for the good job !
Thanks and regards.
Philippe
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Try this one, it should read fine.
Assuming it works, you have to compare what is written by opgui and what you expected to write.
Read and save in hex both versions.
What are the differences?
Have you noticed that the datasheet speak about 6 configuration WORDS ?
I have only give a quick look into the soft and have not a good understanding of it but it look to me that the device is configured for 6 configuration BYTES into it...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes, I know, in fact the Q10 type has a variable called CONFIGorg=0 which means "words".
6 is the number of "reads" but a word is retrieved every time.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2025-02-28
I just do a test under Linux and again no change with the previous version.
"Eeprom size exceeds limits".
Philippe
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This time read go to end !
Joined are the results.
I read with opengui a working Pic (programmed with an Arduino plus some resistors).
Then I read a non working chip programmed with the same hex file but with opengui.
The diff.txt file is generated by the command :
diff read_ok.hex read_bad.hex > diff.txt
I give a try into the write direction just to see...
The behavior is now different and better because that the program start. It was not the case before.
But they are still problems after...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2025-03-01
I must add that probably the working chip has a modified eeprom area due to configuration at usage etc...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
These are probably more easy to use because there was no usage of the chip between good and bad state... So the differences are probably more significant.
Some difference in EEPROM and in CONFIG area.
What is the original hex file to be written?
Also the write log, let's see what the programmed attempted to write.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
No chance !
The behavior of the PIC has not changed. It is like if he constantly reset (send the prompt, wait a little, resend the prompt again and again...).
I have check with the same chip and the other programmer then he works well.
Here joined are the hex file from MPLab, the write log and the hex file read from the chip after programming with the modified opgui.
Thanks for your help !
ps : I have keep the "common.h" and "opgui.c" you send here two days ago. Hope that this was the right thing to do ?
After reading the same manual page many times I realized that the programming command was not correct.
In practice the Q10 family is like other QXX except for transferring two bytes; I somehow concluded that it was like KXX which transfers 2 bytes but using a different command...
Try again with this code please.
Hello,
I have build the OpenProgrammer and everything seems to be ok. USB communication is working well and voltages checks are all ok.
I have just to disable de 3.3V check then I program a PIC18F47Q10 and opengui look to made his job and finish with a "no errors".
I just noticed that there is no verification into the log windows...
The problem is that this PIC is not working after this programming.
If I program the same chip with the same hex file via an Arduino + some resistors then it works well.
Any idea where the problem could be ?
Anyhow congrats to the author for the good job !
Thanks and regards.
Philippe
I stronly suspect that the datas recorded into opgui are wrong for this device.
Below is a scree capture of a reading trial n such a device.
Thanks and regards.
Philippe
Can you post or send me the read log?
They are here joined.
Regards.
Philippe
looks like there is a bug regarding memory size; Q10 devices don't use DIA/DCI, so I have to make a little modification
Try this one, it should read fine.
Assuming it works, you have to compare what is written by opgui and what you expected to write.
Read and save in hex both versions.
What are the differences?
I am sorry but I use only Linux.
I can compile myself of course with a source's archive (I have already do that for 0.12.3 version).
I am sorry but I use only Linux.
I can compile myself of course with a source's archive (I have already do that for 0.12.3 version).
No problem, here is the file I changed
I manage things to get this modified version on Windows.
There is the same message that with the standard version. Log with new version herejoined.
I manage things to get this modified version on Windows.
There is the same message that with the standard version. Log with new version herejoined.
Have you noticed that the datasheet speak about 6 configuration WORDS ?
I have only give a quick look into the soft and have not a good understanding of it but it look to me that the device is configured for 6 configuration BYTES into it...
Yes, I know, in fact the Q10 type has a variable called CONFIGorg=0 which means "words".
6 is the number of "reads" but a word is retrieved every time.
I just do a test under Linux and again no change with the previous version.
"Eeprom size exceeds limits".
Philippe
The main problem had to do with a buffer overflow for the ID memory.
C is the best language to make silly mistakes.
Here some updates ...
This time read go to end !
Joined are the results.
I read with opengui a working Pic (programmed with an Arduino plus some resistors).
Then I read a non working chip programmed with the same hex file but with opengui.
The diff.txt file is generated by the command :
diff read_ok.hex read_bad.hex > diff.txt
I give a try into the write direction just to see...
The behavior is now different and better because that the program start. It was not the case before.
But they are still problems after...
I must add that probably the working chip has a modified eeprom area due to configuration at usage etc...
These are probably more easy to use because there was no usage of the chip between good and bad state... So the differences are probably more significant.
Some difference in EEPROM and in CONFIG area.
What is the original hex file to be written?
Also the write log, let's see what the programmed attempted to write.
Here it is.
The hex file is the one coming from MPLab after clean+build.
Last edit: Wawa 2025-03-02
The problem is in the config area.
Try this one.
No chance !
The behavior of the PIC has not changed. It is like if he constantly reset (send the prompt, wait a little, resend the prompt again and again...).
I have check with the same chip and the other programmer then he works well.
Here joined are the hex file from MPLab, the write log and the hex file read from the chip after programming with the modified opgui.
Thanks for your help !
ps : I have keep the "common.h" and "opgui.c" you send here two days ago. Hope that this was the right thing to do ?
Last edit: Wawa 2025-03-03
After reading the same manual page many times I realized that the programming command was not correct.
In practice the Q10 family is like other QXX except for transferring two bytes; I somehow concluded that it was like KXX which transfers 2 bytes but using a different command...
Try again with this code please.
I got 2 errors when programming :
DevID: 0x70E0
RevID: 0xA042
18F47Q10 revB2
Erasing ... completed
Writing code ... completed, 0 errors
Writing CONFIG ...
Error writing address 300000: written FFAA, read AA59
Error writing address 300004: written FF9F, read 9F59
completed, 2 errors
End (7.63 s) 2 errors
Writing log joined.