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
Se invoca de la siguiente forma:
python hex2python <fichero.hex> [Formato] [nombre lista]
donde los parámetros son:
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],]