Discussione:
Convertire un file HEX
(troppo vecchio per rispondere)
Alessandro Brasili
2004-10-27 12:40:44 UTC
Permalink
Ragazzi qualcuno di voi conosce un programmino che riesce a convertire un
file hex (il contenuto di una eprom) in un formato leggibile
senza dover ricostruire tutti i dati a mano? il massimo sarebbe poterlo poi
importare con excel.
p.s. se salvo la lettura della eprom in bin, ho qualche possibilità in più
per convertirla? grazie.
Due di Picche
2004-10-28 08:59:41 UTC
Permalink
Un giorno, inconsapevole delle conseguenze, "Alessandro Brasili"
Post by Alessandro Brasili
Ragazzi qualcuno di voi conosce un programmino che riesce a convertire un
file hex (il contenuto di una eprom) in un formato leggibile
senza dover ricostruire tutti i dati a mano? il massimo sarebbe poterlo poi
importare con excel.
p.s. se salvo la lettura della eprom in bin, ho qualche possibilità in più
per convertirla? grazie.
Il problema è sapere da che processore vengono elaborati i dati
contenuti nella eprom. In una eprom altro non c'è che un ammasso di
byte che hanno un senso all'esterno non al suo interno. In parole
povere un circuito esterno (es: un microprocessore) legge la eprom e
ne utilizza i dati seguendo I SUOI CODICI di programmazione. Un altro
processore potrebbe avere codici completamente diversi, quindi non è
tanto il problema di leggere i dati ma di interpretarli e per fare
ciò devi sapere CHI o COSA usa quella eprom.
--
Satisfaction Guaranteed: We'll send you another copy if it fails.
News 2000 [v 2.06] - http://www.akapulce.net/socket2000
Alessandro Brasili
2004-10-28 09:13:48 UTC
Permalink
Ciao Due di Picche, carina la premessa, un pò meno le conseguenze, che
ovviamente mi inducono a riformulare la domanda
con l'intento di essere più chiaro.
Ho sviluppato un programma che esegue diverse operazioni, fra le quali
quella di scrivere dei stupidi byte sulla eprom, ovviamente non a casaccio
ma con un senso logico che io conosco perfettamente (ovvio!). Il problema
però che mi si pone è quello di andare a prendere tutto il contenuto della
eprom e salvarlo in un qualche formato che mi permetta poi di elaborare i
dati a mio piacimento, tipo farci dei grafici (uno a caso!). Sai spesso
(molto spesso) non interessa a nessuno come e dove sono messi i byte, ma
interessa quello che rappresentano.

es. address 0000-0004 c'è memorizzato 01000001010101000000000000000000... se
mi armo di calcolatrice e pazienza so che significa 13,25 ...ma se ci fosse
un programmino che lo facesse al posto mio sarebbe meglio non credi? Anche
perchè ce ne sono molti così, tipo 7000 float capisci? grazie grazie e spero
di essere stato più chiaro e che le conseguenze a ciò che ho scritto siano
più piacevoli..a presto.
Post by Due di Picche
Un giorno, inconsapevole delle conseguenze, "Alessandro Brasili"
Post by Alessandro Brasili
Ragazzi qualcuno di voi conosce un programmino che riesce a convertire un
file hex (il contenuto di una eprom) in un formato leggibile
senza dover ricostruire tutti i dati a mano? il massimo sarebbe poterlo poi
importare con excel.
p.s. se salvo la lettura della eprom in bin, ho qualche possibilità in più
per convertirla? grazie.
Il problema è sapere da che processore vengono elaborati i dati
contenuti nella eprom. In una eprom altro non c'è che un ammasso di
byte che hanno un senso all'esterno non al suo interno. In parole
povere un circuito esterno (es: un microprocessore) legge la eprom e
ne utilizza i dati seguendo I SUOI CODICI di programmazione. Un altro
processore potrebbe avere codici completamente diversi, quindi non è
tanto il problema di leggere i dati ma di interpretarli e per fare
ciò devi sapere CHI o COSA usa quella eprom.
--
Satisfaction Guaranteed: We'll send you another copy if it fails.
News 2000 [v 2.06] - http://www.akapulce.net/socket2000
Due di Picche
2004-10-28 18:02:22 UTC
Permalink
Pestando alacremente sulla tastiera "Alessandro Brasili"
Post by Alessandro Brasili
dati a mio piacimento, tipo farci dei grafici (uno a caso!). Sai spesso
(molto spesso) non interessa a nessuno come e dove sono messi i byte, ma
interessa quello che rappresentano.
Devi essere esplicito e preciso quando fai una domanda. Nel tuo caso,
a meno di essere un indovino, chi poteva immaginare che contenevano
Post by Alessandro Brasili
es. address 0000-0004 c'è memorizzato 01000001010101000000000000000000... se
Questo è già un errore... Citi 5 byte (da 0 a 4) e ci metti dentro un
float a 4 byte... Immagino sia semplicemente un errore di battitura.
In ogni caso questa è una routine in VB il problema è che nel file
che ottieni dall EPROM i float andrebbero memorizzati al contrario
(cioè prima l'lsb poi l'msb) ovvero dovresti ottenere:
00000000000000000101010001000001
Il file risultante lo importi come file di testo in excel.

Option Explicit

Private Type myRec
Dati As Single
End Type

Private Sub Command1_Click()

Dim xFile As Integer
Dim yFile As Integer
Dim Rec As myRec

xFile = FreeFile
Open "c:\myfile.bin" For Binary As xFile Len = Len(Rec)
yFile = FreeFile
Open "c:\result.txt" For Output As yFile
Do
Get #xFile, , Rec
If EOF(xFile) Then Exit Do
Print #yFile, Rec.Dati
Loop
Close xFile, yFile
End

End Sub
--
Customer: A primitive life form at the bottom of the food chain.
News 2000 [v 2.06] / StopDialer / PopDuster - http://www.socket2000.com
Akapulce portal: http://www.akapulce.net
Alessandro Brasili
2004-10-30 13:02:27 UTC
Permalink
Ciao Due, io non profferisco, al limite proferisco pestando alacremente
sulla tastiera, ed in questo pestare alacremente può accadere anche di
abbondare in byte, uno in più che vuoi che sia dopotutto.
Tornando al problema in questione, diciamo che la mia eprom contiene un pò
di interi ed un pò di float, tanto per non farci mancare niente. Non ho ben
capito cosa faccia la tua procedura, converte il file bin in txt? se così,
questo lo avevo già fatto con un programmino, però importando il tutto con
excel non si ricostruiscono i dati.

Es. i primi due byte della eprom contengono FE e 03, che per me
rapprensentano l'intero FE03, cioè 1022..e così via per tutti gli interi.
All'indirizzo 7500 iniziano i float, così prendo i 4 byte a partire
dal 7500, li leggo al contrario ed ecco il reale che mi serve..e così via.

Ora facendola a mano tutto funziona, ma io non lo voglio fare a mano. Vorrei
che un programma schiavo lo facesse al posto mio.
Se non ci sono programmi che lo fanno, allora vorrà dire che mi scrivo una
routine in C e lo faccio.

La domanda originale è:

" Esiste un programma che effettua la ricostruzione dei dati contenuti in
una eprom?"

La domanda corretta è:
"Esiste un programma che effettua la ricostruzione dei dati contenuti in una
eprom, sia interi che float, per poter salvare la conversione in un file
digeribile da Excel ad esempio?"

Ciao ciao Due di picche e grazie per le tue risposte sempre simpatiche.
Post by Due di Picche
Pestando alacremente sulla tastiera "Alessandro Brasili"
Post by Alessandro Brasili
dati a mio piacimento, tipo farci dei grafici (uno a caso!). Sai spesso
(molto spesso) non interessa a nessuno come e dove sono messi i byte, ma
interessa quello che rappresentano.
Devi essere esplicito e preciso quando fai una domanda. Nel tuo caso,
a meno di essere un indovino, chi poteva immaginare che contenevano
Post by Alessandro Brasili
es. address 0000-0004 c'è memorizzato 01000001010101000000000000000000... se
Questo è già un errore... Citi 5 byte (da 0 a 4) e ci metti dentro un
float a 4 byte... Immagino sia semplicemente un errore di battitura.
In ogni caso questa è una routine in VB il problema è che nel file
che ottieni dall EPROM i float andrebbero memorizzati al contrario
00000000000000000101010001000001
Il file risultante lo importi come file di testo in excel.
Option Explicit
Private Type myRec
Dati As Single
End Type
Private Sub Command1_Click()
Dim xFile As Integer
Dim yFile As Integer
Dim Rec As myRec
xFile = FreeFile
Open "c:\myfile.bin" For Binary As xFile Len = Len(Rec)
yFile = FreeFile
Open "c:\result.txt" For Output As yFile
Do
Get #xFile, , Rec
If EOF(xFile) Then Exit Do
Print #yFile, Rec.Dati
Loop
Close xFile, yFile
End
End Sub
--
Customer: A primitive life form at the bottom of the food chain.
News 2000 [v 2.06] / StopDialer / PopDuster - http://www.socket2000.com
Akapulce portal: http://www.akapulce.net
Due di Picche
2004-10-30 17:42:53 UTC
Permalink
Pestando alacremente sulla tastiera "Alessandro Brasili"
Post by Alessandro Brasili
Ciao Due, io non profferisco, al limite proferisco pestando alacremente
http://www.demauroparavia.it/87378
Post by Alessandro Brasili
di interi ed un pò di float, tanto per non farci mancare niente. Non ho ben
capito cosa faccia la tua procedura, converte il file bin in txt? se così,
questo lo avevo già fatto con un programmino, però importando il tutto con
excel non si ricostruiscono i dati.
Converte in txt ma il txt contiene i numeri già decodificati:

13,56
345,67
567,00
3,98

etc... Un simile file è digeribilissimo da excel.
Post by Alessandro Brasili
Es. i primi due byte della eprom contengono FE e 03, che per me
rapprensentano l'intero FE03, cioè 1022..e così via per tutti gli interi.
All'indirizzo 7500 iniziano i float, così prendo i 4 byte a partire
dal 7500, li leggo al contrario ed ecco il reale che mi serve..e così via.
Ecco, il tuo principale difetto è di non dire subito quel che ti
occorre. Hai inizialmente parlato di dati generici, poi di float
adesso pure di interi. Se sai usare il VB prendi la routine che ti ho
postato e gli aggiungi la semplice variazione per leggersi gli interi
nelle prime 7500 locazioni.
Post by Alessandro Brasili
Se non ci sono programmi che lo fanno, allora vorrà dire che mi scrivo una
routine in C e lo faccio.
Ecco, se sai programmare in 20 minuti risolvi...
--
"Politics is a pendulum whose swings between anarchy and tyranny are fueled by perpetually rejuvenated illusions." -- Einstein
News 2000 [v 2.06] / StopDialer / PopDuster - http://www.socket2000.com
Akapulce portal: http://www.akapulce.net
Alessandro Brasili
2004-10-30 18:41:01 UTC
Permalink
Ahahahahah, carino il link al De Mauro! porgo umilmente le mie scuse.
Ok allora proverò a modificare la tua procedura..o al limite perderò venti
minuti e la riscrivo in C...speriamo bene.
Ciao Ciao.
Post by Due di Picche
Pestando alacremente sulla tastiera "Alessandro Brasili"
Post by Alessandro Brasili
Ciao Due, io non profferisco, al limite proferisco pestando alacremente
http://www.demauroparavia.it/87378
Post by Alessandro Brasili
di interi ed un pò di float, tanto per non farci mancare niente. Non ho ben
capito cosa faccia la tua procedura, converte il file bin in txt? se così,
questo lo avevo già fatto con un programmino, però importando il tutto con
excel non si ricostruiscono i dati.
13,56
345,67
567,00
3,98
etc... Un simile file è digeribilissimo da excel.
Post by Alessandro Brasili
Es. i primi due byte della eprom contengono FE e 03, che per me
rapprensentano l'intero FE03, cioè 1022..e così via per tutti gli interi.
All'indirizzo 7500 iniziano i float, così prendo i 4 byte a partire
dal 7500, li leggo al contrario ed ecco il reale che mi serve..e così via.
Ecco, il tuo principale difetto è di non dire subito quel che ti
occorre. Hai inizialmente parlato di dati generici, poi di float
adesso pure di interi. Se sai usare il VB prendi la routine che ti ho
postato e gli aggiungi la semplice variazione per leggersi gli interi
nelle prime 7500 locazioni.
Post by Alessandro Brasili
Se non ci sono programmi che lo fanno, allora vorrà dire che mi scrivo una
routine in C e lo faccio.
Ecco, se sai programmare in 20 minuti risolvi...
--
"Politics is a pendulum whose swings between anarchy and tyranny are
fueled by perpetually rejuvenated illusions." -- Einstein
News 2000 [v 2.06] / StopDialer / PopDuster - http://www.socket2000.com
Akapulce portal: http://www.akapulce.net
Continua a leggere su narkive:
Loading...