Diferencia entre revisiones de «LibIris:hex2python»

De WikiRobotics
Saltar a: navegación, buscar
 
(No se muestran 8 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 +
[[Imagen:Logo-libiris-peq.png|right|Logo de la libIris‎]]
 +
 
== Introducción ==
 
== 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 ==
 
== Características ==
Línea 16: Línea 19:
 
=== Parámetros ===
 
=== Parámetros ===
 
Se invoca de la siguiente forma:
 
Se invoca de la siguiente forma:
  por hacer...
+
  ''python hex2python <fichero.hex> [Formato] [nombre lista]''
  
 
donde los parámetros son:
 
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 ===
 
=== 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 <br>
 +
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 <br>
 +
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 <br>
 +
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 ==  
 
== Descargas ==  
Línea 29: Línea 62:
  
 
== Cambios ==
 
== Cambios ==
* 09/Sep/2007: Versión inicial de esta página
+
* '''09/Sep/2007''': Versión inicial de esta página
  
 
----
 
----

Revisión actual del 09:16 9 sep 2007

Logo de la libIris‎

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