Jump to content
PLC Forum


Sign in to follow this  
martin1984

scheda elettronica da programmare spi

Recommended Posts

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.

Share this post


Link to post
Share on other sites

martin1984

la E2prom  sarebbe il file flash o eeprom  ?  lo posso modificare con avr studio ?

Share this post


Link to post
Share on other sites
Livio Orsini

E2prom == EEprom.

Dovresti poterla modificare direttamente dal programmatore.

Share this post


Link to post
Share on other sites
martin1984

ok , ma come posso leggre il file salvato ?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
martin1984

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 !

Share this post


Link to post
Share on other sites
Livio Orsini

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.

Share this post


Link to post
Share on other sites
martin1984

posso usare anche un  altro programma , pero mi devi spiegare come procedere , perche non l'ho mai fatto

Share this post


Link to post
Share on other sites
Livio Orsini

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.

Share this post


Link to post
Share on other sites
Livio Orsini

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.

Share this post


Link to post
Share on other sites
Darlington

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

Share this post


Link to post
Share on other sites
martin1984

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

Share this post


Link to post
Share on other sites
Nikiki

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?

 

Share this post


Link to post
Share on other sites
martin1984

si ho provato ma non trovo nulla ci sono molti dati modificati

erogazioni 14

2cgg8xy.jpg

erogazioni 14

23jh5qt.jpg

 

 

Share this post


Link to post
Share on other sites
Nikiki

Non devi aprire quei file con AVR studio, usa un banale Editor di testo come il "Blocco Note"

Share this post


Link to post
Share on other sites
martin1984

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

 

 

 

 

 

Share this post


Link to post
Share on other sites
Nikiki

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.

 

 

Share this post


Link to post
Share on other sites
martin1984

ok scusa non avevo capito

 

si 13 o 14 sono quelli scritti sul display

 

 

 

 

 

Share this post


Link to post
Share on other sites
martin1984

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

 

Share this post


Link to post
Share on other sites
Nikiki

Prova a postare i file qui, ma non inviare foto, fai copia incolla del contenuto. 

Share this post


Link to post
Share on other sites
martin1984

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

 

Share this post


Link to post
Share on other sites
martin1984

è cosi che ti riferivi ?

Share this post


Link to post
Share on other sites
Nikiki

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:

Share this post


Link to post
Share on other sites
Darlington

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.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...