Configurar Netbeans con msp430-gcc y mspdebug.

netbeans logo

Para trabajar con msp430 la herramienta Code Composer Studio es una buena opción. Pero está basado en Eclipse a mi me gusta más NetBeans. En la entrada entrada anterior hacía referencia a un proyecto msp430 con NetBeans. Así que me parece buena idea explicar como lo he configurado.

Instalar las herramientas

Para empezar necesitamos obviamente tener instalado un NetBeans que soporte C/C++.  Vamos a utilizar el compilador msp430-gcc y para flashear y ejecutar paso a paso mspdebug. Para instalar msp430-gcc, msp430-gdb y mspdebug es tan fácil como:

sudo apt-get install gcc-msp430
sudo apt-get install gdb-msp430
sudo apt-get install mspdebug

Configurar NetBeans

Para configurar NetBeans vamos al menú Tools->Options y luego pinchamos en el icono de C/C++.  En la pestaña Build Tools vemos todos los compiladores asociados.

Añadir msp430 buid tool netbeans

Añadir buid tool

Para crear una nueva tool chain pinchamos en el botón «Add…» entonces aparece el cuadro de dialogo de abajo. En él indicamos la ruta del compilador, en mi caso /usr/bin, la familia (GNU)  y el nombre que le queramos dar a la tool chain. Para compiladores GCC cruzados a mi me gusta que el nombre coincida con en prefijo. Por ejemplo para el compilador de ARM arm-none-eabi-gcc le puse de nombre a la tool chain arm-none-eabi. En este caso para msp430-gcc le he puesto msp430.

Seleccionar build tool.

Seleccionar build tool.

Al pinchar en aceptar vemos que se ha añadido el compilador. Para ver que todas las rutas están bien podemos usar el botón «Versions…»

Confirmar build tool.

Confirmar build tool.

Crear un proyecto

Pinchamos en el icono de nuevo proyecto. Si el NetBeans que tienes instalados soporta varios tipos de proyectos seleccionamos C/C++. Entonces aparece el siguiente cuadro de dialogo. En Tool Collection indicamos que queremos usar el compilador msp430-gcc y pinchamos en el botón «Terminar·.

Crear un nuevo proyecto.

Crear un nuevo proyecto.

Una vez creado el proyecto editamos sus propiedades. Para ello pincha con el botón derecho sobre el proyecto. Te saldrá el cuadro de dialogo de abajo. Además de las propiedades de C/C++ necesarias para tu proyecto debes poner estas dos:

  1. En «Additional Options» tienes que indicar que msp430 vas a usar. En mi caso -mmcu=msp430g2553. Así el compilador sabe que linker script elegir.
  2. Cuando a msp430-gcc le activas la opción -mmcu crea en tiempo de compilación una definición de preprocesador con el nombre del micro. En mi caso _MSP430G2553_. Así se incluye automáticamente los ficheros de cabeceras de periféricos correctos al incluir <msp430.h>. Pero esto NetBeans no lo sabe y el analizador de código se vuelve un poco loco. Para solucionarlo se lo decimos a NetBeans en «Preprocessor Definitions».
Propiedades para el compilador.

Propiedades para el compilador.

En las opciones del linker editamos el nombre del fichero de salida y su extensión. En este caso elf.

Propiedades para el linker.

Propiedades para el linker.

Se debe editar el comando de ejecución para cada configuración. En este comando se invoca a la aplicación mspdebug. Normalmente tengo tres configuraciones:

  1. Release: mspdebug rf2500 «prog ${OUTPUT_PATH}»
  2. Debug: mspdebug rf2500 «prog ${OUTPUT_PATH}» gdb
  3. Simulation: mspdebug sim «prog ${OUTPUT_PATH}» gdb

En el comando después de mspdebug se especifica el driver del debuger HW. En mi caso utilizo la placa expmsp-430g2 así que el driver es rf2500. En la configuración de simulación el driver es sim.

En la configuración Release, cuando pinchamos el icono ejecutar se va a programar el msp430. Cómo ejecutar paso a paso en vivo o simulado lo explico más abajo.

Propiedades de ejecutar debug.

Propiedades de ejecutar debug.

Por último  me editamos el makefile para que cuando se «linca» muestre como se utiliza la memoria:

.build-post: .build-impl
    msp430-size -B ${CND_ARTIFACT_PATH_${CONF}}
    msp430-size -A ${CND_ARTIFACT_PATH_${CONF}}
Editar makefile.

Editar makefile.

Ejecutar paso a paso

Para ejecutar paso a paso en vivo o simulado pinchamos en el icono ejecutar estando en configuración Debug o Simulation respectivamente. Esto invoca a la aplicación mspdebug. La cual abre como servidor un socket en el puerto 2000.

Para que NetBeans se conecte a este socket ejecutamos el plugin gdbserver. Más adelante explico como instalarlo. Al ejecutar gdbserver aparece un cuadro de dialogo preguntando donde conectarse y cual es el proyecto que se va a ejecutar.

Invocar al cliente de GDB server.

Invocar al cliente de GDB server.

En la siguiente imagen se mustra NetBeans ejecutando paso a paso un proyecto msp430. Ese proyecto lo puedes encontrar en este repositorio.

Punto de ruptura

Punto de ruptura

En este vídeo puedes ver como se lanza gdbserver.

Instalar plugin GDB server

A continuación os dejo una secuencia de pantallazos de la instalacion de gdbserver.

NetBeans available plugins dialog.

NetBeans available plugins dialog.

NetBeans IDE plugin installer.

NetBeans IDE plugin installer.

NetBeans plugin license agreement.

NetBeans plugin license agreement.

NetBeans plugin verify certificate.

NetBeans plugin verify certificate.

Netbeans plugin installation completed.

Netbeans plugin installation completed.

Deja un comentario