LibIris:hex2python

De WikiRobotics
Saltar a: navegación, buscar

Introducción

El programa hex2python convertierte un fichero en formato HEX Intel en una lista en python. Esta lista se puede incluir en nuestros programas para descargarse en la Skypic. Así se pueden tener aplicaciones que descarguen firmware en la Skypic sin tener que utilizar ficheros externos .hex.

Todo el firmware que se encuentra en el módulo PIC16_Firmware de la LibIris ha sido generado con esta aplicación

Características

  • Lenguaje de programación: Python
  • Sistema operativo: Multiplataforma (Linux/Windows)
  • Interfaz usuario: Consola
  • Licencia: GPL
  • Autores:

Utilización

Parámetros

Se invoca de la siguiente forma:

python hex2python <fichero.hex> [Formato] [nombre lista]

donde los parámetros son:

  • <fichero.hex>: Nombre del fichero en formato HEX
  • [formato]: Formato para la lista de salida. Puede ser:
  • [nombre lista]: Nombre a asignar a la lista generada
    • f2: Lista de bloques. Los bloques están formados por palabras contiguas
    • f3: Lista de bloques, con tamaño de bloque no mayor de 16 palabras

Ejemplos

Con este ejemplo se genera la lista prog que contiene el código máquina del programa ledp.hex. Por defecto, si no se especifica ningún formato se usa el f2 y se toma como nombre de la lista prog:

$ hex2python ledp.hex 
prog=[[0x0000, 0x0000, 0x118A, 0x120A, 0x2821, 0x0000, 0x30FD, 0x1683, 0x1303, 0x0086, 0x3002, 0x1283, 0x0686, 0x30FF, 0x00FF, 0x30FF, 0x2012, 0x2809, 0x0008, 0x1283, 0x1303, 0x00A3, 0x087F, 0x00A2, 0x0822, 0x0423, 0x1903, 0x2820, 0x30FF, 0x07A2, 0x1C03, 0x03A3, 0x2817, 0x0008, 0x118A, 0x120A, 0x2805],]

En este ejemplo se especifica el formato f3. Este es el que se suele usar para descargar programas a través del bootloader:

$ hex2python ledp.hex f3 
prog=[[0x0000, 0x0000, 0x118A, 0x120A, 0x2821, 0x0000, 0x30FD, 0x1683, 0x1303, 0x0086, 0x3002, 0x1283, 0x0686, 0x30FF, 0x00FF, 0x30FF, 0x2012],[0x0010, 0x2809, 0x0008, 0x1283, 0x1303, 0x00A3, 0x087F, 0x00A2, 0x0822, 0x0423, 0x1903, 0x2820, 0x30FF, 0x07A2, 0x1C03, 0x03A3, 0x2817],[0x0020, 0x0008, 0x118A, 0x120A, 0x2805],]

Y en este último ejemplo se asigna el nombre ledp a la lista:

$ hex2python ledp.hex f3 ledp 
ledp=[[0x0000, 0x0000, 0x118A, 0x120A, 0x2821, 0x0000, 0x30FD, 0x1683, 0x1303, 0x0086, 0x3002, 0x1283, 0x0686, 0x30FF, 0x00FF, 0x30FF, 0x2012],[0x0010, 0x2809, 0x0008, 0x1283, 0x1303, 0x00A3, 0x087F, 0x00A2, 0x0822, 0x0423, 0x1903, 0x2820, 0x30FF, 0x07A2, 0x1C03, 0x03A3, 0x2817],[0x0020, 0x0008, 0x118A, 0x120A, 0x2805],]

Descargas

  • Esta utilidad está incluida en las fuentes de la LibIris
  • Las fuentes se pueden ver vía web accediendo al svn: hex2python.py

Cambios

  • 09/Sep/2007: Versión inicial de esta página