NuttShell(nsh)のボーレートを変える

NuttShell(nsh)のボーレートを変える

概要

NuttXに付属しているシェルであるNuttShellにアプリケーションの実行ログを垂れ流すと,転送速度が足りず,バッファが詰まって処理が遅くなることがあります. これはNuttXのカーネルの設定で転送速度(ボーレート)を変更することで解決できます.

この記事では,SPRESENSEのNuttXを例に設定方法を紹介します.ほかのプラットフォームでも同様に変更が可能なはずです.

SPRESENSEでの手順例

設定を保存するまでの動画を用意したので,こちらをご確認ください. menuconfigでは,矢印キーで選択,Enterで下の階層に入り,Escを2回押して上の階層に戻れます.

  1. ターミナルでSPRESENSE SDKのディレクトリに移動し,カーネルのmenuconfigを実行します.
$ make menuconfigkernel
  1. “Device Drivers” -> “Serial Driver Support” -> “Serial Console” から,ペリフェラルの名前(UART1等)を確認します.
  2. 確認した名前に対応する設定("UART1 Configuration"等)を開き,“BAUD rate” を変更します.
  3. 設定を保存して終了します.
  4. カーネルとアプリケーションをビルドし直します.
$ make cleankernel
$ make buildkernel
$ make clean
$ make

注意事項

  • SPRESENSEでは,実用上921600bpsが限界なようです.これよりも大きい値を指定すると正常な動作が期待できなくなります.
  • tools/flash.py を使用した書き込みでは,2Mbpsでも可能です.
Share Comments