次: gdb-EB29K, 上: EB29K Remote
PC上のDOSで以下のように実行することによって、 PCのポートをセットアップします。
C:\> MODE com1:9600,n,8,1,none
MS DOS 4.0上で実行されているこの例では、 PCポートを通信速度9600 bps、 パリティ・ビットなし、 データ・ビット数8、 ストップ・ビット数1、 リトライなしに設定しています。 UNIX側を設定する際には、 同一の通信パラメータを使わなければなりません。
シリアル回線のUNIX側にPCの制御権を与えるには、 DOSコンソール上で以下のように実行します。
C:\> CTTY com1
(後に、
DOSコンソールに制御を戻したいときには、
CTTY conコマンドを使うことができます。
ただし、
制御権を持っている装置からこのコマンドを送信する必要があります。
ここでの例では、
COM1に接続されているシリアル回線を通して送信することになります)。
UNIXのホストからは、
PCと通信するのにtipやcuのような通信プログラムを使います。
以下に例を示します。
cu -s 9600 -l /dev/ttya
ここで示されているcuオプションはそれぞれ、
使用する回線速度とシリアル・ポートを指定しています。
tipコマンドを使った場合は、
コマンドラインは以下のようなものになるでしょう。
tip -9600 /dev/ttya
ここでtipへの引数として指定した/dev/ttyaの部分には、
システムによって異なる名前を指定する必要があるかもしれません。
使用するポートを含む通信パラメータは、
“remote”記述ファイルにおいてtipコマンドへの引数と関連付けられます。
通常このファイルは、
システム・テーブル/etc/remoteです。
tip接続またはcu接続を使用して
DOSの作業ディレクトリを29Kプログラムが存在するディレクトリに変更し、
PCプログラムEBMON
(AMD社からボードとともに提供されるEB29K制御プログラム)
を起動します。
以下に示す例によく似た、
EBMONプロンプト`#'で終わるEBMONの初期画面が表示されるはずです。
C:\> G:
G:\> CD \usr\joe\work29k
G:\USR\JOE\WORK29K> EBMON
Am29000 PC Coprocessor Board Monitor, version 3.0-18
Copyright 1990 Advanced Micro Devices, Inc.
Written by Gibbons and Associates, Inc.
Enter '?' or 'H' for help
PC Coprocessor Type = EB29K
I/O Base = 0x208
Memory Base = 0xd0000
Data Memory Size = 2048KB
Available I-RAM Range = 0x8000 to 0x1fffff
Available D-RAM Range = 0x80002000 to 0x801fffff
PageSize = 0x400
Register Stack Size = 0x800
Memory Stack Size = 0x1800
CPU PRL = 0x3
Am29027 Available = No
Byte Write Available = Yes
# ~.
続いて、
cuプログラムまたはtipプログラムを終了させます
(上の例では、
EBMONプロンプトにおいて~.を入力することで終了させています)。
EBMONは、
GDBが制御権を獲得できる状態で、
実行を継続します。
この例では、
PCとUNIXシステムの両方に同一の29Kプログラムが確実に存在するようにするのに、
おそらく最も便利であろうと思われる方法を使うことを仮定しました。
それは、
PC/NFSによる接続で、
UNIXホストのファイル・システムの1つをPCのG:ドライブとする方法です。
PC/NFS、
あるいは、
2つのシステム間を接続する類似の方法がない場合、
フロッピ・ディスクによる転送など、
UNIXシステムからPCへ29Kプログラムを転送するための他の手段を準備する必要があります。
GDBは、
シリアル回線経由で29Kプログラムをダウンロードすることはしません。