【macOS】シリアル通信を動かす

スポンサーリンク
728×90 ビッグバナー

前の記事で作成した、「Raspberry Pi」用のu-bootを、Macパソコンからでも使えるように、シリアル通信を動かす。

シリアル-USB変換ケーブルの準備

シリアル-USB変換ケーブルは、私はアマゾンから下記を入手。搭載チップはPL2303HX。

Mac OSX用のドライバーソフトを入手

下記URLからOSX 10.11 El Capitan(64bit)対応の「PL2303 Mac OSX Driver」を入手。

http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=229&pcid=41

zip圧縮されてるので、解凍する。同梱のドキュメントに従ってインストーラpkgファイルを実行。インストール完了後、再起動する。

シリアル-USBケーブルをパソコンに接続

シリアル-USBケーブルを接続し、認識されるので確認。

ターミナルから ls -l /dev/tty.usb* を実行すると、

crw-rw-rw-  1 root  wheel   17,   4  9  9 21:12 /dev/tty.usbserial

のようにドライバ名が表示されたらOK。(案外、素直に認識できた)

Raspberry Piとシリアル接続の配線

Raspberry Pi <ー> シリアル-USB 接続

Raspberry Pi ピン名称 ピン番号 シリアル-USB信号
GND 6 GND (黒)
GPIO 14 (TXD) 8 RX (白)
GPIO 15 (RXD) 10 TX (緑)

※シリアル-USBの+3.3V(赤)は未接続としておく

通信ソフトのインストール

通信ソフトは、「minicom」をbrewからインストール。

$ brew install minicom

セットアップ

minicom -sを実行すると、次のような画面になるので、カーソルキー で項目を選びEnterで決定する。

            +-----[configuration]------+
            | Filenames and paths      |
            | File transfer protocols  |
            | Serial port setup        |
            | Modem and dialing        |
            | Screen and keyboard      |
            | Save setup as dfl        |
            | Save setup as..          |
            | Exit                     |
            | Exit from Minicom        |
            +--------------------------+

サブメニューでは、a-zの各キーを押して項目を設定。 Enterでサブメニューから抜ける。
最初に[Serial ports setup]を選び、シリアルポートの設定。

    +-----------------------------------------------------------------------+
    | A -    Serial Device      : /dev/tty.usbserial                        |
    | B - Lockfile Location     : /usr/local/Cellar/minicom/2.7/var         |
    | C -   Callin Program      :                                           |
    | D -  Callout Program      :                                           |
    | E -    Bps/Par/Bits       : 115200 8N1                                |
    | F - Hardware Flow Control : No                                        |
    | G - Software Flow Control : No                                        |
    |                                                                       |
    |    Change which setting?                                              |
    +-----------------------------------------------------------------------+
[A – Serial Devide] 使用するポート(/dev/tty.usbserial)を指定
[E – Bps/Par/Bits] サブメニューが開くので、115200bps, 8N1(8bit,Parityなし,StopBit 1)に設定
[F – Hardware Flow Control] Noに設定
[G – Software Flow Control] Noに設定
必要な設定を終えたら、 [Save setup as dfl]を選択して保存し、[Exit from Minicom]でminicomを 終了。

通信確認

minicom を起動し、Raspberry Piの電源投入する。

$ minicom

u-bootの起動メッセージが表示されればOK。minicomの終了は Meta Z + X。

ファイルアップロード

macでコンパイルしたファイルを、u-bootでRaspberry Piに転送できるように、転送ソフト関係をbrewからインストール。

$ brew install lrzsz

lrzszパッケージをインストールすると、XMODEM/YMODEM/ZMODEM関係のファイルがインストールされる。
インストールした、ZMODEM 関連の実行ファイル(lrz, lsz)、XMODEM関連の実行ファイル(lrx, lsx)、YMODEM関連の実行ファイル(lrb, lsb)が実行されるように、minicom の[File transfer protocols]設定を下記のように変更する。

+------------------------------------------------------------------------------+
|     Name             Program                 Name U/D FullScr IO-Red. Multi  |
| A  zmodem     /usr/local/bin/lsz -vv          Y    U    N       Y       Y    |
| B  ymodem     /usr/local/bin/lsb -vv          Y    U    N       Y       Y    |
| C  xmodem     /usr/local/bin/lsx -vv          Y    U    N       Y       N    |
| D  zmodem     /usr/local/bin/lrz -vv          N    D    N       Y       Y    |
| E  ymodem     /usr/local/bin/lrb -vv          N    D    N       Y       Y    |
| F  xmodem     /usr/local/bin/lrx -vv          Y    D    N       Y       N    |
| G  kermit     /usr/local/bin/kermit -i -l %l  Y    U    Y       N       N    |
| H  kermit     /usr/local/bin/kermit -i -l %l  N    D    Y       N       N    |
| I  ascii      /usr/local/bin/ascii-xfr -dsv   Y    U    N       Y       N    |
| J    -                                                                       |
| K    -                                                                       |
| L    -                                                                       |
| M  Zmodem download string activates... D                                     |
| N  Use filename selection window...... Yes                                   |
| O  Prompt for download directory...... No                                    |
|                                                                              |
|   Change which setting? (SPACE to delete)                                    |
+------------------------------------------------------------------------------+

設定完了したら、minicomを起動し、u-bootで loady 8000と実行し、Meta Z + S で転送プロトコル表示されるので、”ymodem’を選びファイル選択し”Okey”するとファイル転送が開始。転送完了すると、u-bootから go 8000 でプログラム実行できる。

これでMacでのu-bootを使ったRaspberry Piの開発環境が整った。

補足

  • xmodemでも動作できる事は確認、zmodemはu-bootにコマンドがないので未確認。
  • kermitはbrew install c-kermitでインストールし試したが、何故か転送エラー?
  • ascii転送は、Sフォーマットファイルで転送試したが、何故か転送エラー?
  • Mac OSX標準の screen コマンド screen /dev/tty.tty.usbserial 115200 も試したが、何故か一度終了した次の起動で動かない?

参照記事

参考

  1. PL2303 Mac OS X Driver Download
  2. Mac でシリアルコンソールを利用する方法 – maruko2 Note.
  3. Daemons and Witches — Meg
  4. シリアル端末ソフト/minicom – PukiWiki
  5. Mac OS X でETロボコンに出よう!(Bluetooth編) – Qiita
  6. GNU screen でシリアル通信 + xmodem転送
  7. −ザ・組み込み−ソフトウェアのハードウェア化(3):山あり谷あり、非力なマイコンでuClinuxを動かすべし (2/4) – MONOist(モノイスト)
  8. minicomでBBBのU-Bootにファイル転送を行う (Mac OS X):いや、まさにログ的な:So-netブログ
スポンサーリンク
レシポンシブ広告
レシポンシブ広告

シェアする

フォローする