Autor Tema: EPROM AMD 2708 + checksum  (Leído 3086 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado david_tec

  • PIC10
  • *
  • Mensajes: 10
EPROM AMD 2708 + checksum
« en: 25 de Mayo de 2010, 16:46:42 »
Hola a tod@s,

Estoy trabajando con unas memorias AMD, y necesito quemar los valores a esta memoria. Sin embargo no conozco la manera en como se calculan el checksum, ya que son un poco "viejas" y al parecer en esos tiempos no existían muchos estándares de verificación.

Actualmente puedo quemar la memoria, pero a la hora de utilizar en el sistema no es reconocida. Estos son los datos de dos memoria en buen estado:

Eprom 1:

Address   +0   +1   +2   +3   +4   +5   +6   +7   +8   +9   +A   +B   +C   +D   +E   +E   0123456789ABCDEF

00000000   10   0F   1A   39   00   00   00   00   00   00   00   00   00   00   00   00   ...9............
00000010   02   38   54   A2   05   68   63   A6   05   68   63   A6   6B   5C   D8   A9   .8T¢.hc¦.hc¦k\ØŠ
00000020   6E   90   A6   AD   71   E5   06   D9   75   5C   A8   87   78   C2   8B   A9   n¦­qå.Ùu\¨‡x‹©
00000030   7B   9F   A6   D3   7F   9C   71   84   01   ED   B7   84   07   00   00   C8   {ŸéÓ.œq„.í•„...È
00000040   0A   00   00   FA   0E   00   40   9C   11   25   52   C3   14   5C   24   F4   ...ú..@œ.%RÃ.\$ô
00000050   18   02   89   98   97   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ..‰˜—ÿÿÿÿÿÿÿÿÿÿÿ
00000060   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000070   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   Ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000080   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000090   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000000A0   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000000B0   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000000C0   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   Ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000000D0   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000000E0   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000000F0   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000100   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

Eprom 2

Address   +0   +1   +2   +3   +4   +5   +6   +7   +8   +9   +A   +B   +C   +D   +E   +E   0123456789ABCDEF

00000000   10   0F   1A   39   00   00   00   00   00   00   00   00   00   00   00   00   ...9............
00000010   02   4C   65   A1   05   E2   70   A5   05   E2   70   A5   6B   7E   48   8A     .Le¡.âp¥.âp¥k~HŠ
00000020   6E   C8   AD   AC   71   F5   CB   D7   75   4B   E1   86   78   B3   92   A8     nÈ­¬qõË×uKá†x³’¨
00000030   7B   34   B8   D2   7F   4C   B4   83   01   EF   CD   83   07   00   00   C8   {4¸Ò.L´ƒ.ï̓...È
00000040   0A   00   00   FA   0E   00   40   9C   11   CC   4E   C3   14   88   19   F4   ...ú..@œ.ÌNÃ.ˆ.ô
00000050   18   11   77   98   14   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ..w˜.ÿÿÿÿÿÿÿÿÿÿÿ
00000060   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000070   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   Ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000080   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000090   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000000A0   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000000B0   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000000C0   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   Ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000000D0   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000000E0   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000000F0   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000100   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

Según lo que he leído, el checksum corresponde al último byte de cada memoria, es decir en la meoria 1 el checksum es 97, mientras q en la memoria 2 es 14. He investigado sobre algunos algotirmos para calcular checksum, sin embargo no he obtenido buenos resultados. Como se puede observar en las dos memorias la primer fila se repite, además cada 4 bytes la columna se mantiene. Alguien con alguna sugerencia para el cálculo del checksum. Ya he intentado varios métodos, sin embargo por la antiguedad de la memoria se pudo haber implementado cualquier algoritmo, así que los estándares de ahora no son muy útilies en este caso.

Gracias por la ayuda o información que me puedan brindar.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: EPROM AMD 2708 + checksum
« Respuesta #1 en: 25 de Mayo de 2010, 16:50:14 »
Hola, el checksum dependerá de la aplicación que lee las memorias. Danos más datos al respecto.  ;-)

Desconectado david_tec

  • PIC10
  • *
  • Mensajes: 10
Re: EPROM AMD 2708 + checksum
« Respuesta #2 en: 26 de Mayo de 2010, 10:03:52 »
Disculpas por obviar toda la información.

Estas memorias lo que tienen almacenado son valores de voltajes y corrientes, DC ambos.

En específico son 3 valores de voltajes y 8 valores de corrientes. Estos valores vienen dados en punto flotante, un ejemplo de estos valores es: 2.1045700E+01.

Estos valores se utilizan como referencia luego para poder realizar la calibración de un equipo.

Saludos,

PD: si aún hace falta info me avisan para ver que más puedo encontrar.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: EPROM AMD 2708 + checksum
« Respuesta #3 en: 26 de Mayo de 2010, 16:01:18 »
Hola, es que hay muchas formas de calcular un checksum de 8 bits. Mira este hilo por ejemplo...

http://www.todopic.com.ar/foros/index.php?topic=25627.0

... no es lo mismo un crc estándar que un crc para usb. Depende la aplicación y a veces lo que el programador haya querido definir como checksum.

Puede ser algo tan trivial como sumar todos los datos y usar el byte menos significativo como checksum y puede ser algo tan complejo como usar crc+hashes+md5, varias técnicas de checksum al mismo tiempo.

Desconectado david_tec

  • PIC10
  • *
  • Mensajes: 10
Re: EPROM AMD 2708 + checksum
« Respuesta #4 en: 26 de Mayo de 2010, 21:14:15 »
ok gracias,

Ye leí el post, y ciertamente el asunto no está tan sencillo, máxime sino se sabe a ciencia cierta cual algoritmo se utilizó, sobre todo por la fecha en que se fabricó el sistema.

Pero bueno, igual gracias. Voy a intentar realizar algún cálculo de CRC para al menos descartar poco a poco.

Saludos,

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: EPROM AMD 2708 + checksum
« Respuesta #5 en: 26 de Mayo de 2010, 22:48:48 »
Hola, mas que saber que algoritmo se uso como checksum ( CRC8-16-32, LRC, simple XOR, etc, etc ) tendrias que saber cada cuantos bytes se hace, porque hablaste de 11 mediciones del tipo float que normalmente ocupan 4 bytes cada una, en total dan 44 bytes. Por los dumps que mostras que hay grabados 80 bytes, asi que es medio complicado estimar.

Saludos !

Desconectado david_tec

  • PIC10
  • *
  • Mensajes: 10
Re: EPROM AMD 2708 + checksum
« Respuesta #6 en: 27 de Mayo de 2010, 11:31:18 »
Disculpen, pero cometí un error de omisión, no son 11 valores como le mencioné al inicio.

Son 17 valores, los 6 valores agregados son de 6 resistencias. Esto nos lleva a obtener un total de 64 bytes de datos. En total según los dumps hay almacenados 85 bytes.  Pero se puede observar que en las dos memorias la primer fila se repite (además esto está comprobado con otros datos de otras memorias), lo que podría ser alguna identificación del  sistema en donde va la memoria.

Por esta razón es que considero que el checksum corresponde al último byte en cada memoria.

Saludos



 

anything