ホームページH8をMacで>その3・Mac OS X機からRAMに転送する

その3・Mac OS X機からRAMに転送する

目次
 目的と経緯

 引き続き、Mac OS X上でMES 2.2ベースのH8開発ができるかを試行します。
 前回で、MESベースのH8バイナリを作れることが確認できたため、今回は転送周りにチャレンジします。

 なお、以下の検証は、Mac OS X 10.4.6で行っています。バージョンが異なる場合は適用されない可能性も考えられます。


 Mac OS X標準のtftpを使う

 Mac OS Xは標準でtftpを持っているため、それを利用できるか確認します。

 まずは、デフォルトの転送対象ディレクトリを探します。というのも、MES側からはディレクトリを指定することができないので、tftpがデフォルトとするディレクトリに転送するファイルを置かなければならないからです。

 調べてみると、/private/tftpboot がデフォルトのディレクトリになっていました。
Mac OS Xでは、tftpはネットブートのために利用することを前提としているようで、そのようになっているようです。
 参考サイト(1):Diskless NetBSD HOW-TO, tftpd サーバーの設定

 なので、そこに転送ファイルを置いて、Windows機のターミナルからtftpコマンドを打ち込んでみたところ、転送できました。
 なお、Mac上では特に何もしていません。(tftpはデフォルトで起動しているようです。また、環境設定−共有の「FTPサービス」をオンにする必要もありません。)

 ただし、/private/tftpboot はrootのパーミッションなので、suにならないといけないという制限があります。(パーミッションを変更してもいいのですが、ちょっと危険。運用で解決した方がよさそうです。)


 シリアル通信を試す

 シリアル通信用のソフトとしては、公開されているものがいくつかありますが、REALbasicはシリアルコントロールを持っているので、これを使って実験プログラムを作ってみました。

 テスト環境をシンプルにするため、まずはリアルなシリアルポートを持った旧Macに接続(モデムに付属してきたRS422-RS232C変換ケーブルを併用)してみました。

 実験プログラム自体は、コントロールを置いてリファレンスを参考に少量のコードを書いただけのものですが、あっさり動いてしまいました。
 tftpコマンドも実行できました。(ただし、tftp先はMac OS X機)

 これで、USB経由での接続がシリアルと同等に機能すれば、いけそうなことが確認できました。


 USB-シリアル変換ケーブルを試す

 USB-シリアル変換ケーブルは数社から発売されていますが、需要が少ない所為か、どれも比較的高価です。
 その中で、秋月が出している変換ケーブルは最も廉価で、これが使えれば申し分ないのですが、例によってMacは非サポートとなっています。

 そこで非公式情報をあれこれ探していたら、以下のサイトにMac OS Xでも使えるという情報があったので、購入しました。
秋月店頭には、シリアルケーブル付しか置いてありませんが、ケーブルなしの方が欲しい場合は店員さんにその旨伝えれば、その場でケーブルを抜き取ってケーブルなしの価格にしてくれます。
 参考サイト(2):秋月USB-Serial変換ケーブル改造

 同サイトで紹介されていた以下のサイトからドライバをダウンロードして、インストール。

 参考サイト(3):Teknotes: Enabling the PL2303 kext for use with Mac OS 10.2.x – 10.3.x
 参考サイト(5):Welcome to Prolific(公式サイト)
注)上記ドライバは特定の変換チップをサポートするもので、秋月のケーブル自体をサポートするものではありません。秋月のケーブルが当該チップを搭載している保証は一切ありませんので、ご利用はあくまで自己責任でお願いします。
 早速、上記の実験プログラムをMac OS X機に持ってきてテストしてみました。当初動かなかったので、これは失敗かと思ったのですが、ふとシリアルポートの番号を0(モデムポート)から1(プリンタポート)に変更してみたところ、無事動きました。

USB-シリアル変換ケーブル(の中の変換回路)が、ポートの何番を使うのかはよく分かりません。現状、1番を使っているようなのですが、これを外部から変更できるのか等、詳細は不明です。まぁ、ウチではとりあえずうまくいっているようなので、よしとしますが…。

 IDE環境を整える

 以上、個々の処理はうまくいったので、せっかくなので、これら処理をまとめて実行できるIDE(統合開発環境)もどきを作ってみることにしました。

 ただし、エディタは既に優れたものがいくつもあるので、その中からmiを使わせて頂くことにしました。選んだ理由としては、ソースコード編集に特化した機能を持っていることの他に、アップルスクリプトを起動できるという点にあります。

 参考サイト(4):mi

 MESに付いてきたCBarを参考に、とりあえず自分が使うのに必要な部分だけを実装したもの(名称は「Mac-H8IDE」とした)を作ってみました。


注)背面がMac-H8IDE。前面のエディタはmi

 Mac-H8IDEの特徴は、アップルスクリプトに対応させていることで、miでソースを編集後、miのメニューからアップルスクリプトを選ぶと、Mac-H8IDEが「make>tftpルートにコピー>シリアル経由でtftpコマンド実行」までを一括して処理できることです。

 ということで、少なくともRAMを転送先とするプログラム開発とテストについては、全てMac OS X上で処理できるメドが立ちました。

 残るはROMへの転送(Disk Tool, Flush Writer相当)ですが、これは使用頻度がそれほど高くないので、機会を改めてチャレンジしたいと思います。

 「その4・Intel Macで試す」へ続く


 お世話になったサイト

 有用なソフトウェアおよび貴重な情報をご提供頂いている皆様に、お礼申し上げます。(以下、順不同)

 参考サイト(1):Diskless NetBSD HOW-TO, tftpd サーバーの設定
 参考サイト(2):秋月USB-Serial変換ケーブル改造
 参考サイト(3):Teknotes: Enabling the PL2303 kext for use with Mac OS 10.2.x – 10.3.x
 参考サイト(4):mi
 参考サイト(5):Welcome to Prolific


 更新履歴

 2007.04.04 ページ独立に伴い、タイトルナンバーを「その4b」から変更。
 2007.03.26 タイトルを「マイコンボード連係編(3)」から変更。
 2007.01.31 参考サイト(1)のリンク先を更新。参考サイト(5)を追加。
 2006.08.02 USB-シリアル変換ケーブルを試す、に注を追加。
 2006.06.23 新規作成


[Home]  [MacSoft]  [Donation]  [History]