Do you mean that config word verification was correct at write time?
An then a subsequent device read produced unexpected data? Only on config words or anywhere else?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
~~~im using mplabx xc16 1.41 compilerthx
DevID: 0x0F09
DevRev: 0x3006
33FJ32MC202
ApplicationID @ 0x8007F0: 0xD817
Erasing ... completed
Writing code ... completed
Verifying code ... completed, 0 errors
Writing CONFIG ...
Error verifying address F80006 (16252934), written 81, read 87
Error verifying address F80008 (16252936), written A7, read E7
Error verifying address F8000A (16252938), written 5F, read DF
Error verifying address F8000E (16252942), written DF, read E3
~~~
It looks like you're trying to write 0 in a bit that is fixed to 1.
You should check the config words in the datasheet to see if this is the case.
0xF80006 = FOSCSEL IESO — — — FNOSC<2:0>
0xF80008 = FOSC FCKSM<1:0> IOL1WAY — — OSCIOFNC POSCMD<1:0>
0xF8000A= FWDT FWDTEN WINDIS — WDTPRE WDTPOST<3:0>
0xF8000E = FICD Reserved(1) JTAGEN — — — ICS<1:0>
is the default config 0x87 0xe7 0xdf 0xe3
In this case it appears to be a problem during config word write.
Can you share the write log?
this is a log
urgent plz
OpenProg.exe work perfect
Config words are indeed not written, but the code looks correct.
I need to try again with a real part (not exactly your model).
thx
I see the same on my device.
I'm trying to solve the issue.
Try this version (rename to .exe)
thx
DevID: 0x0F09
DevRev: 0x3006
33FJ32MC202
ApplicationID @ 0x8007F0: 0xD817
Reading code ... completed
Reading Executive area ... completed
CONFIG:
0xF80000: FBS = 0xFF
0xF80002: FSS = 0xFF
0xF80004: FGS = 0xFF
0xF80006: FOSCSEL = 0xFF
0xF80008: FOSC = 0xFF
0xF8000A: FWDT = 0xFF
0xF8000C: FPOR = 0xFF
0xF8000E: FICD = 0xFF
0xF80010: UID0 = 0xFF
0xF80012: UID1 = 0xFF
0xF80014: UID2 = 0xFF
0xF80016: UID3 = 0xFF
not reading config
writing ok
CONFIG:
0xF80000: 0xFFFF
0xF80002: 0xFFFF
0xF80004: 0xFFFF
0xF80006: 0x0000
0xF80008: 0x00A3
0xF8000A: 0x005F
0xF8000C: 0x00F7
0xF8000E: 0xFFDE
0xF80010: 0xFFFF
Do you mean that config word verification was correct at write time?
An then a subsequent device read produced unexpected data? Only on config words or anywhere else?