FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Delphi y intelhex
"Tolomeo se mudo al Polo Norte"
Última edición por JoseFco fecha: 24-12-2008 a las 03:10:27. |
#2
|
||||
|
||||
Imagino que para mostrar sólo los datos válidos, tenes que jugar con el retorno de la función ReadLine, es decir:
__________________
|
#3
|
|||
|
|||
"Tolomeo se mudo al Polo Norte"
Última edición por JoseFco fecha: 24-12-2008 a las 03:10:43. |
#4
|
||||
|
||||
La función de ReadLine, llena un buffer línea a línea del contenido del HEX, y va traduciendo la lectura según esta conformada la linea. La explicación es sencilla, y se basa en el formato Hex de Intel
Código:
Intel Hex is a common format to store binaries to be loaded into EPROM for CPU's. It is a readable textformat that is line oriented. A line is built as ':', rec len, address, rec type, [data], checksum whereas : ':' is start of record = 0x3A reclen is the number of databytes as 2 digit hex address is 4 digit hex, where the data starts rec type is '00' for normal data, '01' end of file, '02' extended adress [data] is a data packet encoded as hex checksum is the 2's complement of the sum over the record excl the ':' modulo 256 as hex Código:
:1005AA00000102030405060708090A0B0C0D0E0F88 rec len = 0x10 = 16 address = 0x05AA data = 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F checksum = 0x88 = 256 -sum(0x00+..+0x0F)= 256- 0x78 Código:
There are extended formats, and there is the chance that the EPROM is not located at 0x0000, but at 0xF0000 or similar. Saludos
__________________
|
#5
|
|||
|
|||
"Tolomeo se mudo al Polo Norte"
Última edición por JoseFco fecha: 24-12-2008 a las 03:11:00. |
#6
|
||||
|
||||
Podrias explicarnos a que te refieres con linea valida?, y porque el readln no te sirve, quizas asi muchos podriamos colaborar
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#7
|
|||
|
|||
"Tolomeo se mudo al Polo Norte"
Última edición por JoseFco fecha: 24-12-2008 a las 03:11:15. |
#8
|
||||
|
||||
Cita:
__________________
|
#9
|
|||
|
|||
"Tolomeo se mudo al Polo Norte"
Última edición por JoseFco fecha: 24-12-2008 a las 03:11:30. |
#10
|
|||
|
|||
Quieren leer un intel hex file?
Pues he aca la solucion: No voy a inventar que yo lo hise por que pa que, estoy estudiando esto pero si uds quieren adelanten para que despues me ayuden, vallan a este link:
http://www.sixca.com/delphi/article/readhex.html y en la pagina prinsipal mucho mas: http://www.sixca.com/delphi/index.html ademas e conseguido el codigo de varios grabadores en delphi tal ves lo suba para que lo estudien. Solo me falta el del icprog y el del winpic800 para completar la coleccion. |
#11
|
|||
|
|||
"Tolomeo se mudo al Polo Norte"
Última edición por JoseFco fecha: 24-12-2008 a las 03:11:44. |
#12
|
|||
|
|||
"Tolomeo se mudo al Polo Norte"
Última edición por JoseFco fecha: 24-12-2008 a las 03:12:01. |
#13
|
|||
|
|||
"Tolomeo se mudo al Polo Norte"
Última edición por JoseFco fecha: 24-12-2008 a las 03:12:18. |
#14
|
||||
|
||||
Segun lo poco que entendi tengo unas propuestas, son dos lineas basicamente las puse en rojo para que las identifiques. En la primera devuelvo cero si el resultado es correcto, y en la segunda lo agrego al memo
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela Última edición por eduarcol fecha: 23-03-2008 a las 05:44:35. Razón: mejorar el resultado |
#15
|
|||
|
|||
"Tolomeo se mudo al Polo Norte"
Última edición por JoseFco fecha: 24-12-2008 a las 03:12:37. |
#16
|
|||
|
|||
"Tolomeo se mudo al Polo Norte"
Última edición por JoseFco fecha: 24-12-2008 a las 03:12:58. |
#17
|
||||
|
||||
es que el asunto radica , segun lo que entendi la linea que necesitas esta en HexBuf que es de tipo Byte, el asunto es convertirlo a string por eso utilize la funcion que agregue al principio
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#18
|
||||
|
||||
Si lo que quieres es solamente eliminar lo que no son datos de cada linea, podemos usar una función como esta:
Y si queremos cargar todo en un memo:
Por otro lado lo que podemos querer en realidad es obtener todos los bytes que se van a grabar (incluidos los que no aparecen el archivo que yo supongo como ceros) y además ordenados. Eso ya es un poco, solo un poco, mas complicado ¿es eso lo que quieres? |
#19
|
|||
|
|||
"Tolomeo se mudo al Polo Norte"
Última edición por JoseFco fecha: 24-12-2008 a las 03:13:16. |
#20
|
||||
|
||||
Bueno, siguiendo con mi respuesta anterior:
Solo quedaría añadir algunas cosillas, como la comprobación de la "suma de comprobación". Última edición por seoane fecha: 23-03-2008 a las 18:05:05. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta Delphi 6, Delphi 2005 y Delphi 2006 | Leviatan | Varios | 6 | 18-08-2007 17:02:08 |
|