Vai al contenuto
PLC Forum


scheda elettronica da programmare spi


martin1984

Messaggi consigliati

Livio Orsini

Certo che si può resettare.

Il totale erogazioni sarà memorizzato nella parte E2prom basta riscriverci sopra 0. Però bisogna conoscere la locazione di questa variabile, perchè questa memoria probabilmente conterrà altri dati che forse non si devono modificare.

La via più spiccia per capire dove è allocata questa variabile è leggere la E2prom e verificare a quale indirizzo corrispondono i valori che leggi come erogazioni.

Link al commento
Condividi su altri siti


  • Risposte 99
  • Created
  • Ultima risposta

Top Posters In This Topic

  • martin1984

    53

  • Nikiki

    29

  • Livio Orsini

    11

  • Darlington

    7

Livio Orsini

Scusa ma non capisco.

Lo hai letto, almeno così hai scritto, con il programmatore.

Io non so quello come funziona; io di solito programmo i pic con lo ICD dell microchip ed è possiible leggere e scrvere la EEPROM.

Link al commento
Condividi su altri siti

si l'ho letto dalla scheda buona  ed riscritto sulla scheda guasta fino a qui tutto ok funziona

 

io dicevo per resettare le erogazioni ? il programma mi crea il file .hex , questo file come faccio a aprirlo per cercare di capire dove si trova il codice per modificare le erogazioni , perche con avr studio non so come fare ( penso che aprendolo mi venga fuori una lista di codici ) o sbaglio !

Link al commento
Condividi su altri siti

No i dati memorizzati in EEprom non sono nel file hex.

Durante l'esecuzione del programma questi dati vengono scritti nella EEprom; se tu copi tutto flash ed EEprom copi anche questi dati. Se tu imponi di leggere solo il contenuto della flash e poi usi questo file per riprogrammare il nuovo controllore la EEprom parte vergine.

 

Io non lavoro con AVR studio per cui non so dirti cosa fare.

Link al commento
Condividi su altri siti

Te lo potrei spiegare con MPLAB, ma quello serve per lavorare con i PIC.

Ti ripeto che io non conosco AVR studio, ma presumo che abbia le medesime funzionalità degli altri programmi simili.

Fai una ricerca nello Help del programma per EEPROM e dovresti trovare largomento che spiega come scrivere e leggere i dati.

Link al commento
Condividi su altri siti

Che cosa hai aperto? CHe programma hai aperto?

Se apri un programma AVR studio interpreta il file come istruzioni.

Non devi aprire con AVR ma devi trovare l'opzione che ti legge la memoria. SI possono leggere sia la ram che la EEPROM.

Link al commento
Condividi su altri siti

Di solito il dump di una eeprom è inevitabilmente un file .bin, sei sicuro che non ne sia stato generato uno al momento della lettura?

Link al commento
Condividi su altri siti

no ho guardato nella cartella dove ho salvato i file ed sono .hex  ( che sono la flash ed eprom che ho salvato io )  di .bin non ce ne sono

Link al commento
Condividi su altri siti

AVR Studio salva in Hex anche il dump della Eeprom.

Se devi modificare un byte puoi farlo direttamente nel file hex, è un normalissimo file di testo, abbastanza semplice da visionare e modificare, basta ricalcolare il checksum della riga modificata.

Questo è un esempio di una riga di un file hex:

:10010000FF64320055FFFFFFFFFFFFFFFFFFFFFF10

devi interpretarli così:

: (due punti) = è il carattere di inizio riga

10 = è il numero di byte del campo dati (in esadecimale, quindi 16 byte)

0100 = indirizzo base dei dati della riga

00 = tipo di record (le righe che contengono dati sono tutti 00)

FF64320055FFFFFFFFFFFFFFFFFFFFFF = campo dati (16 byte) sono questi che devi vedere ed eventualmente modificare.

10 = Checksum, somma di tutti i byte precedenti della riga, e complemento a 2. ovviamente si prende solo il byte meno significativo.

 

Quindi non devi fare altro che leggere la eeprom, fare un caffè, leggere ancora la eeprom e confrontare i due file per vedere qual'è il dato che viene modificato, e se vuoi azzerare il contatore mettere questo dato a zero e ricalcolare il checksum.

Salvi il file e lo scrivi nella eeprom del micro.

 

Tutto ciò sperando che tu veda cambiare un solo byte, o al massimo due vicini (se il contatore deve superare 255)

 

tutto chiaro?

 

Link al commento
Condividi su altri siti

si ho provato con blocco note ma non trovo nulla ci sono molti dati modificati nelle prime 2 righe , però non sono presenti ne il numero 14 o 13 , penso che sia troppo complicato da scoprire

 

ho contato ed sono 6 tra numeri ed lettere che si sono modificati nelle prime 2 righe

 

 

 

 

 

Link al commento
Condividi su altri siti

Ogni byte occupa due cifre nel file, quindi se vedi cambiare 6 caratteri si tratta di 3 byte... Considerando che uno di questi probabilmente è il checksum (l'ultimo byte della riga) quelli che cambiano sono 2.

Perché cerchi 13 o 14?...sono le erogazioni che leggi sul display? 

Considera che quelli che vedi nel file sono in esadecimale, eventualmente 13 e 14 li vedresti rispettivamente 0D e 0E.

 

 

Link al commento
Condividi su altri siti

ho provato ancora a cercare , ma proprio non ne capisco nulla , lasciamo cosi perche mi sembra troppo per le mia esperienza

 

Link al commento
Condividi su altri siti

13 erogazioni

 

:1000000005000000080000000300000017000000C9
:100010000A02CCFFFFFFFFFFFFFFFFFFFFFFFFFF15
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:10004000D501660096006E00D0070A00AA006E0077
:10005000780056F3FFFFFFFFFFFFFFFFFFFFFFFFEB
:10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
:10008000660099FFFFFFFFFFFFFFFFFFFFFFFFFF7E
:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
:1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
:1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:1000D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
:1000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
:1000F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
:10010000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
:10011000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
:10012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
:10013000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
:10014000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
:10015000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
:10016000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
:10017000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
:10018000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
:10019000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
:1001A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
:1001B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
:1001C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
:1001D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
:1001E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
:1001F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
:10020000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
:10021000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE
:10022000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE
:10023000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
:10024000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
:10025000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
:10026000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
:10027000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E
:10028000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E
:10029000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E
:1002A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
:1002B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
:1002C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
:1002D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
:1002E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
:1002F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
:10030000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
:10031000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED
:10032000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
:10033000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD
:10034000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD
:10035000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD
:10036000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D
:10037000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D
:10038000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D
:10039000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
:1003A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
:1003B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D
:1003C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
:1003D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D
:1003E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D
:1003F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D
:00000001FF

 

 

 

14 erogaziooni

 

:1000000006000000080000000300000019000000C6
:100010000A00CBFFFFFFFFFFFFFFFFFFFFFFFFFF18
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:10004000D501660096006E00D0070A00AA006E0077
:10005000780056F3FFFFFFFFFFFFFFFFFFFFFFFFEB
:10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
:10008000660099FFFFFFFFFFFFFFFFFFFFFFFFFF7E
:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
:1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
:1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:1000D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
:1000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
:1000F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
:10010000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
:10011000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
:10012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
:10013000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
:10014000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
:10015000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
:10016000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
:10017000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
:10018000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
:10019000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
:1001A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
:1001B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
:1001C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
:1001D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
:1001E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
:1001F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
:10020000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
:10021000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE
:10022000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE
:10023000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
:10024000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
:10025000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
:10026000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
:10027000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E
:10028000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E
:10029000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E
:1002A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
:1002B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
:1002C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
:1002D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
:1002E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
:1002F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
:10030000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
:10031000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED
:10032000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
:10033000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD
:10034000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD
:10035000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD
:10036000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D
:10037000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D
:10038000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D
:10039000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
:1003A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
:1003B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D
:1003C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
:1003D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D
:1003E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D
:1003F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D
:00000001FF

 

Link al commento
Condividi su altri siti

Si, ma in effetti ci sono più byte che sono incrementati di 1, e nessuno di questi convertito da come risultato 13 o 14...

sarebbe utile avere anche la lettura del 15 :lol:

Link al commento
Condividi su altri siti

La eeprom mi sembra in gran parte vuota viste tutte le F, io farei anche un esperimento visto che mi pare di capire che di schede ne hai molte... flashare solo il firmware, lasciare la eeprom vuota e vedere cosa succede. 

 

Probabilmente perdi anche i settaggi della macchina, è peggio se perdi le calibrazioni.. ma in ogni caso non è una situazione disperata, perché ti basterebbe riflashare di nuovo il dump che hai.

Link al commento
Condividi su altri siti

  • Livio Orsini locked this discussione
Ospite
Questa discussione è chiusa alle risposte.

×
×
  • Crea nuovo/a...