前の記事で作成した、「Raspberry Pi」用のu-bootを、Macパソコンからでも使えるように、シリアル通信を動かす。
シリアル-USB変換ケーブルの準備
シリアル-USB変換ケーブルは、私はアマゾンから下記を入手。搭載チップはPL2303HX。
Mac OSX用のドライバーソフトを入手
下記URLから「PL2303 Mac OS X Driver」を入手。
圧縮されてるので、解凍する。同梱のドキュメントに従ってインストーラ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
を使ってみた。
関連記事
参考
- PL2303 Mac OS X Driver Download
- Mac でシリアルコンソールを利用する方法 – maruko2 Note.
- Daemons and Witches — Meg
- シリアル端末ソフト/minicom – PukiWiki
- Mac OS X でETロボコンに出よう!(Bluetooth編) – Qiita
- −ザ・組み込み−ソフトウェアのハードウェア化(3):山あり谷あり、非力なマイコンでuClinuxを動かすべし (2/4) – MONOist(モノイスト)
- minicomでBBBのU-Bootにファイル転送を行う (Mac OS X):いや、まさにログ的な:So-netブログ
- macOS で Raspberry Pi 用のシリアルコンソールケーブル (PL2303) を使う
コメント