Diferencia entre revisiones de «Pyburn»

De WikiRobotics
Saltar a: navegación, buscar
(Ubuntu 9.04)
 
(No se muestran 50 ediciones intermedias de 2 usuarios)
Línea 2: Línea 2:
  
 
== Introducción ==
 
== Introducción ==
Software Multiplataforma para la grabación de firmware en microcontroladores PIC usando la tarjeta [[Skypic]] como circuito programador.
+
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 [[PIC_Bootloader|Bootloader]]. Para ello necesitamos disponer de un programador. Si tenemos una Skypic que ya tiene grabado el bootloader, la podemos utilizar como una tarjeta programadora para grabar el bootloader o cualquier fichero .hex en otras Skypics.
 +
 
 +
=== Características ===
 +
 
 +
* Grabación de cualquier fichero .hex a bajo nivel
 +
* Grabación del [[PIC_Bootloader|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 ==
 
== Pantallazos ==
Línea 11: Línea 22:
  
 
== Ejemplo de uso ==
 
== Ejemplo de uso ==
 +
[[Imagen:Pyburn-skypic.png|thumb|300px|Grabación de una Skypic usando otra Skypic (pinchar para ampliar)]]
 +
 +
Necesitamos dos tarjetas [[Skypic]], que denominaremos grabadora y Destino.
 +
* '''Skypic Grabadora''': Tiene que ser una Skypic con un cristal de 20Mhz y con el [[PIC_Bootloader|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, 20Mhz, etc). El '''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. Además la tarjeta destino tendrá que tener el jumper '''JP4''' en las posiciones 1,2 para '''desactivar el reset automático'''.
 +
 +
=== 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 [[PIC_Bootloader|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
 +
 +
{|
 +
| [[Imagen:Pyburn-1.jpg|thumb|280px|Pyburn nada más arrancarlo. Lo primero es seleccionar el puerto serie donde está conectada la Skypic grabadora]]
 +
|| [[Imagen:Pyburn-2.jpg|thumb|280px|Puerto serie Abierto, pero en la grabadora no se ha detectado el Firmware necesario]]
 +
|-------------------------
 +
|  [[Imagen:Pyburn-3.jpg|thumb|280px|Descargando el Firmware necesario para realizar la grabación]]
 +
|| [[Imagen:Pyburn-4.jpg|thumb|280px|La tarjeta Skypic grabadora ha sido detectada. Se puede comenzar la grabación]]
 +
|}
 +
 +
* 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.
 +
 +
{|
 +
|  [[Imagen:Pyburn-5.jpg|thumb|280px|Grabando el Bootloader en la Skypic destino]]
 +
||  [[Imagen:Pyburn-6.jpg|thumb|280px|Grabación del Bootloader finalizada. Se graba la palabra de configuración por defecto]]
 +
|}
  
 
== Descargas ==
 
== Descargas ==
  
== Acceso al repositorio ==
+
=== Versión: 1.0 ===
 +
{|{{tablabonita}}
 +
!Fichero!!Descripción
 +
|--------------------
 +
| [http://www.iearobotics.com/wiki/images/0/03/Pyburn-wx-1.0.tar.gz Pyburn-wx-1.0.tar.gz]
 +
|| Fuentes
 +
|--------------------
 +
| [http://www.iearobotics.com/downloads/packages/pyburn-wx_1.0-1_i386-ubuntu-9-04.deb pyburn-wx_1.0-1_i386-ubuntu-9-04.deb]
 +
|| Paquete para '''Ubuntu 9.04'''
 +
|--------------------
 +
| [http://www.iearobotics.com/wiki/images/1/16/Pyburn-wx_1.0-1_i386.deb Pyburn-wx_1.0-1_i386.deb]
 +
|| Paquete para '''Debian/Etch'''
 +
|---------------------
 +
| [http://www.iearobotics.com/downloads/pyburn-wx-1.0.win32.exe 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 vienen por defecto:
 +
 
 +
* ''Lenguaje Python''. [http://www.iearobotics.com/downloads/python-2.5.msi python-2.5.msi]
 +
* ''Extensiones para Windows''.[http://www.iearobotics.com/downloads/pywin32-210.win32-py2.5.exe pywin32-210.win32-py2.5.exe]
 +
* ''Librería de acceso al puerto serie'': [http://www.iearobotics.com/downloads/pyserial-2.2.win32.exe pyserial-2.2.win32.exe]
 +
* ''Librerías gráficas wxPython'': [http://www.iearobotics.com/downloads/wxPython2.8-win32-unicode-2.8.6.0-py25.exe wxPython2.8-win32-unicode-2.8.6.0-py25.exe]
 +
* ''Librería Libiris'': [http://www.iearobotics.com/downloads/libIris-1.2.win32.exe libIris-1.2.win32.exe]
 +
* ''Librería LibStargate'': [http://www.iearobotics.com/downloads/libstargate-1.2.win32.exe libstargate-1.2.win32.exe]
 +
 
 +
* Por último el ''Pyburn-wx'': [http://www.iearobotics.com/downloads/pyburn-wx-1.0.win32.exe 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'''.<br><br>
 +
 
 +
=== Ubuntu 9.04 ===
 +
* Instalar la librería '''libiris''': [http://www.iearobotics.com/downloads/packages/python-libiris_1.2-5_i386-ubuntu-9-04.deb python-libiris_1.2-5_i386-ubuntu-9-04.deb]
 +
* Instalar la librería '''LibStargate''': [http://www.iearobotics.com/downloads/packages/python-libstargate_1.2-1_i386-ubuntu-9-04.deb python-libstargate_1.2-1_i386-ubuntu-9-04.deb]
 +
* Instalar el Pyburn: [http://www.iearobotics.com/downloads/packages/pyburn-wx_1.0-1_i386-ubuntu-9-04.deb pyburn-wx_1.0-1_i386-ubuntu-9-04.deb]
 +
 
 +
=== 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''': [http://www.iearobotics.com/wiki/images/e/ea/Python-libiris_1.2-5_i386.deb Python-libiris_1.2-5_i386.deb]
 +
* Instalar la librería '''LibStargate''': [http://www.iearobotics.com/wiki/images/d/df/Python-libstargate_1.2-1_i386.deb Python-libstargate_1.2-1_i386.deb]
 +
* Instalar el Pyburn: [http://www.iearobotics.com/wiki/images/1/16/Pyburn-wx_1.0-1_i386.deb Pyburn-wx_1.0-1_i386.deb]
 +
 
 +
=== Otras distribuciones de Linux/FreeBSD ===
 +
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: [http://pyserial.wiki.sourceforge.net/pySerial Paquete pySerial]
 +
* [[LibIris| Librería LibIris]], para la descarga de programas en la [[Skypic]]
 +
* [[LibStargate| 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
 +
 
 +
Para ejecutarlo:
 +
 
 +
pyburn-wx
 +
 
 +
== Desarrolladores ==
 +
 
 +
=== Entorno ===
 +
* Lenguaje: Python 2.4 o superior
 +
* Máquina donde se ha desarrollado: Portátil Dell con GNU/Linux Debian/Etch (4.0)
 +
* Interfaz gráfica: [http://wxpython.org/ wxPython].
 +
* Construcción de la interfaz: [http://wxglade.sourceforge.net/ wxglade] 0.4.1 (Paquete debian: python-wxglade)
 +
* IDE: Anjuta
 +
 
 +
=== Acceso al repositorio ===
 
* SVN del proyecto [http://svn.iearobotics.com/pyburn/ http://svn.iearobotics.com/pyburn]
 
* SVN del proyecto [http://svn.iearobotics.com/pyburn/ http://svn.iearobotics.com/pyburn]
 
La versión actual se puede obtener así:
 
La versión actual se puede obtener así:
  
  svn co http://svn.iearobotics.com/pyburn/pyburn-wx/trunk/
+
  svn co http://svn.iearobotics.com/pyburn/pyburn-wx/pyburn-wx-1.0/
  
== Desarrolladores ==
 
 
=== Empaquetar para Debian/Ubuntu ===
 
=== Empaquetar para Debian/Ubuntu ===
 
Ejecutar los siguientes comandos:
 
Ejecutar los siguientes comandos:
  
  svn export http://svn.iearobotics.com/pyburn/pyburn-wx/trunk/ pyburn-wx-1.0
+
  svn export http://svn.iearobotics.com/pyburn/pyburn-wx/pyburn-wx-1.0/ pyburn-wx-1.0
 
  cd pyburn-wx-1.0/
 
  cd pyburn-wx-1.0/
 +
chmod a+x debian/rules
 
  dpkg-buildpackage -rfakeroot
 
  dpkg-buildpackage -rfakeroot
  
Línea 33: Línea 159:
 
Bajar la versión del SVN:
 
Bajar la versión del SVN:
  
  svn co http://svn.iearobotics.com/pyburn/pyburn-wx/trunk/
+
  svn co http://svn.iearobotics.com/pyburn/pyburn-wx/pyburn-wx-1.0/
  cd trunk
+
  cd pyburn-wx-1.0
  
 
Crear el ejecutable:
 
Crear el ejecutable:
Línea 44: Línea 170:
 
Bajar la versión desde el SVN:
 
Bajar la versión desde el SVN:
  
  svn co http://svn.iearobotics.com/pyburn/pyburn-wx/trunk/
+
  svn co http://svn.iearobotics.com/pyburn/pyburn-wx/pyburn-wx-1.0/
  cd trunk
+
  cd pyburn-wx-1.0
  
 
Crear el fichero con las fuentes:
 
Crear el fichero con las fuentes:
Línea 52: Línea 178:
  
 
Los ficheros fuente creados son '''dist/pyburn-wx-1.0.tar.gz''' y '''dist/pyburn-wx-1.0.zip'''
 
Los ficheros fuente creados son '''dist/pyburn-wx-1.0.tar.gz''' y '''dist/pyburn-wx-1.0.zip'''
 +
 +
== Autor ==
 +
*  [[Juan Gonzalez:Main | Juan González]]
 +
 +
== Agradecimientos ==
 +
* A [[Andrés Prieto-Moreno]] por las pruebas realizadas en Windows
  
 
== Enlaces ==
 
== Enlaces ==
 
* [http://docs.python.org/dist/dist.html Manual de las Distutils], herramientas para la instalacion multiplataforma
 
* [http://docs.python.org/dist/dist.html Manual de las Distutils], herramientas para la instalacion multiplataforma
 
* [http://wiki.python.org/moin/DistUtilsTutorial Tutorial de las DistUtils]
 
* [http://wiki.python.org/moin/DistUtilsTutorial Tutorial de las DistUtils]
 +
* [[Skypic_down]]. Misma funcionalidad que Pyburn, pero para consola (Linux). Programado en C
  
 
== Noticias ==
 
== Noticias ==
 +
* '''16/Sep/2009''': Añadido paquete para '''Ubuntu 9.04'''
 +
* '''01/Oct/2008''': Corregidas algunas erratas de la página
 +
* '''30/Sep/2008''': '''Version 1.0 Liberada!!'''
 +
** Añadidas las instrucciones de instalación en Debian/Ubuntu/Windows XP
 +
** Publicados ficheros con las fuentes, paquetes .deb para Debian/Ubuntu y autoinstalable para Windows XP
 +
* '''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
 
* '''28/Ago/2008''': Primera versión de esta página
  

Revisión actual del 12:57 16 sep 2009

Logo del pydownloader‎

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 programador. Si tenemos una Skypic que ya tiene grabado el bootloader, la podemos utilizar como una tarjeta programadora para grabar el bootloader o cualquier fichero .hex en otras Skypics.

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

Pantallazo de pyburn-1.0 en Gnu/Linux
Pantallazo de pyburn-1.0 en Windows XP

Ejemplo de uso

Grabación de una Skypic usando otra Skypic (pinchar para ampliar)

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, 20Mhz, etc). El 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. Además la tarjeta destino tendrá que tener el jumper JP4 en las posiciones 1,2 para desactivar el reset automático.

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
Pyburn nada más arrancarlo. Lo primero es seleccionar el puerto serie donde está conectada la Skypic grabadora
Puerto serie Abierto, pero en la grabadora no se ha detectado el Firmware necesario
Descargando el Firmware necesario para realizar la grabación
La tarjeta Skypic grabadora ha sido detectada. Se puede comenzar la grabación
  • 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.
Grabando el Bootloader en la Skypic destino
Grabación del Bootloader finalizada. Se graba la palabra de configuración por defecto

Descargas

Versión: 1.0

Fichero Descripción
Pyburn-wx-1.0.tar.gz Fuentes
pyburn-wx_1.0-1_i386-ubuntu-9-04.deb Paquete para Ubuntu 9.04
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 vienen por defecto:

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.

Ubuntu 9.04

Debian-Etch (4.0)/ Ubuntu Feisty (7.04)

Otras distribuciones de Linux/FreeBSD

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:

Finalmente, para instalar el Pyburn, descargar el paquete fuente, descomprimirlo, entrar en el directorio pyburn-wx-1.0 y ejecutar:

python setup.py install

Para ejecutarlo:

pyburn-wx

Desarrolladores

Entorno

  • Lenguaje: Python 2.4 o superior
  • Máquina donde se ha desarrollado: Portátil Dell con GNU/Linux Debian/Etch (4.0)
  • Interfaz gráfica: wxPython.
  • Construcción de la interfaz: wxglade 0.4.1 (Paquete debian: python-wxglade)
  • IDE: Anjuta

Acceso al repositorio

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

Autor

Agradecimientos

Enlaces

Noticias

  • 16/Sep/2009: Añadido paquete para Ubuntu 9.04
  • 01/Oct/2008: Corregidas algunas erratas de la página
  • 30/Sep/2008: Version 1.0 Liberada!!
    • Añadidas las instrucciones de instalación en Debian/Ubuntu/Windows XP
    • Publicados ficheros con las fuentes, paquetes .deb para Debian/Ubuntu y autoinstalable para Windows XP
  • 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