Apr 21, 1999 onl7v2: Server Solaris 2.6、cc ドライバのテスト --- frc8vt上でデバッグ後の cc ドライバの実行#03(その1) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/CAMAC/ onl7v2-sol2.6/frc8vt-step02.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-Q). クライアント側でのデバッグおよびサーバ側でのデバッグ後、 クライアント、frc7v-cl2上で再度サンプルプログラムを実行した。 正常に実行できた。 (2). ここでやるべきこと サーバ Solaris2.6 のシステム、frc8vt および frc7v-cl1、frc7v-cl2上で デバッグ後の camacドライバを使って、デスクトップ Solaris2.6 のシステム onl7v2上で再度サンプルプログラムを実行する。 (3). 配置図 配置図は次のとうり。 Slot Number #1 #2 #3 #4 #5 #6 #7 +----------------------------------------------------+ |+--+ +--+ | || | | | | || | | | | CPU-7V || | | | VME Crate #1 | || | | | | || | | | | || | | | | || | | | | Hard Disk || | | | | +------+ || | | | | | o--------------o | |o | | | | || | || | | +------+ ||o | || | | |+|-+ +|-+ | +-|-----------------------|--------------------------+ | | V V FG Cluster CAMAC クレート#1 スロット#1: SPARC CPU-7V(ホスト名はfrc7v-cl2) このボードにはローカル・ディスクはつないでない。 クレート#1の、スロット#1に挿してあるボードの スタンドアロン・デスクトップ・システムとして 動作している。 スロット#2: 空き スロット#3: 空き スロット#4: 空き スロット#5: 空き スロット#6: 空き スロット#7: K2917 (4). 実行環境の確認 onl7v2[33]% pkginfo | grep FRC system FRCctrl sysconfig driver SPARC/CPU-3CE,5CE,5TE,5V,7V,8V,20V,24V system FRCvme VMEbus Driver CPU-3CE,5CE,5TE,5V,7V,8V,20V,24V Solaris 2.5, 2.6 onl7v2[34]% pkginfo -l FRCvme PKGINST: FRCvme NAME: VMEbus Driver CPU-3CE,5CE,5TE,5V,7V,8V,20V,24V Solaris 2.5, 2.6 CATEGORY: system ARCH: sparc.force VERSION: V2.2.2 BASEDIR: / VENDOR: FORCE COMPUTERS GmbH DESC: Drivers for accessing the VMEbus PSTAMP: Chronos980115135754 INSTDATE: Jan 06 1999 14:37 STATUS: completely installed FILES: 107 installed pathnames 28 directories 28 executables 4014 blocks used (approx) onl7v2[35]% onl7v2[35]% pkginfo -l FRCctrl PKGINST: FRCctrl NAME: sysconfig driver SPARC/CPU-3CE,5CE,5TE,5V,7V,8V,20V,24V CATEGORY: system ARCH: sparc.force VERSION: V1.1 BASEDIR: / VENDOR: FORCE COMPUTERS GmbH DESC: FORCE Board Control Driver PSTAMP: Chronos971010083642 INSTDATE: Jan 06 1999 14:36 STATUS: completely installed FILES: 18 installed pathnames 7 directories 6 executables 236 blocks used (approx) onl7v2[36]% onl7v2[36]% pkginfo -l FRCflash ERROR: information for "FRCflash" was not found onl7v2[37]% onl7v2[37]% /net/onlsun1/home3/local/bin/sysinfo GENERAL INFORMATION Host Name : onl7v2 Host Aliases : Host Address(es) : 130.87.153.109 Host ID : 808bc310 Serial Number : 9159440 Manufacturer : Sun (Sun Microsystems) System Model : CPU 7V Main Memory : 64 MB Virtual Memory : ROM Version : 2.15 CPU Type : sparc Number of CPUs : 1 App Architecture : sparc Kernel Architecture : sun4m OS Name : SunOS OS Version : 5.6 Kernel Version : SunOS Release 5.6 Version Generic [UNIX(R) System V Release 4.0] DEVICE INFORMATION FORCE,CPU-7V is a "SPARC CPU-7V/64-171-X" openprom is a "Open Boot PROM" pseudo device iommu0 is a "I/O Memory Management Unit" system bus sbus0 is a "SBus" system bus VME0 is a "VME Bus (SPARC FGA-5000)" system bus espdma is a "SCSI DMA" pseudo device esp0 is a "Generic SCSI interface" disk controller c0t3d0 (sd3) is a "SDX9105U" 8.4 GB disk drive ledma is a "LANCE Ethernet DMA" pseudo device le0 is a "AMD Lance Am7990" 10Mb/sec Ethernet network interface obio0 is a "On Board I/O" system bus zs0 is a "Zilog 8530" serial communications chip zs1 is a "Zilog 8530" serial communications chip cpu0 is a "171 MHz FMI,MB86907" CPU onl7v2[38]% onl7v2[38]% which cc /kek/compilers/volume5/SUNWspro/bin/cc onl7v2[39]% which f77 /kek/compilers/volume5/SUNWspro/bin/f77 onl7v2[40]% cc -V cc: WorkShop Compilers 4.2.1 04 Feb 1997 C 4.2.1 usage: cc [ options] files. Use 'cc -flags' for details onl7v2[41]% 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 onl7v2[42]% (5). サンプル・プログラムをコンパイル & ロード (5-1). cc.cファイルをコンパイル onl7v2[54]% pwd /export/home/onl7v2/inoue/frc8vt/export-home-frc8vt/inoue/CAMAC/Driver/FORCE-5V-sol2.5 onl7v2[55]% ls -l total 1150 -rw-r--r-- 1 inoue kek 2041 May 23 1997 Makefile -rw-r--r-- 1 inoue kek 2730 Jul 1 1997 README -rwxr-xr-x 1 inoue kek 13952 Apr 21 13:52 cam1* -rw-r--r-- 1 inoue kek 1170 May 13 1997 cam1.c -rwxr-xr-x 1 inoue kek 28972 Apr 21 13:52 cam2* -rw-r--r-- 1 inoue kek 2295 May 22 1997 cam2.f -rw-r--r-- 1 inoue kek 16422 Mar 9 16:29 cam2.nm -rwxr-xr-x 1 inoue kek 14480 Apr 21 13:52 cam3* -rw-r--r-- 1 inoue kek 2055 May 21 1997 cam3.c -rw-r--r-- 1 inoue kek 9740 May 21 1997 camlib.c -rw-r--r-- 1 inoue kek 1415 May 13 1997 camlib.h -rw-r--r-- 1 inoue kek 9532 Apr 21 13:51 camlib.o -rw-r--r-- 1 inoue kek 58868 Apr 21 13:51 cc -rw-r--r-- 1 inoue kek 73426 Apr 19 14:13 cc.c -rw-r--r-- 1 inoue kek 73164 Apr 7 10:36 cc.c-Apr-7-1999-ok -rw-r--r-- 1 inoue kek 73498 Apr 9 10:43 cc.c-Apr-9-1999-bak drwxr-xr-x 2 inoue kek 512 Apr 7 10:36 cc.c-bak/ -rw-r--r-- 1 inoue kek 64403 Jun 2 1997 cc.c-org -rw-r--r-- 1 inoue kek 288 May 13 1997 cc.conf -rw-r--r-- 1 inoue kek 2861 Apr 5 14:42 cc.h -rw-r--r-- 1 inoue kek 2861 Mar 29 14:01 cc.h-Apr-5-1999 -rw-r--r-- 1 inoue kek 2748 May 13 1997 cc.h-org -rwxr----- 1 inoue kek 66215 Feb 18 16:10 cc.new.c* -rw-r--r-- 1 inoue kek 2288 May 13 1997 cc_common.h -rw-r--r-- 1 inoue kek 876 May 13 1997 cc_config.h -rw-r--r-- 1 inoue kek 3289 May 13 1997 forlib.c -rw-r--r-- 1 inoue kek 3484 Apr 21 13:52 forlib.o -rw-r--r-- 1 inoue kek 4058 May 13 1997 k2917.h drwxr-xr-x 10 inoue kek 512 Apr 6 10:52 ktaka/ -rw-r--r-- 1 inoue kek 13876 Apr 21 13:52 libcamac.a -rw-r--r-- 1 inoue kek 8875 Apr 1 09:43 out -rw-r--r-- 1 inoue kek 9033 Apr 1 14:29 out1 -rw-r--r-- 1 inoue kek 1390 Apr 5 14:32 out2 drwxr-xr-x 2 inoue kek 512 Nov 10 1997 script/ onl7v2[56]% onl7v2[56]% make clean \rm -f cc *.o libcamac.a cam1 cam2 cam3 *~ core onl7v2[57]% 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: : cc -O cam3.c -o cam3 -I. -L. -lcamac onl7v2[58]% (5-2). ccドライバをロードし直す onl7v2# pwd /export/home/onl7v2/inoue/frc8vt/export-home-frc8vt/inoue/CAMAC/Driver/FORCE-5V-sol2.5 onl7v2# make unload ./script/cc_unload.sh [Removing CAMAC device driver] [Removing CAMAC device driver from system] [Deleting CAMAC device files] onl7v2# make load ./script/cc_load.sh [Installing CAMAC device driver] [Adding CAMAC device driver to system] [Configuring CAMAC device driver] [Making CAMAC device files] onl7v2# ls -l /dev/cc lrwxrwxrwx 1 root other 69 Apr 21 16:17 /dev/cc -> /devices/iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/cc@2d,ff00:cc onl7v2# (6). サンプル・プログラム再実行 (6-1). cam1、シングル・アクション 24ビット camac read/write の実行 onl7v2[96]% 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) onl7v2[97]% onl7v2[97]% onl7v2[97]% 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)>^Conl7v2[98]% onl7v2[98]% onl7v2[98]% onl7v2[98]% 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) onl7v2[99]% ok. cam1、シングル・アクション 24ビット camac read/write は正常に 実行できた。 (6-2). cam3、camac LAM割り込み処理の実行 onl7v2[99]% 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. onl7v2[100]% 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. onl7v2[101]% 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. onl7v2[102]% ok. cam3、camac割り込み処理は timeout処理も含めて正常に実行できた。 (5-3). cam2、ブロック転送 16ビット read/write の実行 onl7v2[102]% 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) onl7v2[103]% onl7v2[103]% onl7v2[103]% 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) onl7v2[104]% onl7v2[104]% onl7v2[104]% 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) onl7v2[105]% ok. cam2、ブロック転送 16ビット read/write は正常に実行できた。 (5-4). cam2、ブロック転送 24ビット read/write の実行 onl7v2[105]% 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) onl7v2[106]% onl7v2[106]% onl7v2[106]% 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) onl7v2[107]% onl7v2[107]% onl7v2[107]% 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) onl7v2[108]% ok. cam2、ブロック転送 24ビット read/write は正常に実行できた。 サーバ Solaris2.6 のシステム、frc8vt および frc7v-cl1、frc7v-cl2上で デバッグした後、デスクトップ Solaris2.6 のシステム、onl7v2上で 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). サブサブ項目タイトル