ENCICLOPEDIA DE RADIOELECTRÓNICA E INGENIERÍA ELÉCTRICA Cómo comprobar un archivo HEX. Enciclopedia de radioelectrónica e ingeniería eléctrica. Enciclopedia de radioelectrónica e ingeniería eléctrica. / Microcontroladores Muchos radioaficionados, al intentar replicar tal o cual dispositivo en un microcontrolador basándose en una publicación de revista, a menudo encuentran dificultades inexplicables a primera vista. Parecería que la capacidad de servicio del microcontrolador está fuera de toda duda, el programador está en perfecto estado y el dispositivo está ensamblado exactamente de acuerdo con el diagrama, pero se niega a funcionar como debería. En tal situación, a menudo surgen quejas contra el autor del desarrollo: ¡presentó, dicen, un programa inoperativo! De hecho, en la gran mayoría de los casos todo es diferente. La falla radica en errores cometidos al ingresar manualmente el archivo HEX del programa en la computadora después de haber sido "impreso" en las páginas de una publicación impresa. Los fallos ocurren con mucha menos frecuencia al copiar archivos de disquetes o "descargarlos" de Internet. ¿Cómo comprobar un archivo HEX? La respuesta a esta pregunta está en el artículo publicado. Cualquier error tipográfico en un archivo HEX, incluso el más inofensivo a primera vista, hace que el microcontrolador (MCU) ejecute un comando incorrecto, a menudo distorsionando por completo el algoritmo especificado de su funcionamiento y puede provocar un comportamiento completamente impredecible del dispositivo fabricado. Ni siquiera el especialista más cualificado en esta situación podrá indicar con precisión la ubicación del error basándose en signos externos. Todo lo que queda es comprobar con mucho cuidado y repetidamente el archivo HEX con el original. La peculiaridad de nuestra psique es que, después de haber comprobado algo una vez, estamos inconscientemente convencidos de nuestra propia infalibilidad y, durante las comprobaciones repetidas, a menudo pasamos por alto algo que no notamos la primera vez. Por tanto, conviene contar con un asistente que, incluso sin ahondar en la esencia del trabajo, realizará un “control independiente”. Bajo ninguna circunstancia se deben dejar sin marcar los textos del programa leídos por un escáner y luego reconocidos mediante el programa FineReader y programas similares. La práctica demuestra que los errores en el reconocimiento de caracteres son inevitables incluso con textos impresos de muy alta calidad. Al ingresar archivos HEX manualmente (desde el teclado) o sus versiones electrónicas obtenidas mediante escaneo, sucede con mayor frecuencia lo siguiente:
El más inofensivo de estos defectos es el último. A diferencia de otros, no afecta el rendimiento del programa. Lo mismo puede decirse en la mayoría de los casos sobre la violación del orden de las líneas. Sin embargo, los programadores que controlan estrictamente la exactitud de los datos ingresados aún pueden rechazar un archivo con tales errores. Hay que decir que el software de muchos programadores monitorea la estructura correcta del archivo HEX mientras lo lee del disco. Ciertas posibilidades para esto son inherentes a la estructura misma de dicho archivo, sobre lo cual puede leer, por ejemplo, en el artículo del autor "Desarrollo y depuración de dispositivos en MK" ("Radio", 2001, No. 5, p. 19). El problema es que el programador a menudo informa sólo que se ha detectado un error sin ningún detalle, dejando que el usuario lo descubra por sí mismo. En este caso, el archivo defectuoso a menudo resulta estar total o parcialmente cargado en el programador y, si ejecuta descuidadamente el comando "Programación", los datos erróneos se transferirán a la memoria del MK. Después de esto, la verificación se completará con éxito (verificación del contenido de la memoria del MK y del programador) y el usuario tendrá la impresión de que todo está en orden. En este sentido, el programa PonyProg (versiones 2.05 y anteriores) se comporta de forma muy peligrosa. Además de HEX, hay varios otros formatos de archivos de entrada disponibles y, al cargarlo, intenta seleccionar el que necesita. Al no reconocer el formato de archivo correcto con errores, aún lo ingresa como binario. En la Fig. La Figura 1 muestra la vista de la ventana del programador PonyProg después de dicha entrada. La memoria no contiene códigos de máquina de comandos, sino códigos ASCI de letras y números que componen el archivo de texto HEX. Naturalmente, MK no funcionará según dicho "programa". La vista de la misma ventana después de ingresar un archivo sin errores idéntico al primero se muestra en la Fig. 2. Tenga en cuenta que el programador no dio ningún mensaje de error ni sobre el formato de archivo determinado automáticamente en ambos casos. El programa puede ayudarle a encontrar y corregir errores en el archivo HEX antes de ingresarlo en el programador. Comprobar HEX. Con su ayuda, puedes crear un nuevo archivo HEX escribiendo su contenido en el teclado de la computadora. En este último caso, la verificación se produce simultáneamente con la entrada de datos. La ventana de datos del programa CheckHEX después de ingresar un archivo HEX que contiene varios errores se muestra en la Fig. 3. En su parte superior izquierda se muestran las coordenadas actuales del cursor, mostrando dónde se ingresará el carácter al presionar la tecla. Hay una ventana a la derecha, al hacer clic en ella puede cancelar o volver a habilitar la verificación de errores en cualquier momento. Puede resultar útil bloquear el control durante la entrada manual de datos; de lo contrario, cada línea sin terminar va acompañada de muchos mensajes que sólo distraen la atención. La ventana de mensajes de advertencia y error (Fig. 4) se encuentra debajo de la principal. Los mensajes que comienzan con la palabra "Información" sólo indican el estado especial de determinadas líneas del archivo HEX. En este caso hay dos líneas de este tipo. El primero de ellos es opcional, ya que incluso en su ausencia el cómputo de direcciones comenzará desde cero. Estas líneas (puede haber varias en diferentes lugares del archivo) le permiten direccionar más de 64 KB (32 Kpalabras) de memoria. Es su presencia lo que distingue los archivos HEX del formato INX32 de archivos similares del formato INX8M. La línea 25 marca el final del archivo HEX. Si hay algún dato después (línea 26), no será aceptado por el programador. Esto se puede utilizar, por ejemplo, para colocar un comentario de texto en un archivo HEX. En el ejemplo, la línea 20 del archivo fuente simplemente se movió aquí, dejándola vacía. En principio, la presencia de líneas vacías en un archivo HEX es aceptable, pero algunos programadores aún pueden considerarlas errores. El programa CheckHEX, por si acaso, advierte sobre esto. Tenga en cuenta el mensaje de error de suma de comprobación en la línea 3. Esto podría ser el resultado de una entrada incorrecta de cualquier carácter (excepto los dos puntos) en la cadena, que debe comprobarse con especial cuidado. La suma de comprobación "correcta" que se muestra entre paréntesis es útil si uno o más caracteres de una cadena se han cambiado intencionalmente (por ejemplo, para corregir un error real en el programa). En este caso, el error es resultado de ingresar el número 8 en lugar de la letra B. La naturaleza del error cometido en el quinto carácter de la cuarta línea es clara. Solo notamos que para facilitar la búsqueda visual de errores, la fuente del texto en la ventana principal no contiene caracteres cirílicos, su lugar lo ocupan caracteres que no tienen nada en común con los correctos. Sin embargo, los mensajes de error contienen letras rusas. A la derecha de la ventana de datos hay una ventana que muestra una imagen de la memoria MK llena con códigos del archivo analizado. Un fragmento de esta ventana se muestra en la Fig. 5. El color blanco corresponde a las celdas libres, el azul o el rojo, a las ocupadas. Las inscripciones explicativas en la figura (no están en la ventana real) se refieren a la distribución de memoria típica para los controladores PIC; para otros MK y RPOM puede ser completamente diferente. Al mover el cursor del mouse dentro de la ventana, puede determinar la dirección de cualquiera de las celdas que se muestran allí. En este caso, el cursor (en forma de cruz en la parte superior derecha de la ventana) apunta al byte en la dirección OOSON, de orden inferior en una palabra de doble byte en la dirección 0060H. Por supuesto, un usuario que no ha diseñado el programa que se está cargando y no lo ha analizado cuidadosamente, por regla general, no sabe qué celdas deben estar ocupadas y cuáles no. Sin embargo, tiene sentido prestar atención a las interrupciones en la secuencia continua de celdas ocupadas y asegurarse una vez más de que no aparezcan como resultado de errores, como en el caso que nos ocupa. Una línea roja indica que los códigos ingresados en estas direcciones aparecieron en el archivo más de una vez. En el ejemplo (ver Fig. 3), las líneas séptima y octava son idénticas. Si la línea duplicada es el resultado de un descuido durante la entrada manual de datos, se puede eliminar. Pero más a menudo el culpable es un error cometido en la parte de dirección de la línea (caracteres del cuarto al séptimo). En tal caso, no sólo se distorsionarán los códigos en las direcciones erróneas, sino que el área de memoria a la que pertenecía originalmente la línea dada también permanecerá indefinida. Todo esto hay que comprobarlo una y otra vez. En conclusión, observamos que en la ventana del programa CheckHEX hay tres botones de control: - crear un nuevo archivo HEX; - abrir y comprobar existentes; - guardar el archivo creado o editado. Cuando intentas cargar o crear otro archivo sin guardar primero una versión modificada del anterior, el programa siempre te recuerda que lo hagas. Lo mismo sucede antes de que salga el programa. Autor: A. Dolgiy, Moscú Ver otros artículos sección Microcontroladores. Lee y escribe útil comentarios sobre este artículo. Últimas noticias de ciencia y tecnología, nueva electrónica: Cuero artificial para emulación táctil.
15.04.2024 Arena para gatos Petgugu Global
15.04.2024 El atractivo de los hombres cariñosos.
14.04.2024
Otras noticias interesantes: ▪ LPC3200: una nueva familia de microcontroladores de 32 bits ▪ Teléfono que se desintegra solo ▪ La diabetes conduce cada vez más a la ceguera ▪ Hyperloop analógico probado en China Feed de noticias de ciencia y tecnología, nueva electrónica
Materiales interesantes de la Biblioteca Técnica Libre: ▪ sección del sitio Transporte personal: terrestre, acuático, aéreo. Selección de artículos ▪ artículo Unidad de control de respuesta en frecuencia combinada. el arte del sonido ▪ artículo ¿Qué árbol produce las frutas más grandes del mundo? Respuesta detallada ▪ artículo Lesiones en el hogar, causas de las lesiones. Cuidado de la salud ▪ artículo Formación de xilolita. recetas simples y consejos
Deja tu comentario en este artículo: Todos los idiomas de esta página Hogar | Biblioteca | Artículos | Mapa del sitio | Revisiones del sitio www.diagrama.com.ua |