È da alcuni giorni che ho difficolta a programmare un PIC24FJ64GB002 ottenendo un errore che personalmente trovo assurdo.
Per la compilazione sto usando MPLABX+XC16 su linux.
Per la programmazione, in attesa di prendermi un PICkit3, mi sto affidando al TLVP (porta parallela bufferizzata con un 74HCT573) con PICPGM. finora ho programmato con successo 12F629, 16F628 e 18F2550.
Dato che il programmatore è alimentato a 5V e il PIC a 3.3V ho usato il solito level shifter a mosfet:

Il codice che sto cercando di programmare è un bootloader seriale, precisamente il Microchip AN1157 (http://www.microchip.com/stellent/idcpl ... e=en533906)
Ho provato a programmarlo sia da linux che da windows, su due PC diversi, usando anche due PIC diversi, nel caso uno fosse danneggiato...
L'errore che ottengo è questo:
- Codice: Seleziona tutto
PIC Development Programmer Version 2.7.8.0
http://picpgm.picprojects.net
Copyright 2002-2012 Christian Stadler (picpgm@gmx.at)
(built on Dec 9 2012 at 10:45:35)
==================================================================
Programmer: TLVP - Trivial LVP Programmer
at /dev/parport0 (0x000)
PIC name: PIC24FJ64GB002
Device ID: 0x4207
Flash: 85 kByte
EEPROM: 0 Byte
Erasing whole device ... done!
Programming Code Memory 0x00002600
Verifing Code Memory 0x00002590 => Code memory OK!
Programming Data Memory 0x00000000
Verifing Data Memory 0x00000000 => Data memory OK!
Programming Config Memory 0x00000008
Verifing Config Memory 0x00000004
Verify Error: Cfg Mem 0x000004: PIC=0xFFF7 Buf=0x1947
Verifing Config Memory 0x00000006
Verify Error: Cfg Mem 0x000006: PIC=0x7BDF Buf=0x3A48
Verifing Config Memory 0x00000008
Programming finished with Verify Error(s)!
time 109.0 seconds!
Cosa??
La programmazione del programma va a buon fine e i dati vengono correttamente verificati.
Quindi passa alla programmazione della configurazione ed ecco che ne programma METÀ!
Che senso ha?
Riverificando la configurazione ottengo questo:
- Codice: Seleziona tutto
PIC Development Programmer Version 2.7.8.0
http://picpgm.picprojects.net
Copyright 2002-2012 Christian Stadler (picpgm@gmx.at)
(built on Dec 9 2012 at 10:45:35)
==================================================================
Programmer: TLVP - Trivial LVP Programmer
at /dev/parport0 (0x000)
PIC name: PIC24FJ64GB002
Device ID: 0x4207
Flash: 85 kByte
EEPROM: 0 Byte
dumping configuration memory ...
addr 0x00000000: 0xFF99
addr 0x00000002: 0xFCFF
addr 0x00000004: 0xFFFF
addr 0x00000006: 0x7FFF
time 0.0 seconds!
0x00000000 (CW4) e 0x00000002 (CW3) sono stati programmati,
0x00000004 (CW2) e 0x00000006 (CW1) invece no!
Da cosa può dipendere? Io sinceramente non trovo nessun motivo razionale!
Grazie in anticipo dell'aiuto!

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)