28 de octubre de 2009

Desarrollo aplicaciones PIC en entorno LINUX

Los microcontroladores están en nuestro entorno desde el ordenador pasando por nuestro coche y hasta la propia lavadora.

El tipo de microcontroladores es muy variado y cada uno destinado a un tipo de aplicación, uno que nos permiten realizar de forma fácil, barata y rápida aplicaciones para pequeños montajes son los de la familia PIC.

El motivo de escribir estas notas es que cuando me puse a diseñar mi pequeño robot con este microcontrolador me encontré que tenia que realizarlo en Window que era el Sistema Operativo donde corrían las herramientas, así que pare el diseño del Robot y decidí buscar la forma de realizar los desarrollos en Linux .

Lo primero que necesitaremos para realizar nuestros proyectos con el microcontrolador PIC son las herramientas de compilación, esto es pasar nuestros programas a los códigos que entiende nuestra micro controladora. Debemos saber que la programación en PIC se puede realizar en diferentes lenguajes desde el básico ensamblador a otros lenguajes de más alto nivel como son el C. Los compiladores por lo tanto con los que podremos contar son:

  • Si deseamos realizar nuestros programas en ensamblador lograremos una reducción de tamaño y mayor rapidez, siempre que lo diseñemos bien, por lo que deberemos utilizar gpasm que se encuentra incluido en el conjunto de herramientas de “GPUTILS”.
  • Si lo que deseamos es desarrollar en C lo que nos facilitara el desarrollo, siempre que el tamaño del programa no suponga un problema, en este caso podremos utilizar PIC-GCC que se trata de un backend que permite que el código compilado con el compilador GCC pase a lenguaje de la familia PIC, o también el compilador de C sdcc.
  • Si somos un programador de Basic y deseamos programar microcontroladores podemos utilizar el compilador GCBASIC.
Además del compilador otra herramienta que es muy interesante son los simuladores que nos permiten probar nuestros programas en un entorno controlado, antes de llevarlo a un sistema real, para detectar los posible fallos. Para realizar esto podremos utilizar: Gpsim y KtechLab.

Una vez que ya hemos probado nuestro diseño en el simulador, y todo ha sido correcto, es el momento de programar la microcontroladora y fabricarnos un circuito en una placa BOARD para así poder realizar pruebas en un entorno real, para esto necesitaremos un programa grabador o programador (según lo queramos llamar) de PICs y una placa compatible con el programa. Disponemos de varios programadores ya sea PicProg como PicPrg en entorno ncurse o uno desarrollado en java como JpicProg.

Todas estas labores de desarrollo: edición compilación, depuración y grabación las podremos realizar con IDEs que integran estas herramientas como puede ser PikLab.

Cuando ya hemos probado nuestro diseño tanto en el simulador como en el prototipo llega el momento de construirlo, para esto tenemos herramientas que nos ayudaran al diseño de las placas de circuito impreso en el que pondremos los materiales. Estas herramientas también nos ayudaran a crear la documentación técnica de nuestro diseño y en Linux disponemos de Kicad que nos permite dibujar tanto el circuito eléctrico como la placa de circuito impreso en la que alojaremos los componentes.

Enlaces de las herramientas:
1.GPUTILS gpasm, gplink, and gplib (http://gputils.sourceforge.net/).
2.PIC-GCC (https://forja.rediris.es/projects/cls-pic-16f877)
3.SDCC (http://sdcc.sourceforge.net/)
4.GCBASIC (http://gcbasic.sourceforge.net/index.html)
5.GPsim (http://gpsim.sourceforge.net/gpsim.html)
6.KTechLab (http://sourceforge.net/projects/ktechlab/)
7.PicProg (http://hyvatti.iki.fi/~jaakko/pic/picprog.html)
8.PICprg (http://www.brianlane.com/software/picprg/)
9.JPicProg (http://jpictools.sourceforge.net/)
10.PikLab (http://piklab.sourceforge.net/)
11.Kicad (http://www.lis.inpg.fr/realise_au_lis/kicad/)

11 de agosto de 2009

fortune

Últimamente escribo muy poco, no prometeré que esto va a cambiar pues en este momento no lo se, pero intentare ir poniendo pequeñas cosillas y en este caso es como crear nuestro propio fichero de fortune.

Hace poco cambie a mint (el ubuntu de menta) pues me lo aconsejaron y como el probar no cuesta nada estoy con el, el problema es que continuo con la falta de rendimiento al usar las unidades de CD y DVD pero esto es otro problema que intentare resolver y publicare.

Para generar un fichero de fortune nada más facil que crear un fichero que tenga el formato

FRASE

%


Despues de crear el fichero nada más facil que compilarlo, por decirlo de alguna forma, con el comando strfile y nos creara un fichero .dat. Para que el fortune coja nuestro fichero sin indicarle nada lo pondremos en el directorio que junto al nuestro pondremos en el directorio "/usr/share/games/fortunes" al menos en mi sistema y donde tendremos otros fichero de frases que si queremos eliminar solo bastara con eliminar el .dat.


Si queremos saber que ficheros esta cogiendo nuestro programa fortune nada más sencillo que ejecutar fortune -f.

Bueno hasta la próxima que espero sea pronto, es posible que ponga una cosa fuera del tema de este Blog, muy fuera no pues use herramientas de linux para ello, pero que espero os guste.

22 de febrero de 2009

Libro Cinelerra

Desde hace tiempo estoy escribiendo un libro sobre cinelerra, como ultimamente lo he abandonado un poco he decidido poner parte de lo que llevo escrito y poco a poco ir ampliando en lugar de esperar finalizarlo.

La publicación la he realizado con ISSUU, del que hablaremos otro día, para probar sus ventajas y de aquí a finalizar el libro, empece por el 2.007, también recibir comentarios y así poder adaptarlo a lo que realmente tenga interes.




Espero que os guste.

1 de febrero de 2009

Compilando Cinelerra con GIT

Hace tiempo explicamos como compilar "cinelerra" como se ha cambiado el sistema de gestión de versiones de "subversion" a "GIT" hemos creído que es buen momento de volver a comentar como se realizaria.

Los pasos que describimos a continuación han sido probados en la versión 8.10 de Ubuntu AMD64, la adaptación a otras versiones o distribuciones de Linux será bastante sencillo.

  1. Instalaremos el GIT para poder recoger los fuentes y para eso ejecutaremos "sudo apt-get install git-core" antiguamente se instalaba subversion, los fuentes cambiaron de gestor de versiones y por eso este cambio.
  2. Después descargaremos la ultima versión de “Cinelerra” con el comando “git clone git://git.cinelerra.org/j6t/cinelerra.git my_cinelerra
  3. Vamos al directorio my_cinelerra que es donde se habrán descargado los fuentes.
  4. Descargamos las librerías y programas que necesitaremos y bastara con ejecutar:
  5. sudo apt-get install g++ nasm automake libtool libasound2-dev libasound2 libogg0 libogg-dev libvorbis0a libvorbis-dev libvorbisenc2 libtheora0 libtheora-dev libopenexr-dev libdv4 libdv4-dev libpng12-0 libpng12-dev libjpeg62 libjpeg62-dev libtiff4 libtiff4-dev libfreetype6 libfreetype6-dev uuid-dev libuuid1 mjpegtools libmjpegtools0c2a libmjpegtools-dev libfftw3-3 libfftw3-dev liba52-0.7.4 liba52-0.7.4-dev libsndfile1 libsndfile1-dev libfaac0 libfaac-dev libfaad2-0 libfaad-dev libiec61883-0 libiec61883-dev libavc1394-0 libavc1394-dev libesd0-dev xorg-dev libx264-dev libmp3lame0 libmp3lame-dev libx264-59
  6. Ejecutamos ./autogen para crear los script de compilación.
  7. Ejecutamos ./configure si nos falta alguna librería nos lo comunicara aunque creo que están todas las necesarias.
  8. ./make para su compilación.
  9. Sudo ./make install nos instalara cinelerra en nuestro sistema.
  10. sudo ldconfig Nos permite configurar las librerías generadas.

sudo apt-get install git-co
Si queremos evitar poner el comando “echo “0x7fffffff” >/proc/sys/kernel/shmmax” cada vez que arranquemos el PC, lo podemos dejar fijo en la configuración de la siguiente forma:
sudo vi /etc/sysctl.conf

Escribiremos en el fichero las líneas

#Para el Cinelerra
kernel/shmmax=0x7fffffff

La primera vez para evitar no tener que reiniciar el PC actualizaremos los parámetros con:
sudo sysctl -p