TI Launchpad MSP430 en serie en Linux

La Guía del usuario de la placa de experimentación LaunchPad MSP-EXP430G2 (Rev. C) en el capítulo 3.2 establece:

El LaunchPad incluye un dispositivo MSP430G2553 preprogramado [...]

Presione el botón P1.3 para cambiar la aplicación a un modo de medición de temperatura. [...]

Los datos de temperatura recopilados también se comunican a través del UART de canal posterior a través del circuito de emulación USB de regreso a la PC. Los valores transmitidos pueden [...] visualizarse con cualquier aplicación de terminal o la GUI del sensor de temperatura disponible en la página wiki del MSP430 LaunchPad http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_(MSP-EXP430G2 ). El puerto de comunicación serial en la PC debe configurarse con 2400 bps, un bit de parada y sin control de flujo para mostrar los valores correctamente.

He estado tratando de conectarme al canal de comunicación serial desde Linux usando PuTTY (/dev/ttyACM0, 2400Bd, 8N1), pero no pasa nada.

Resultados similares con:

stty /dev/ttyACM0 2400
screen /dev/ttyACM0

Todavía no he visto que la serie USB del LaunchPad funcione, así que estoy tratando de averiguar si el problema está en mi instalación de Linux o en el LaunchPad.

¿Cómo puedo leer los datos de la demostración de LaunchPad en Linux?

EDITAR1

Estoy en Ubuntu 12.10 de 64 bits

Linux 3.5.0-21-generic #32-Ubuntu SMP Tue Dec 11 18:51:59 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux


PACKAGE NAME      INSTALLED VERSION
binutils-msp430   2.22~msp20120406-2
gcc-msp430        4.6.3~mspgcc-20120406-3
gdb-msp430        7.2a~mspgcc-20111205-1ubuntu1
msp430-libc       20120224-1
msp430mcu         20120406-2
mspdebug          0.19-1
srecord
libsrecord-dev
libgmp-dev
Resolví el problema. Mientras escribía esta pregunta, estaba en el camino equivocado. Los datos no se mostraban porque son binarios (a diferencia de lo que implica la guía del usuario) y debido a problemas con el búfer. Resolví el problema escribiendo un breve script en perl, que puse en mi blog personal: blog.linformatronics.nl/170/linux/…

Respuestas (1)

Esto no es demasiado raro, especialmente si su sistema es un sistema de 64 bits. Asegúrese de tener estos instalados en su sistema:

  • binutils-msp430
  • gcc-msp430
  • gdb-msp430
  • msp430-libc
  • msp430mcu
  • mspdebug
  • grabar
  • libsrecord-dev
  • libgmp-dev

Después de conectar el Launchpad, el sistema puede tardar un poco (~1 minuto o menos) en detectarlo. ¿Qué sucede si tiene una terminal abierta que solo está monitoreando el puerto cat /dev/ttyACM0y conecta/desconecta la unidad varias veces?

¿Estás seguro de que tienes todo lo demás instalado correctamente? Es posible que necesite algunas cosas adicionales si su sistema es de 64 bits, y las versiones más nuevas del kernel> 2.4 pueden tener un pequeño problema con algunos programas, pero nada que no se solucione fácilmente. Asumiendo que usa alguna distribución de Debian,

sudo apt-get install subversion gcc-4.4 texinfo patch libncurses5-dev zlibc zlib1g-dev libx11-dev libusb-dev libreadline6-dev

Hay un artículo de How-to: Launchpad para programar con Linux que puede ayudar.

¿Estás seguro de los últimos tres paquetes?
Logré obtener algunos datos usando minicom. El LaunchPad escupe bytes, no datos ASCII y no CRo LF. La falta de terminadores de línea puede muy bien explicar por qué todas las herramientas habituales no generan nada (hasta que el búfer está lleno).
@jippie El programa de demostración de Launchpad no envía ASCII, envía binario.
@jippie No estoy seguro acerca de los paquetes, ha pasado un tiempo desde que jugué con TI en una máquina Linux. Acabo de encontrar esos de algún sitio.