STM32でNUTTXを使ってみる

USBコンソール


前回に続いてnshネタです。
F4 DiscoveryにはUSB-OTGポートがあるので、USB経由でコンソール使うことができますが、
USB-OTGポートを持っていないボードでコンソールを使うときは、シリアルポートを使う必要が有ります。

STM32F103では、以下の手順でUSBコンソールを有効にすると、USBポートをコンソールとして使えるようになります。
(注)F3ボードやF4ボードではこの技は使えません。

メニューの場所は画面の上から2行目に表示されています。






USB Modem (CDC/ACM) supportを選ぶと、この画面に行けるようになります。


標準ではUSART1がSerial Consoleとなっています。


ここは選択です


USB Device Consoleを有効にしたので、Serial Consoleは無効にします。


新しい[.config]を使ってファームウェアをビルドし、新しいファームウェアをマイコンに書き込みます。
ST-LINKケーブルを外し、USBケーブルでホストマシンと接続します。
ST-LINKとUSBケーブルの両方から給電すると、ボードが燃えるみたいです
ホストマシンとUSBケーブルで接続すると、新しいUSBデバイス(/dev/ttyACM0)が現れます。
$ dmesg
(略)
[105515.943182] usb 3-3.2: new full-speed USB device number 45 using xhci_hcd
[105516.045031] usb 3-3.2: New USB device found, idVendor=0525, idProduct=a4a7
[105516.045035] usb 3-3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[105516.045037] usb 3-3.2: Product: CDC/ACM Serial
[105516.045039] usb 3-3.2: Manufacturer: NuttX
[105516.045041] usb 3-3.2: SerialNumber: 0
[105516.045651] cdc_acm 3-3.2:1.0: ttyACM0: USB ACM device

$ ls /dev/ttyACM*
/dev/ttyACM0

接続を確認したらUSBポートにscreenコマンドで接続します。
$ sudo screen /dev/ttyACM0

Enterキーを何回か押すとnshコンソール画面が表示されます。
USB Device Consoleを有効にすると、ttyACM0のデバイスを確認することができます。


こちらがSerial Device Consoleの時のデバイスです。




ファームの書き込み方法と、nshへの接続方法はこちらに紹介しています。
STM32F4 Discovery
STM32F3 Discovery
STM32F103RB Nucleo
STM32F103 BluePill/BlackPill
STM32F103 VEボード
STM32F407 VGボード

続く....