• Domingo 7 de Agosto de 2022, 23:58

Autor Tema:  Interpretacion Archivo .hex  (Leído 3957 veces)

NEGRO27

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Interpretacion Archivo .hex
« en: Jueves 30 de Noviembre de 2006, 16:35 »
0
HOLA AMIGOS.

NECESITO SABER LA MANERA DE INTERPRETAR UN ARCHIVO .HEX PARA UN MICROCONTROLADOR AT89C51 CON EL AFAN DE REALIZAR PRIMERO UN PROGRAMA QUE PUEDA MOSTRAR EN UNA PANTALLA EL VALOR DE LOS REGISTROS Y TODAS LOS SECTORES DE MEMORIA. EL SEGUNDO PASO A TRAVES DEL PUERTO PARALELO PROGRAMAR DICHO MICRO.

AGRADEZCO TODA LA AYUDA QUE PUEDAN BRINDARME

SALUDOS....

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Interpretacion Archivo .hex
« Respuesta #1 en: Viernes 1 de Diciembre de 2006, 12:39 »
0
Para el primer paso no puedo aportar mucho, simplemente que bajes la hoja de datos del micro y veas las direcciones de cada registro, con algun simulador para el chip puedes ver en un visor hexa como cambian los mismos segun el codigo.. medio complicadito si nunca has programado el c51  :ph34r: pero es cuestion tambien de empaparse en el tema hasta familiarizarse.. para la segunda parte puedes ver el siguiente esquema, nunca lo probe pero teoricamente funciona.. http://www.batronix.com/electronic/circuit...2-layouts.shtml .. los programadores faciles de elaborar pero funcionan por el puerto serie son unos que utilizan otro 89C51 para la programacion. Si utilizas la ayuda del foro encontraras circuitos. Saludos
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

Huguen_aus_Tirol

  • Miembro MUY activo
  • ***
  • Mensajes: 318
    • Ver Perfil
    • http://www.erhard-automation.co.cc
Re: Interpretacion Archivo .hex
« Respuesta #2 en: Viernes 1 de Diciembre de 2006, 16:06 »
0
Hola!
A partir del archivo .hex, podrás ver lo que va grabado en la memoria de programa del micro, es decir el programa que has escrito. De ninguna manera podrás saber el valor de algún registro (memoria RAM) por medio del .hex.
Hace muchos años me había hecho un emulador de EEPROM; cargaba desde el LPT una memoria RAM con el programa que quería hacer correr en un 8031, luego con un interruptor dejaba el control de la RAM en manos del micro y emulaba la ROM. El programa lo había escrito en Turbo Pascal (la era del DOS...), y lo que hacía era sacar del .hex los datos y las direcciones e ir escribiendo estas en la RAM, funcionaba...
De esto hace ya mucho tiempo, y ya no recuerdo exactamente... pero recuerdo que había escrito programas muy sencillos, los compilaba, y luego me ponía a analizar el .hex; no me llevó mucho tiempo ni trabajo desmenuzarlos.

Veamos, tengo un .hex abierto con un editor de texto ;)
Cada línea empieza con ":", ya empezamos bien :D  Luego tienes dos digitos (estan en hexadecimal), si te pones a ver representa la cantidad de bytes de datos que hay en esa línea. Ahora vamos al final de la línea, tomamos los dos últimos dígitos, y los tiramos a la basura (son como un CRC, nunca los usé). Como sabemos la cantidad de bytes que hay en esa línea, volvemos desde el final hacia el principio, contando grupos de 2 dígitos (cada dos dígitos representan un byte) hasta completar la cantidad de bytes. Ahora te encuentras con que te sobran algunos dígitos, a ver... seguramente 6! Estos 6 dígitos no es otra cosa que la dirección del primer byte de datos que aparece en esa línea. Ya está, ya tienes todo lo que necesitas!
Para saber que se terminó el archivo .hex, verás que todos en la última línea tienen "0" bytes, y los dos últimos dígitos (el CRC) son "FF"

Si no me crees, imprime un pequeño .hex en papel, y prueba cada línea usando un lápiz y marcando...

Bueno, ahora a disfrutar del fín de semana! :hola: