TI Launchpad MSP430 auf Seriell unter Linux

Im MSP-EXP430G2 LaunchPad Experimenter Board User's Guide (Rev. C) heißt es in Kapitel 3.2:

Das LaunchPad enthält ein vorprogrammiertes MSP430G2553-Gerät [...]

Drücken Sie die Taste P1.3, um die Anwendung in einen Temperaturmessmodus zu schalten. [...]

Die gesammelten Temperaturdaten werden auch über Back-Channel-UART durch die USB-Emulationsschaltung zurück an den PC übermittelt. Die übertragenen [...] Werte können mit jeder Terminalanwendung oder der Temperatursensor-GUI angezeigt werden, die auf der MSP430 LaunchPad Wiki-Seite http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_(MSP-EXP430G2 ) verfügbar ist. Der serielle Kommunikationsanschluss am PC muss mit 2400 bps, einem Stoppbit und ohne Flusskontrolle konfiguriert werden, um die Werte korrekt anzuzeigen.

Ich habe versucht, mit PuTTY (/dev/ttyACM0, 2400Bd, 8N1) von Linux aus eine Verbindung zum seriellen Kommunikationskanal herzustellen, aber es passiert nichts.

Ähnliche Ergebnisse mit:

stty /dev/ttyACM0 2400
screen /dev/ttyACM0

Ich habe noch nicht gesehen, dass das LaunchPad USB Serial funktioniert, also versuche ich herauszufinden, ob das Problem bei meiner Linux-Installation oder beim LaunchPad liegt.

Wie kann ich die Daten aus der LaunchPad-Demo unter Linux lesen?

EDIT1

Ich bin auf Ubuntu 12.10 64-Bit

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
Ich habe das Problem gelöst. Beim Schreiben dieser Frage war ich auf dem falschen Weg. Daten wurden nicht angezeigt, weil sie binär sind (im Gegensatz zu dem, was das Benutzerhandbuch andeutet) und wegen Pufferproblemen. Ich habe das Problem gelöst, indem ich ein kurzes Perl-Skript geschrieben habe, das ich in meinen persönlichen Blog gestellt habe: blog.linformatronics.nl/170/linux/…

Antworten (1)

Dies ist nicht ungewöhnlich, insbesondere wenn Ihr System ein 64-Bit-System ist. Stellen Sie sicher, dass diese auf Ihrem System installiert sind:

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

Nach dem Anschließen des Launchpads kann es einige Zeit dauern (~ 1 Minute oder weniger), bis das System es abholt. Was passiert, wenn Sie ein Terminal geöffnet haben, das nur den Port überwacht, wie cat /dev/ttyACM0, und Sie das Gerät ein paar Mal verbinden/trennen?

Bist du sicher, dass du alles andere richtig installiert hast? Sie benötigen möglicherweise ein paar zusätzliche Dinge, wenn Ihr System 64-Bit ist, und die neueren Kernel-Versionen >2.4 haben möglicherweise ein kleines Problem mit einigen Programmen, aber nichts, was nicht leicht zu beheben ist. Angenommen, Sie verwenden eine Debian-Distribution,

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

Es gibt einen How-to: Launchpad-Programmierung mit Linux- Artikel, der hilfreich sein kann.

Sind Sie sich bei den letzten drei Paketen sicher?
Ich habe es geschafft, einige Daten mit zu bekommen minicom. Das LaunchPad spuckt Bytes aus, keine ASCII-Daten und kein CRor LF. Das Fehlen von Zeilenabschlüssen kann sehr gut erklären, warum alle üblichen Tools nichts ausgeben (bis der Puffer voll ist).
@jippie Das Launchpad-Demoprogramm sendet kein ASCII, sondern binäres.
@jippie Ich bin mir bei den Paketen nicht sicher, es ist schon eine Weile her, seit ich mit TI auf einem Linux-Rechner herumgespielt habe. Die habe ich gerade auf irgendeiner Seite gefunden.