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

スポンサーリンク

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

【Ubuntu 18.04/16.04 LTS】Raspberry Pi用のu-bootをコンパイルする
「Raspberry Pi」用に、u-bootをUbuntのLinux上でコンパイルする。 ARMクロスコンパイル環境の準備 ARMツールチェーンなどのコンパイル環境は、下記記事でインストール済の環境を使う。 macOSでもコンパイル可能。...

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

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

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

下記URLから「PL2303 Mac OS X Driver」を入手。

Prolific Technology Inc. (USB to UART / RS232 / Serial)
Prolific Technology is a IC design house company and ASIC design service provider for USB Smart I/O (USB to UART, Card R...

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

追記(2019/10/26)

macOS 10.15 Catalina(64bit)でも動作確認した。
上記サイトから、ドライバ「PL2303_Mac OSX Drv_V1_6_2_20190723(2).rar」を入手しインストール。

上記のNOTEにも書いてあるが、認識しない時は macOS のセキュリティ機能でドライバがブロックされている恐れがあるので、「システム環境設定 > セキュリティとプライバシー > 一般」 で確認し許可する。

以前のバージョンの削除は、下記コマンドを実行。(readme.txt参照)

$ sudo rm -rf /Library/Extensions/ProlificUsbSerial.kext
$ sudo rm -rf /var/db/receipts/*PL2303*.*
$ sudo rm -rf /var/db/receipts/*ProlificUSbSerial*.*

シリアル-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 も試したが、何故か一度終了した次の起動で動かない?
  • brewからも、「brew install homebrew/cask-drivers/prolific-pl2303」でインストールできるよう。(参考.9

追記(2019年6月22日)

通信端末ソフトとして C-kermit を使ってみた。

【macOS】C-Kermitをシリアルコンソール通信ソフトとして使う
以前の記事で、macOSでシリアル通信を動かした。 使い勝手のいいシリアルコンソール通信ソフトがないかと探していたら、「C-Kermit」がコンソール端末モードでも利用できる事が判り使ってみたので備忘録を残す。 C-Kermitのインストー...

関連記事

【Raspberry Pi】u-bootを動かす
前の記事で作成した、u-bootを、「Raspberry Pi」に入れて、動かしてみる。 シリアル接続の準備 u-bootでは、シリアル通信を使って、コマンド入出力する。 シリアル-USB変換ケーブルが必要で、私はアマゾンから下記を入手。搭...
【macOS】FTDIチップ搭載のUSBシリアル通信を使う
以前の記事でPL2303HXを使ったシリアル通信を紹介した。今回、FTDI製チップ搭載のシリアルケーブルを入手して使ったので備忘録を残す。 FTDIチップ搭載のシリアルケーブル iBUFFALOの「BSUSRC0610BS」が、FTDIチッ...

参考

  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. −ザ・組み込み−ソフトウェアのハードウェア化(3):山あり谷あり、非力なマイコンでuClinuxを動かすべし (2/4) – MONOist(モノイスト)
  7. minicomでBBBのU-Bootにファイル転送を行う (Mac OS X):いや、まさにログ的な:So-netブログ
  8. macOS で Raspberry Pi 用のシリアルコンソールケーブル (PL2303) を使う

コメント

タイトルとURLをコピーしました