Apr 21, 1999 frc7v-cl2: Server Solaris 2.6、cc ドライバのテスト --- クライアントシステム上での cc ドライバのデバッグ#02(その2) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/CAMAC/onl8v1-sol2.6-serv/ Cli2-CAMAC/camac-step02-1.txt) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 (1). 現状確認 (A). 株式会社ロジックハウスの白田様より SPARC CPU-8VT と、VMEドライバ v2.3.1 を借用した。 (B). 株式会社ロジックハウスの白田様より Server Solaris 2.6 のシステム がインストールされているハードディスクを借用した。 (C). 借用したハードディスクのサーバ側のシステム設定を変更して、KEK の FP クラスタ上で立ち上げた。 (D). ファイルを直接修正する方法で、クライアント(その1)側のシステム 設定を変更したがクライアントは立ち上がれなかった。 (E). Solsticeを起動してホストマネージャを使って、frc7v-cl1ディスクレス クライアントの設定をやり直した。 (F). ディスクレス・クライアントのシステム、frc7v-cl1 が起動できること を確認した。 (G). frc7v-cl1 のシステムにVMEドライバ、FRCvme-2.3.1 をインストールし、 その後、frc7v-cl1 のシステム設定をやり直した。 (H). Solsticeを起動してホストマネージャを使って、frc7v-cl2ディスクレス クライアントの設定をやり直した。 (I). ディスクレス・クライアントのシステム、frc7v-cl2 が起動できること を確認した。 (J). frc7v-cl1、クライアントのシステムに ccドライバをインストールした。 (K). frc7v-cl1、クライアントのシステム上でサンプル・プログラムを実行 シングルアクションの 24ビットread/write は ok. LAM割り込み処理は、ok. ブロック転送 read/write は NG. (L). CPU-7Vのボードで FRCvme2.3.1 が正しく動作できることを確認した。 (M). frc8vt、サーバ・システムに ccドライバをインストールした。 (N). frc8vt、サーバ・システム上でンプル・プログラムを実行 シングルアクションの 24ビットread/write は ok. LAM割り込み処理は、ok. ブロック転送 read/write は 16 および 24ビットとも、ok. (O). 株式会社ロジックハウスの高橋様の修正された ccドライバを実行したが 状況に変化はなかった。 (P). 株式会社ロジックハウスの白田様の提案より、デスクレス・クライアント のシステムにローカル・ディスクをつなぎ、マウントした後で ccドライバ を実行したが状況に変化はなかった。 (Q). cam2 プログラムを実行すると、 cc.cプログラム中のどの命令を実行 した時にパニックを起こすのか調べた。 (R). 株式会社ロジックハウスの高橋様の提案より、savecore について調べる。 savecoreコマンドにより、vmcore.x および unix.x ファイルを入手した。 (S). ドライバ・プログラムが DMA完了の待ち状態のままになっているのを 確認 (T). cam2プログラムを frc8vt、frc7v-cl1上で実行して結果を調べた。    frc8vt上での実行: (1). cv_wait_sig()コールが入っていると、そこで待ち状態が続く。 (2). cv_wait_sig()コールが入っていないと、正常終了する。    frc7v-cl1上での実行: (1). cv_wait_sig()コールが入っていると、そこで待ち状態が続く。 (U). cv_wait_sig() を while文でループさせることで、シグナルを受け取れた (V). DMA 開始前に以前の割り込み信号が残って影響を与えていないことを 確認した。 (W). バーチャル・アドレス・スペースの割り当てを追加して動作させてみたが 症状は変わらない。 (X). cc->bp へのアクセスを camac_b()ルーチンでやらないようにしてみたが 症状は変わらない。 (Y). Soft State Managementルーチンを使ってみたが症状は変わらない。 (Z). minphys のバッファサイズを大きくして試してみたが症状は変わらない。 (2-A). camac_b()を呼び出す箇所で渡す値をチェックしたが症状は変わらない。 (2-B). クラッシュダンプのチェック。 physio()でエラー。 (2-C). cc_strategy()ルーチンをチェック。 physio()でエラー。 (2-D). cc_strategy()ルーチンのcv_wait() を mutexロックした。変化なし。 (2-E). クラッシュダンプのチェック。 camac_b+0x2d0アドレスでエラー。 0xf60b5080?i camac_b+0x2d0: ld [%l0], %l1 $q (2-F). cc_device構造体へ cc_sys_statusを付加して調べた。 変化なし。 (2-G). cc->cc_sys_status = bp->b_error; の行をcc_intr()ルーチンへ持って いって動作させた。 ok. cam2、camacブロック転送は正常に実行できた。 (2-H). デバッグ用に付加した部分で実行上必要のない文を削除した。cam3実行 でタイムアウト時にシステムクラッシュが起きた。 (2-I). cam3のデバッグをやった。 cc_timeout()への引数の定義変更、および ddi_get_soft_state()への引数の定義変更、ioctl(...CCIOC_WAIT_LAM..) での timeout()コール後に mutex_enter()するように変更することで cc_timeout()実行時のクラッシュはなくなった。 (2-J). frc7v-cl2、ディスクレス・クライアントのシステムに ccドライバを インストールした。 (2-K). frc7v-cl2、ディスクレス・クライアントのシステム上で サンプル プログラムを実行した(デバッグ後)。 正常に実行できた。 (2-L). frc7v-cl1、ディスクレス・クライアントのシステム上で サンプル プログラムを実行した(デバッグ後)。 正常に実行できた。 (2-M). frc8vt、サーバのシステム上でサンプル・プログラムを実行した。 cam1実行でシステムクラッシュが起きた。 (2-N). cc_open()ルーチンを修正した。 サーバ側でのシステムクラッシュは なくなった。 (2-O). サーバ側でサンプル・プログラムを実行した。 正常に実行できた。 (2-P). クライアント側でのデバッグおよびサーバ側でのデバッグ後、 クライアント、frc7v-cl1上で再度サンプルプログラムを実行した。 正常に実行できた。 (2). ここでやるべきこと クライアント側でのデバッグおよびサーバ側でのデバッグ後、 クライアント、frc7v-cl2上で再度サンプルプログラムを実行する。 (3). 配置図 配置図は次のとうり。 Slot Number #1 #2 +----------------------------------------------------+ |+--+ | || | | Server || | | CPU || | VME Crate #1 | || | | || | | || | | || | | Hard Disk || | | +------+ || | | | o--------------o | | | | || | | +------+ ||o | | |+|-+ | +-|--------------------------------------------------+ | 10Base-T | +------------------+ | | Slot Number #1 #2 #3 #4 #5 #6 #7 | +----------------------------------------------------+ | |+--+ +--+ | | || | | | | | Client #1 || | | | | | CPU || | | | VME Crate #2 | | || | | | | | || | | | | | || | | | | | || | | | | | || | | | | | || | | | | | ||o | |o | | | || | || | | | ||o-------+ || | | | |+--+ | +|-+ | | +---------|---------------|--------------------------+ | | V +------------------+ | CAMAC 10Base-T | | | | FP +-------------|-------|-----------------------------+ Cluster | +--+ +|-+ +|-+ | <--------o | |o | |o | Switching Hub | | +--+ +--+ +--+ | | | +---------------------------------------------------+ クレート#1 スロット#1: SPARC CPU-8VT(ホスト名はfrc8vt) このボードには、一時的にFPクラスタのIPアドレス   を割り当ててテストを行う。 このボードは、 クレート#2の、スロット#1に挿してあるボードの サーバ・システムとして動作している。 クレート#2 スロット#1: SPARC CPU-7V(ホスト名はfrc7v-cl2) このボードにはローカル・ディスクはつないでない。 クレート#1の、スロット#1に挿してあるボードの ディスクレス・クライアント・システムとして 動作している。 スロット#2: 空き スロット#3: 空き スロット#4: 空き スロット#5: 空き スロット#6: 空き スロット#7: K2917 (4). サンプル・プログラムをコンパイル & ロード (4-1). cc.cファイルをコンパイル frc7v-cl2[39]% pwd /export/home/frc7v-cl2/inoue/CAMAC/Driver/FORCE-5V-sol2.5 frc7v-cl2[40]% which cc /kek/compilers/volume5/SUNWspro/bin/cc frc7v-cl2[41]% which f77 /kek/compilers/volume5/SUNWspro/bin/f77 frc7v-cl2[42]% cc -V cc: WorkShop Compilers 4.2.1 04 Feb 1997 C 4.2.1 usage: cc [ options] files. Use 'cc -flags' for details frc7v-cl2[43]% f77 -V f77: WorkShop Compilers 4.2.1 04 Feb 1997 FORTRAN 77 4.2.1 Usage: f77 [ options ] files. Use 'f77 -flags' for details frc7v-cl2[44]% make clean \rm -f cc *.o libcamac.a cam1 cam2 cam3 *~ core frc7v-cl2[45]% make ./script/cc_build.sh [Building for sun4m] rm -f cc.o cc -O -c camlib.c -o camlib.o -I. cc -O -c forlib.c -o forlib.o -I. rm -f libcamac.a ar rcv libcamac.a camlib.o forlib.o a - camlib.o a - forlib.o ar: writing libcamac.a cc -O cam1.c -o cam1 -I. -L. -lcamac f77 -fast -O3 -u cam2.f -o cam2 -I. -L. -lcamac cam2.f: MAIN: cc -O cam3.c -o cam3 -I. -L. -lcamac frc7v-cl2[46]% (4-2). cc および cc.confファイルをコピーし直す frc8vt# pwd /usr/kernel/drv frc8vt# ls -l cc* -rw-r--r-- 1 root other 58868 Apr 21 10:26 cc -rw-r--r-- 1 root other 288 Apr 21 10:27 cc.conf frc8vt# rcp frc7v-cl2:/export/home/frc7v-cl2/inoue/CAMAC/Driver/FORCE-5V-sol2.5/ cc . frc8vt# rcp frc7v-cl2:/export/home/frc7v-cl2/inoue/CAMAC/Driver/FORCE-5V-sol2.5/ cc.conf . frc8vt# ls -l cc* -rw-r--r-- 1 root other 58868 Apr 21 13:54 cc -rw-r--r-- 1 root other 288 Apr 21 13:54 cc.conf frc8vt# (4-3). ccドライバをロードし直す frc7v-cl2# make unload ./script/cc_unload.sh [Removing CAMAC device driver] [Removing CAMAC device driver from system] [Deleting CAMAC device files] frc7v-cl2# make load ./script/cc_load.sh [Installing CAMAC device driver] cp: cannot create /usr/kernel/drv/cc: Read-only file system cp: cannot create /usr/kernel/drv/cc.conf: Read-only file system [Adding CAMAC device driver to system] [Configuring CAMAC device driver] [Making CAMAC device files] frc7v-cl2# ls -l /dev/cc lrwxrwxrwx 1 root other 69 Apr 21 1999 /dev/cc -> /devices/iommu@ 0,10000000/sbus@0,10001000/VME@5,ffffe00/cc@2d,ff00:cc frc7v-cl2# (5). サンプル・プログラム再実行 (5-1). cam1、シングル・アクション 24ビット camac read/write の実行 frc7v-cl2[42]% cam1 5 Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:000000(Hex) 00000000(Dec) Input n a f (data)>3 0 16 8888 N=3 A=0 F=16 Q=1 X=1 Data:0022B8(Hex) 00008888(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:0022B8(Hex) 00008888(Dec) Input n a f (data)>3 0 16 1234 N=3 A=0 F=16 Q=1 X=1 Data:0004D2(Hex) 00001234(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:0004D2(Hex) 00001234(Dec) frc7v-cl2[43]% frc7v-cl2[43]% frc7v-cl2[43]% cam1 Input n a f (data)>3 0 16 555 N=3 A=0 F=16 Q=1 X=1 Data:00022B(Hex) 00000555(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:00022B(Hex) 00000555(Dec) Input n a f (data)>3 0 16 7777 N=3 A=0 F=16 Q=1 X=1 Data:001E61(Hex) 00007777(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:001E61(Hex) 00007777(Dec) Input n a f (data)>^Cfrc7v-cl2[44]% frc7v-cl2[44]% frc7v-cl2[44]% frc7v-cl2[44]% cam1 5 Input n a f (data)>3 0 16 789 N=3 A=0 F=16 Q=1 X=1 Data:000315(Hex) 00000789(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:000315(Hex) 00000789(Dec) Input n a f (data)>3 0 16 543 N=3 A=0 F=16 Q=1 X=1 Data:00021F(Hex) 00000543(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:00021F(Hex) 00000543(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:00021F(Hex) 00000543(Dec) frc7v-cl2[45]% ok. cam1、シングル・アクション 24ビット camac read/write は正常に 実行できた。 (5-2). cam3、camac LAM割り込み処理の実行 frc7v-cl2[45]% cam3 *** Now waiting LAM ... N=3 Loop=10 Timeout=0 sec Interrupted !! count=1 Interrupted !! count=2 Interrupted !! count=3 Interrupted !! count=4 Interrupted !! count=5 Interrupted !! count=6 Interrupted !! count=7 Interrupted !! count=8 Interrupted !! count=9 Interrupted !! count=10 *** cam3 nomal end. frc7v-cl2[46]% cam3 *** Now waiting LAM ... N=3 Loop=10 Timeout=0 sec Interrupted !! count=1 Timeout !! count=2 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=3 Interrupted !! count=4 Timeout !! count=5 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=6 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=7 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=8 Timeout !! count=9 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=10 *** cam3 nomal end. frc7v-cl2[47]% cam3 *** Now waiting LAM ... N=3 Loop=10 Timeout=0 sec Timeout !! count=1 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=2 Interrupted !! count=3 Timeout !! count=4 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=5 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=6 Timeout !! count=7 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=8 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=9 Timeout !! count=10 <-- ここで、故意にタイムアウトを起こしてみた。 *** cam3 nomal end. frc7v-cl2[48]% ok. cam3、camac割り込み処理は timeout処理も含めて正常に実行できた。 (5-3). cam2、ブロック転送 16ビット read/write の実行 frc7v-cl2[48]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 0 0x 0(Hex) Data( 2)= 0 0x 0(Hex) Data( 3)= 0 0x 0(Hex) Data( 4)= 0 0x 0(Hex) Data( 5)= 0 0x 0(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >555 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 555 0x 22B(Hex) Data( 2)= 555 0x 22B(Hex) Data( 3)= 555 0x 22B(Hex) Data( 4)= 555 0x 22B(Hex) Data( 5)= 555 0x 22B(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 555 0x 22B(Hex) Data( 2)= 555 0x 22B(Hex) Data( 3)= 555 0x 22B(Hex) Data( 4)= 555 0x 22B(Hex) Data( 5)= 555 0x 22B(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >789 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 789 0x 315(Hex) Data( 2)= 789 0x 315(Hex) Data( 3)= 789 0x 315(Hex) Data( 4)= 789 0x 315(Hex) Data( 5)= 789 0x 315(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 789 0x 315(Hex) Data( 2)= 789 0x 315(Hex) Data( 3)= 789 0x 315(Hex) Data( 4)= 789 0x 315(Hex) Data( 5)= 789 0x 315(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) frc7v-cl2[49]% frc7v-cl2[49]% frc7v-cl2[49]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 16 Input data >6789 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 6789 0x 1A85(Hex) Data( 2)= 6789 0x 1A85(Hex) Data( 3)= 6789 0x 1A85(Hex) Data( 4)= 6789 0x 1A85(Hex) Data( 5)= 6789 0x 1A85(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >2345 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 2345 0x 929(Hex) Data( 2)= 2345 0x 929(Hex) Data( 3)= 2345 0x 929(Hex) Data( 4)= 2345 0x 929(Hex) Data( 5)= 2345 0x 929(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 2345 0x 929(Hex) Data( 2)= 2345 0x 929(Hex) Data( 3)= 2345 0x 929(Hex) Data( 4)= 2345 0x 929(Hex) Data( 5)= 2345 0x 929(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >5467 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 5467 0x 155B(Hex) Data( 2)= 5467 0x 155B(Hex) Data( 3)= 5467 0x 155B(Hex) Data( 4)= 5467 0x 155B(Hex) Data( 5)= 5467 0x 155B(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 5467 0x 155B(Hex) Data( 2)= 5467 0x 155B(Hex) Data( 3)= 5467 0x 155B(Hex) Data( 4)= 5467 0x 155B(Hex) Data( 5)= 5467 0x 155B(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) frc7v-cl2[50]% frc7v-cl2[50]% frc7v-cl2[50]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 16 Input data >2345 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 2345 0x 929(Hex) Data( 2)= 2345 0x 929(Hex) Data( 3)= 2345 0x 929(Hex) Data( 4)= 2345 0x 929(Hex) Data( 5)= 2345 0x 929(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >8796 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 8796 0x 225C(Hex) Data( 2)= 8796 0x 225C(Hex) Data( 3)= 8796 0x 225C(Hex) Data( 4)= 8796 0x 225C(Hex) Data( 5)= 8796 0x 225C(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >7654 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 7654 0x 1DE6(Hex) Data( 2)= 7654 0x 1DE6(Hex) Data( 3)= 7654 0x 1DE6(Hex) Data( 4)= 7654 0x 1DE6(Hex) Data( 5)= 7654 0x 1DE6(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 7654 0x 1DE6(Hex) Data( 2)= 7654 0x 1DE6(Hex) Data( 3)= 7654 0x 1DE6(Hex) Data( 4)= 7654 0x 1DE6(Hex) Data( 5)= 7654 0x 1DE6(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 7654 0x 1DE6(Hex) Data( 2)= 7654 0x 1DE6(Hex) Data( 3)= 7654 0x 1DE6(Hex) Data( 4)= 7654 0x 1DE6(Hex) Data( 5)= 7654 0x 1DE6(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) frc7v-cl2[51]% ok. cam2、ブロック転送 16ビット read/write は正常に実行できた。 (5-4). cam2、ブロック転送 24ビット read/write の実行 frc7v-cl2[51]% cam2 Input transfer mode (1:word 2:long word) >2 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= -16777216 0x FF000000(Hex) Data( 2)= -16777216 0x FF000000(Hex) Data( 3)= -16777216 0x FF000000(Hex) Data( 4)= -16777216 0x FF000000(Hex) Data( 5)= -16777216 0x FF000000(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >6636321 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 6636321 0x 654321(Hex) Data( 2)= 6636321 0x 654321(Hex) Data( 3)= 6636321 0x 654321(Hex) Data( 4)= 6636321 0x 654321(Hex) Data( 5)= 6636321 0x 654321(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= -10140895 0x FF654321(Hex) Data( 2)= -10140895 0x FF654321(Hex) Data( 3)= -10140895 0x FF654321(Hex) Data( 4)= -10140895 0x FF654321(Hex) Data( 5)= -10140895 0x FF654321(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >0 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 0 0x 0(Hex) Data( 2)= 0 0x 0(Hex) Data( 3)= 0 0x 0(Hex) Data( 4)= 0 0x 0(Hex) Data( 5)= 0 0x 0(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= -16777216 0x FF000000(Hex) Data( 2)= -16777216 0x FF000000(Hex) Data( 3)= -16777216 0x FF000000(Hex) Data( 4)= -16777216 0x FF000000(Hex) Data( 5)= -16777216 0x FF000000(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) frc7v-cl2[52]% frc7v-cl2[52]% frc7v-cl2[52]% cam2 Input transfer mode (1:word 2:long word) >2 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 16 Input data >777777 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 777777 0x BDE31(Hex) Data( 2)= 777777 0x BDE31(Hex) Data( 3)= 777777 0x BDE31(Hex) Data( 4)= 777777 0x BDE31(Hex) Data( 5)= 777777 0x BDE31(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= -15999439 0x FF0BDE31(Hex) Data( 2)= -15999439 0x FF0BDE31(Hex) Data( 3)= -15999439 0x FF0BDE31(Hex) Data( 4)= -15999439 0x FF0BDE31(Hex) Data( 5)= -15999439 0x FF0BDE31(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >8888 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 8888 0x 22B8(Hex) Data( 2)= 8888 0x 22B8(Hex) Data( 3)= 8888 0x 22B8(Hex) Data( 4)= 8888 0x 22B8(Hex) Data( 5)= 8888 0x 22B8(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >65438 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 65438 0x FF9E(Hex) Data( 2)= 65438 0x FF9E(Hex) Data( 3)= 65438 0x FF9E(Hex) Data( 4)= 65438 0x FF9E(Hex) Data( 5)= 65438 0x FF9E(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= -16711778 0x FF00FF9E(Hex) Data( 2)= -16711778 0x FF00FF9E(Hex) Data( 3)= -16711778 0x FF00FF9E(Hex) Data( 4)= -16711778 0x FF00FF9E(Hex) Data( 5)= -16711778 0x FF00FF9E(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) frc7v-cl2[53]% frc7v-cl2[53]% frc7v-cl2[53]% cam2 Input transfer mode (1:word 2:long word) >2 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 16 Input data >567894 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 567894 0x 8AA56(Hex) Data( 2)= 567894 0x 8AA56(Hex) Data( 3)= 567894 0x 8AA56(Hex) Data( 4)= 567894 0x 8AA56(Hex) Data( 5)= 567894 0x 8AA56(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >67895 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 67895 0x 10937(Hex) Data( 2)= 67895 0x 10937(Hex) Data( 3)= 67895 0x 10937(Hex) Data( 4)= 67895 0x 10937(Hex) Data( 5)= 67895 0x 10937(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >45673 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 45673 0x B269(Hex) Data( 2)= 45673 0x B269(Hex) Data( 3)= 45673 0x B269(Hex) Data( 4)= 45673 0x B269(Hex) Data( 5)= 45673 0x B269(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= -16731543 0x FF00B269(Hex) Data( 2)= -16731543 0x FF00B269(Hex) Data( 3)= -16731543 0x FF00B269(Hex) Data( 4)= -16731543 0x FF00B269(Hex) Data( 5)= -16731543 0x FF00B269(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= -16731543 0x FF00B269(Hex) Data( 2)= -16731543 0x FF00B269(Hex) Data( 3)= -16731543 0x FF00B269(Hex) Data( 4)= -16731543 0x FF00B269(Hex) Data( 5)= -16731543 0x FF00B269(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) frc7v-cl2[54]% ok. cam2、ブロック転送 24ビット read/write は正常に実行できた。 クライアント側でのデバッグおよびサーバ側でのデバッグの後、 ディスクレス・クライアント、frc7v-cl2 上で camacのサンプル・プログラム o cam1、シングル・アクション 24ビット camac read/write の実行 o cam3、camac LAM割り込み処理の実行 o cam2、ブロック転送 16ビット read/write の実行 o cam2、ブロック転送 24ビット read/write の実行 は、すべて正常に実行できた。 --- (6). セクション (6-1). サブセクション (6-1-1). サブサブセクション