Pyburn
Contenido
Introducción
Software Multiplataforma para la grabación de firmware en microcontroladores PIC usando la tarjeta Skypic como circuito programador. Pyburn permite grabar firmware en una Skypic utilizando como grabadora otra tarjeta Skypic.
Normalmente, para la descarga de programas en la Skypic se utiliza la aplicación Pydownloader. Sin embargo, es necesario previamente tener grabado el Bootloader. Para ello necesitamos disponer de un grabador. Si tenemos una Skypic que ya tiene grabado el bootloader, la podemos utilizar como una tarjeta grabadora para grabar el bootloader en otras Skypics o cualquier otro fichero .hex.
Características
- Grabación de cualquier fichero .hex a bajo nivel
- Grabación del Bootloader con sólo apretar un botón
- Grabación de dos programas de test con sólo apretar un botón, que hacen parpadear el led de la Skypic para realizar pruebas.
- Lectura/Grabación de la palabra de configuración
- Multiplataforma: Linux/Windows
- Lenguaje: Python
Pantallazos
Ejemplo de uso
Necesitamos dos tarjetas Skypic, que denominaremos grabadora y Destino.
- Skypic Grabadora: Tiene que ser una Skypic con un cristal de 20Mhz y con el Bootloader. Es la que se conecta al PC por el puerto serie y a la que se le introduce la alimentación. La configuración de jumpers es la misma que se emplea para cualquier Skypic, no hay que modificar nada.
- Skypic Destino: Es la placa que se va a grabar. El Cristal puede ser cualquiera (4Mhz, 40Mhz, etc). El switch JP3 tiene que estar en la posición indicada en la figura (la contraria en la que está la Skypic grabadora). Si en vez de un Switch rojo la placa tiene un jumper, el capuchón debe situarse donde pone PRG.
Conexionado
Para la conexión se utiliza un cable de bus de 10 hilos. Por un lado se conecta al puerto B de la Skypic grabadora y por el otro al puerto PROG de la Skypic destino.
Grabando el Bootloader
Como ejemplo grabaremos el Bootloader en la Skypic destino.
Primero realizamos todas las conexiones necesarias:
- Conectar la Sypic grabadora al PC y alimentarla
- Conectar la Skypic destino a la grabadora mediante el cable de bus
- Poner el jumper JP3 de la Skypic destino en la posición de grabación
Ahora ejecutamos el pyburn y seguimos los siguientes pasos:
- Seleccionar el puerto serie donde está conectada la Skypic grabadora y pinchar en el botón "Abrir"
- Si es la primera vez que ejecutamos el pyburn con esa Skypic grabadora, el firmware para realizar la grabación seguramente no habrá sido descargado por lo que no se detectará la conexión. Si aparece el mensaje "SIN CONEXION" pinchar en el botón "Descargar Firmware".
- Nos aparecerá el mensaje en la parte inferior: "Pulse Reset en la Skypic". Lo pulsamos.
- La descarga del firmware comienza
- Si el firmware ya estaba descargado en la Skypic Grabadora aparecerá el mensaje "CONECTADA"
- Pulsamos el botón "Bootloader". Comienza la grabación. La barra de progreso se va actualizando. Tarda unos 14 segundos en completarse la grabación.
Descargas
Versión: 1.0
Fichero | Descripción |
---|---|
Pyburn-wx-1.0.tar.gz | Fuentes |
Pyburn-wx_1.0-1_i386.deb | Paquete para Debian/Etch |
pyburn-wx-1.0.win32.exe | Autoinstalable para Windows XP |
Licencia
Pyburn es Software libre distribuido bajo la licencia GPL v3.0
Instalacion
Instalacion en Windows XP
Hay que descargar e instalar los siguientes paquetes. Utilizar las opciones que viene por defecto:
- Lenguaje Python. python-2.5.msi
- Extensiones para Windows.pywin32-210.win32-py2.5.exe
- Librería de acceso al puerto serie: pyserial-2.2.win32.exe
- Librerías gráficas wxPython: wxPython2.8-win32-unicode-2.8.6.0-py25.exe
- Librería Libiris: libIris-1.2.win32.exe
- Librería LibStargate: libstargate-1.2.win32.exe
- Por último el Pyburn-wx: pyburn-wx-1.0.win32.exe
Si se han utilizado las opciones que vienen por defecto en los instaladores, el pyburn se encuentra en el directorio: C:\python25\Scripts. El ejecutable es pyburn-wx.
Debian-Etch (4.0)/ Ubuntu Feisty (7.04)
- Instalar los paquetes: (disponibles en los repositorios oficiales)
- python-serial: Librería de acceso al puerto serie
- python-wxgtk2.6: Librerías gráficas wxPython
- Instalar la librería libiris: Python-libiris_1.2-5_i386.deb
- Instalar la librería LibStargate: Python-libstargate_1.2-1_i386.deb
- Instalar el Pyburn: Pyburn-wx_1.0-1_i386.deb
Otras distribuciones de Linux
El Pyburn está programa en Python por lo que es totalmente portable a otras distribuciones de Linux/FreeBSD. Para que funcione es necesario tener instalado:
- Python 2.4 o superior
- Librería de acceso al puerto serie en Python: Paquete pySerial
- Librería LibIris, para la descarga de programas en la Skypic
- Librería LibStargate, para la comunicación con los servidores grabados en la Skypic
Finalmente, para instalar el Pyburn, descargar el paquete fuente, descomprimirlo, entrar en el directorio pyburn-wx-1.0 y ejecutar:
python setup.py install
Desarrolladores
Acceso al repositorio
- SVN del proyecto http://svn.iearobotics.com/pyburn
La versión actual se puede obtener así:
svn co http://svn.iearobotics.com/pyburn/pyburn-wx/pyburn-wx-1.0/
Empaquetar para Debian/Ubuntu
Ejecutar los siguientes comandos:
svn export http://svn.iearobotics.com/pyburn/pyburn-wx/pyburn-wx-1.0/ pyburn-wx-1.0 cd pyburn-wx-1.0/ chmod a+x debian/rules dpkg-buildpackage -rfakeroot
Si no ocurren errores, se habrá creado el paquete .deb en el directorio padre
Crear ejecutable para windows
Bajar la versión del SVN:
svn co http://svn.iearobotics.com/pyburn/pyburn-wx/pyburn-wx-1.0/ cd pyburn-wx-1.0
Crear el ejecutable:
python setup.py bdist --formats=wininst
Crear paquete fuente desde el SVN
Se quieren crear los ficheros .tar.gz y .zip con las fuentes del proyecto. Los pasos a seguir son: Bajar la versión desde el SVN:
svn co http://svn.iearobotics.com/pyburn/pyburn-wx/pyburn-wx-1.0/ cd pyburn-wx-1.0
Crear el fichero con las fuentes:
python setup.py sdist --formats=gztar,zip
Los ficheros fuente creados son dist/pyburn-wx-1.0.tar.gz y dist/pyburn-wx-1.0.zip
Enlaces
- Manual de las Distutils, herramientas para la instalacion multiplataforma
- Tutorial de las DistUtils
- Skypic_down. Misma funcionalidad que Pyburn, pero para consola (Linux). Programado en C
Noticias
- 29/Sep/2008: Añadido el ejemplo de uso y la introducción
- 28/Sep/2008:
- Añadidos pantallazos en Linux y Windows
- Documentación para desarrolladores
- 28/Ago/2008: Primera versión de esta página