Diferencia entre revisiones de «Pyburn»
(→Grabando el Bootloader) |
(→Ubuntu 9.04) |
||
(No se muestran 41 ediciones intermedias de 2 usuarios) | |||
Línea 4: | Línea 4: | ||
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'''. | 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 | + | 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 === | === Características === | ||
Línea 27: | Línea 27: | ||
* '''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 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, | + | * '''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 === | === Conexionado === | ||
Línea 43: | Línea 43: | ||
Ahora '''ejecutamos el pyburn y seguimos los siguientes pasos''': | 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 == | ||
+ | |||
+ | === 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 == | == Licencia == | ||
+ | Pyburn es Software libre distribuido bajo la licencia GPL v3.0 | ||
+ | |||
+ | == Instalacion == | ||
− | == Acceso al repositorio == | + | === 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/ | + | svn co http://svn.iearobotics.com/pyburn/pyburn-wx/pyburn-wx-1.0/ |
− | |||
=== 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/ | + | 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 73: | Línea 159: | ||
Bajar la versión del SVN: | Bajar la versión del SVN: | ||
− | svn co http://svn.iearobotics.com/pyburn/pyburn-wx/ | + | svn co http://svn.iearobotics.com/pyburn/pyburn-wx/pyburn-wx-1.0/ |
− | cd | + | cd pyburn-wx-1.0 |
Crear el ejecutable: | Crear el ejecutable: | ||
Línea 84: | 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/ | + | svn co http://svn.iearobotics.com/pyburn/pyburn-wx/pyburn-wx-1.0/ |
− | cd | + | cd pyburn-wx-1.0 |
Crear el fichero con las fuentes: | Crear el fichero con las fuentes: | ||
Línea 92: | 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 == | ||
Línea 99: | Línea 191: | ||
== 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''': | * '''28/Sep/2008''': | ||
** Añadidos pantallazos en Linux y Windows | ** Añadidos pantallazos en Linux y Windows |
Revisión actual del 11:57 16 sep 2009
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 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
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, 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
- 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-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:
- 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.
Ubuntu 9.04
- Instalar la librería libiris: python-libiris_1.2-5_i386-ubuntu-9-04.deb
- Instalar la librería LibStargate: python-libstargate_1.2-1_i386-ubuntu-9-04.deb
- Instalar el Pyburn: 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: 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/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: 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
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
- 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
Autor
Agradecimientos
- A Andrés Prieto-Moreno por las pruebas realizadas en Windows
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
- 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