LibIris:hex2python
Contenido
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