martes, 21 de septiembre de 2010

MSP-EXP430G2 en Ubuntu

Actualmente, TI no nos ofrece soporte para la herramienta de desarrollo MSP430 Launchpad de manera oficial, pero buscando y leyendo por la red de redes, me he topado con una solución válida.

Pero antes de entrar en materia, tengo que aclarar que lo que en esta entrada se expone, fue con el sistema operativo: Ubuntu Lucid 10.04 y con conexión a Internet, supongo que de manera similar funcionará para otras distribuciones de Linux.

Bien, vamos a instalar los siguientes paquetes:

  • subversion
  • gcc-4.4
  • texinfo
  • patch
  • libncurses5-dev
  • zlibc
  • zlib1g-dev
  • libx11-dev
  • libusb-dev
  • libreadline6-dev
La forma más rápida es abriendo un Terminal y mediante el comando:
sudo apt-get install xxx

Dónde xxx corresponde a el nombre de la librería expuesta anteriormente. Para no tener que instalarlo uno a uno, aquí dejo el comando que debemos copiar y pegar en nuestro Terminal para instalar todos los paquetes seguidos:
sudo apt-get install subversion gcc-4.4 texinfo patch libncurses5-dev zlibc zlib1g-dev libx11-dev libusb-dev libreadline6-dev

Una vez instalados todos los paquetes que nos serán necesarios, vamos a descargar el código fuente desde el repositorio para el compilador MSPGCC4 mediante la siguiente instrucción:
svn checkout https://mspgcc4.svn.sourceforge.net/svnroot/mspgcc4

Esta operación suele tardar un poco, por lo tanto esperamos hasta que el Terminal nos indique que ha terminado con algo como lo que se muestra a continuación:
Revisión obtenida: 143

El siguiente paso es entrar en el directorio del compilador mediante la siguiente instrucción:
cd mspgcc4

Y compilamos:
sudo sh buildgcc.sh

Por el Terminal nos ofrecerán varias opciones, nosotros elegiremos la que esté por defecto, que se nos indica el número de la opción a elegir entre corchetes. Por ejemplo si existen tres opciones, y la primera opción es la de por defecto, se nos mostrará asi: [1].

Pulsaremos la tecla ENTER para seleccionar la opción por defecto pero hay que tener cuidado al final, cuando nos aparezca el siguiente mensaje:
Do you want to start build right now? (y/n) [n]

Como vereís, la opción por defecto es que no empiece a compilar, por lo que en esta opción, deberemos escribir la letra: y, y posteriormente pulsar ENTER.

Para que os hagáis una idea, son alrededor de 9 opciones que debemos elegir la opción por defecto (nueve veces seguidas pulsando la tecla ENTER) y después nos aparecerá el mensaje anterior y deberemos escribir la letra: y, y pulsar nuevamente ENTER.

Y en este momento, el Terminal irá indicando el progreso de la compilación del MSPGCC4, en este punto hay que tener paciencia, ya que suele tardar de 18-30 minutos.

Cuando haya terminado de compilar, el siguiente paso es agregarlo a la ruta, para ello, necesitaremos editar el archivo profile, para abrirlo en el Terminal:
sudo nano /etc/profile

Para abrirlo, es necesario que introduzcamos nuestra clave personal y nos aparecerá en el Terminal dicho archivo, vamos hasta el final del mismo e introducimos la siguiente línea de código:
export PATH=${PATH}:/opt/msp430-gcc-4.4.3/bin

Una vez introducida al final, cerramos pulsando la tecla Ctrl-X y refrescamos el archivo profile:
source /etc/profile

Pues bien, ya tenemos todas las herramientas necesarias para compilar código en .C mediante nuestro compilador MSPGCC4 que si no contiene errores, nos dará como salida un archivo .elf que es el que programaremos en nuestro microcontrolador.

Los siguientes pasos que vamos a realizar será para dotar de un depurador y programador mediante el Terminal que sea capaz de conectar con la placa MSP430 LaunchPad.

El programa que usaremos se llama: MSPDebug, bajaremos la última versión: MSPDebug y en este tutorial, se trabajará desde el Escritorio (La versión que se ha empleado es mspdebug-0.11.tar.gz, los pasos para versiones futuras son similares, simplemente cambiamos el número de la versión a instalar).

Una vez descargado nuestro archivo pasaremos a instalarlo, primero lo descomprimimos mediante la siguiente instrucción:
tar xvfz mspdebug-0.11.tar.gz

· NOTA: Para poder descomprimirlo, debemos asegurarnos que en el Terminal, estemos apuntando al escritorio o al lugar donde hemos descargado el archivo.

Una vez descomprimido nos situamos en dicha carpeta:
cd mspdebug-0.11

Y compilamos:
make

E instalamos:
sudo make install

Nos pedirá la contraseña y se instalará. Pues por fin, estamos casi listos para poder trabajar en Ubuntu con nuestra placa MSP430 LaunchPad, solamente nos queda añadir el código presente al archivo de reglas para poder utilizar nuestra placa sin problemas.

Para abrir el archivo de reglas:
sudo nano /etc/udev/rules.d/46-TI_launchpad.rules

Copiamos y pegamos al final el siguiente código:
ATTRS{idVendor}=="0451", ATTRS{idProduct}=="f432", MODE="0660", GROUP="plugdev"

Una vez realizamos, salimos del archivo de regla con las teclas Ctrl-X y refrescamos dicho archivo:
sudo restart udev

El código que hemos introducido es para no tener que ejecutar el depurador/programador en modo Administrador. Pues ahora sí, ya hemos terminado de instalar todo lo necesario para compilar, depurar y programar en nuestra placa MSP430 LaunchPad en Ubuntu.

En el siguiente enlace, se muestra un ejemplo detallado de cómo compilar y programarlo a la placa MSP-EXP430G2 LaunchPad:

MSP430 LaunchPad
EjemploPrograma que utiliza las herramientas aquí descritas.

Y hasta aquí el tutorial, parece complicado, pero siguiendo los pasos aquí descritos no se tiene por qué tener problemas.

Los pasos que aquí menciono están sacados e inspirados en los siguientes enlaces:

· working together.
· Hack a Day.

Se recomienda que después completar todos los pasos, se reinicie el sistema.

2 comentarios:

Leonardo dijo...

Excelente tu tutorial, gracias, voy a probarlo con un MSP430F2012, luego te comento que tal.
Saludos

Unknown dijo...

Buenas Leonardo:

Supongo que no tendrás problemas ya que dicho microcontrolador, creo recordar, que es soportado tanto por el compilador como por el depurador.

Un saludo y espero que comentes como te ha ido. Gracias por tu comentario.