Programar un “stamp de parallax” en Pbasic con GNU/Linux
August 28th, 2007 by sLoKParallax es una de las grandes empresas de productos en microcontroladores programables, famoso por su sello parallax con un lenguaje tan sencillo que hasta un niño de 6 años podría programar en el fácilmente.
Para programar en otros sistemas operativos se utilizan entornos mas amenos que el de GNU/Linux, pero como no disponemos de ello tendremos que hacerlo de la forma que existe, nos disponemos a instalar lo necesario y a continuación los pasos a seguir para programar nuestro controlador, en nuestro caso un robotillo ;).
Descargar:
Pack: pack_pbasic.rar MD5: 09b058044c97144dd30d47b8fc8aad13
Programa Bstamp y la librería de Parallax (No es libre).
- A continuación descomprimimos el archivo descargado.
$ mkdir /home/slok/Desktop
$ rar x /home/slok/Descargas/pack_pbasic.rar /home/slok/Desktop
$ cd /home/slok/Desktop/pbasic/bstamp
- Estamos en el directorio del programa bstamp y lo instalaremos de esta forma:
# make install
- Ahora la librería la copiaremos a la ruta donde están nuestra librerías (puede que tengamos mas de una, así que la copiaremos a la que este en nuestra variable), nosotros la metimos en /usr/local/lib y no funcionaba (ya que la que esta en la variable es /usr/lib) así que creamos un enlace en /usr/lib, veamos lo mediante comandos:
# cp /home/slok/Desktop/pbasic/tokenizer.so /usr/local/lib/libbstamptokenizer.so
# ln -s /usr/local/lib/libbstamptokenizer.so usr/lib/libbstamptokenizer.so
- Ahora tendremos que crear un enlace en nuestro puerto COMx, para ello tendremos que saber en que puerto esta nuestro “stamp de parallax” en nuestro caso es el COM1 por lo que hará referencia a /dev/ttyS0 y así sucesivamente (COM2/dev/ttyS1) así que creamos el enlace (recordad que es para el COM1) :
# cd /dev/
# ln -s ttyS0 bstamp
- Ya terminamos la instalación ahora como seria la programación mediante estas herramientas.
- Abrimos un editor de texto (vim, nano, gedit, kwrite...) y programamos el programa y lo guardamos como “elprogramaquequieras.bs2”
ahora crearemos el .tok mediante el programa.
$ bstamp_tokenize /home/slok/Desktop/programadeprueba.bs2 /home/slok/Desktop/prueba.tok
- Ahora lo meteremos en nuestro “stamp”, al final del proceso mostrara todos los DEBUG del programa
$ bstamp_run /home/slok/Desktop/prueba.tok
Terminamos el proceso, ahora podríamos hacer todo en una sola linea mediante un pipe
$ bstamp_tokenize /home/slok/Desktop/programadeprueba.bs2 /home/slok/Desktop/prueba.tok | bstamp_run /home/slok/Desktop/prueba.tok

Como podéis ver tendremos que hacerlo con un editor externo y no con un entorno de programación, es menos cómodo pero igual de eficaz.
Posted in How To |
August 4th, 2008 at 9:52 pm
la arquitectura de mi pc AMD, 64x2. soy usuario de Ubuntu 8.0.4 . No se si el programa trabajara en mi maquina, porque cuando instalo me avisa de que es i386. Pregunto; Cuando uno compila un programa, no importa la plataforma y la arquitectura de la PC. El programa se ajusta a la maquina. Soy nuevo en linux y estoy deseoso de emigrar completamente a linux.
August 4th, 2008 at 10:39 pm
Yo lo hice sobre un AMD 64 dual core también y no tuve ningún problema, las compilaciones como tu bien dices se adaptan a la máquina, ese el el punto fuerte con el que cuentan las compilaciones a diferencia de los binarios, pero no vale con hacer make. Para adaptarlo a tu máquina debes usar ciertas FLAGS, por ejemplo para ciertos Intel:
export CHOST="i686-pc-linux-gnu"
export CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
export CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
export PKG_CONFIG=/usr/bin/pkg-config
Esto adecua más las compilaciones a tu procesador. Para ver este tipo de opciones mira atentamente el manual de tu copilador gcc ($ man gcc).
Cuando compilar sources no hay una plataforma especifica,.. No se donde sacas eso de i386. AL especificar arquitectura es cuando se usan binarios, los cuales debes descargarlos para la misma arquitectura que está tu distro, si tienes una Ubuntu i386 los paquetes deben ser i386, pero pueden funcionar con otras,..
Un saludo!