Autor Tema: Como se come el hex  (Leído 3405 veces)

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

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Como se come el hex
« en: 08 de Septiembre de 2006, 21:22:12 »
En estos momento estoy intentando programar un PIC con otro, es que estoy desarrollando un programador autónomo, es decir, quiero descargar un archivo .hex en una memoria eeprom a través de un PC,  luego poder programarle esa información a unos PICS.

Solo se tendría que conectar al PC 1 vez, y luego programar los PICS que se vengan, hasta que tenga que cambiar el hex.

Pero tengo las siguientes preguntas:

Como interpreto el .hex generado en la compilación, que corresponde al tipo de oscilador, etc.

Como tengo que desarrollar el programa en visual Basic, no se como interpretar ese archivo .hex.

De antemano agradezco su ayuda. :-)
« Última modificación: 09 de Septiembre de 2006, 10:42:33 por PICmouse »

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Como se come el hex
« Respuesta #1 en: 09 de Septiembre de 2006, 17:38:36 »
En estos momento estoy intentando programar un PIC con otro, es que estoy desarrollando un programador autónomo, es decir, quiero descargar un archivo .hex en una memoria eeprom a través de un PC,  luego poder programarle esa información a unos PICS.

Solo se tendría que conectar al PC 1 vez, y luego programar los PICS que se vengan, hasta que tenga que cambiar el hex.

Pero tengo las siguientes preguntas:

Como interpreto el .hex generado en la compilación, que corresponde al tipo de oscilador, etc.

Como tengo que desarrollar el programa en visual Basic, no se como interpretar ese archivo .hex.

De antemano agradezco su ayuda. :-)


PICmouse, fíjate en el manual del MPASM, MPLINK y MPLIB.

Hay una pequeña sección dedicado al formato .HEX, en general seguramente trabajarás con el formato INTEL32.

MPASM/MPLINK User's Guide

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado djpalas

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 595
    • Microtronic
Re: Como se come el hex
« Respuesta #2 en: 10 de Septiembre de 2006, 11:12:57 »
El formato HEX de intel se trata de un archivo de texto ASCII que representa
la información de programación de algunas memorias, microcontroladores
o emuladores de hardware.

Este formato contiene seis campos que especifican la información en
formato hexadecimal

estos son:

RECORD MARK
1 caracter (1 byte)
Representa el inicio de linea con el numero 0×3A que en codigo ASCII
este se traduce como ’:’

RECLEN
2 caracteres (2 byte)
Numero de bytes de la linea INFO o DATA, el valor máximo de este
es 0xFF o 255 en decimal

LOAD OFFSET
4 caracteres (4 byte)
dirección en donde seran grabados el campo DATA

RECTYP
2 caracteres (2 byte)
tipo de linea

00 Registro de datos
01 Fin del Archivo de registro
02 Dirección de un segmento extendido del registro
03 Dirección de inicio de un segmento del registro
04 Extended Linear Address Record
05 Start Linear Address Record

DATA
0 -2n caracteres
son los datos a grabar en el componente en la direccion dada por LOAD OFFSET

CHKSUM
2 caracteres
cheksum o codigo verificador
representa dos complementos de 8 bits, el resultado de la conversion se toma
de los campos RECLEN y DATA

----------------------
Espero que os sirva de ayuda, puesto que también quiero empezar a hacer mi propio programador.

Saludos desde Cádiz, España
Web personal: http://www.microtronic.es

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Como se come el hex
« Respuesta #3 en: 10 de Septiembre de 2006, 11:43:09 »
Preguntonta:
¿Es necesario saber como es internamente el HEX para copiarlo de un PIC a una memoria o viceversa? ¿No alcanzaria con copiar tal cual byte a byte y listo? :shock:

Saludos! :mrgreen:
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado elmasvital

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 1713
Re: Como se come el hex
« Respuesta #4 en: 10 de Septiembre de 2006, 11:56:26 »
sin verlo me supongo que no... date cuenta de que eso significaria que un hex es tan solo un volcado de memoria hacia el pic y eso no es así. Date cuenta de que ahí va la configuración de los fuses del pic, los datos de la eeprom y los datos de programa. Es bastante mas versatil que lo que propones.

1 saludo

Desconectado djpalas

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 595
    • Microtronic
Re: Como se come el hex
« Respuesta #5 en: 10 de Septiembre de 2006, 12:01:44 »
Creo que no, porque hay que saber las direcciones de memoria donde escribirlas, la cantidad de datos a escribir, etc etc. Soy un poco novato en esto, porque lo acabo de echarle un vistazo. Pero no crea que sea tan fácil como mandar solo los datos.

Una buena ayuda seria los grandes maestros de programadores dijeran algo para comprender mejor su uso ;)

Saludos desde Cádiz, España
Web personal: http://www.microtronic.es

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Como se come el hex
« Respuesta #6 en: 10 de Septiembre de 2006, 12:47:15 »
Si, viendolo detenidamente tiene sentido...por un lado van todo el tema de los fuses, etc, y por otro el programa propiamente dicho...
No, si no hay nada facil en este mundo.... :lol:

Era nomas una preguntonta....ja ja ja!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Como se come el hex
« Respuesta #7 en: 11 de Septiembre de 2006, 11:00:42 »
Gracias, por su colaboración, es de gran ayuda el archivo PASM/MPLINK User's Guide maunix te agradezco mucho, y con los parámetros  iniciales dados por djpalas se puede comenzar con el proyecto.

Que me recomiendan ustedes Visual Basic o VisualC, siempre trabaje con VBasic, pero algunas personas me dicen que con VC obtengo mayor control de los puertos del PC.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Como se come el hex
« Respuesta #8 en: 11 de Septiembre de 2006, 11:15:37 »
Que me recomiendan ustedes Visual Basic o VisualC, siempre trabaje con VBasic, pero algunas personas me dicen que con VC obtengo mayor control de los puertos del PC.

Mmmm,... ¿Delphi?
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Como se come el hex
« Respuesta #9 en: 11 de Septiembre de 2006, 11:18:58 »
Preguntonta:
¿Es necesario saber como es internamente el HEX para copiarlo de un PIC a una memoria o viceversa? ¿No alcanzaria con copiar tal cual byte a byte y listo? :shock:

Saludos! :mrgreen:

No, no es posible.

El formato HEX incluye dentro del formato datos como el address al cual hacen referencia los datos, la cantidad de datos, el tipo de dato y un checksum.

Todo ello hace imposible una conexión así directa entre el HEX y el grabado en el PIC.

Se le puede pasar directamente el HEX línea por línea a un bootloader por ejemplo y que el mismo haga la tarea de desmenuzar el archivo aunque esto te origina un código mayor en el PIC.

También se puede desmenuzar antes el HEX para pasarlo "más simplificado" al pic.

 :) :)

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)