Sep 25, 1998 pollux: Solaris 2.6 cc ドライバのテスト. cc ドライバの実行 ~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/CAMAC/ pollux-sol2.6/camac-step02.txt) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 (1). 現状確認 (A). 物構研、金谷さんの SPARC CPU-7V の camac システムが動作しない とのこと。 1. camacシングルアクションread/write は正しく実行できる。 2. camac割り込み処理はうまく実行できない。 3. camac DMA read/write はうまく実行できない。 (B). CPUボード、K2917ボード、K3922ボードは正しく動作していることを 確認した。 K2917 は私が使用しているものとは仕様が異なっていたので cc.c を修正して正しく動作するのを確認した。 (C). 上記の(B)で動作確認した CPUボード、K2917ボード、K3922ボードに、 金谷さん所有のシステム・ディスクをつないでサンプル・プログラムを 実行した。 cam1、cam3、cam2 の全て NG。 (D). 金谷さんのシステム・ディスクに英語版 Solaris2.6 をインストール し直した。 (E). /etc の下の各設定、および /export/home の作成をやった。 (F). 7V に Solaris2.6用の VMEドライバ、FRCvme-2.2.2 をインストールした。 (G). 7v に ccドライバをインストールした。 (2). ここでやるべきこと 7v 上で ccドライバの動作確認をするために、サンプル・プログラムを 実行する。 (3). サンプル・プログラムの実行 (3-1). cam1 の実行 onl7v2[39]% pwd /export/home/inoue/CAMAC-rebuild/FORCE-5V-sol2.5 onl7v2[40]% ls -l total 484 -rw-r--r-- 1 inoue staff 2041 May 23 1997 Makefile -rw-r--r-- 1 inoue staff 2730 Jul 1 1997 README -rwxr-xr-x 1 inoue staff 13304 Sep 24 14:45 cam1* -rw-r--r-- 1 inoue staff 1170 May 13 1997 cam1.c -rwxr-xr-x 1 inoue staff 27824 Sep 24 14:45 cam2* -rw-r--r-- 1 inoue staff 2295 May 22 1997 cam2.f -rwxr-xr-x 1 inoue staff 13864 Sep 24 14:45 cam3* -rw-r--r-- 1 inoue staff 2055 May 21 1997 cam3.c -rw-r--r-- 1 inoue staff 9740 May 21 1997 camlib.c -rw-r--r-- 1 inoue staff 1415 May 13 1997 camlib.h -rw-r--r-- 1 inoue staff 9520 Sep 24 14:45 camlib.o -rw-r--r-- 1 inoue staff 54404 Sep 24 14:44 cc -rw-r--r-- 1 inoue staff 64399 Sep 24 14:43 cc.c -rw-r--r-- 1 inoue staff 288 May 13 1997 cc.conf -rw-r--r-- 1 inoue staff 2748 May 13 1997 cc.h -rw-r--r-- 1 inoue staff 2288 May 13 1997 cc_common.h -rw-r--r-- 1 inoue staff 876 May 13 1997 cc_config.h -rw-r--r-- 1 inoue staff 3289 May 13 1997 forlib.c -rw-r--r-- 1 inoue staff 3472 Sep 24 14:45 forlib.o -rw-r--r-- 1 inoue staff 4058 May 13 1997 k2917.h -rw-r--r-- 1 inoue staff 13852 Sep 24 14:45 libcamac.a drwxr-xr-x 2 inoue staff 512 Nov 10 1997 script/ onl7v2[41]% onl7v2[41]% cam1 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 777 N=3 A=0 F=16 Q=1 X=1 Data:000309(Hex) 00000777(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:000309(Hex) 00000777(Dec) Input n a f (data)>3 0 16 0 N=3 A=0 F=16 Q=1 X=1 Data:000000(Hex) 00000000(Dec) 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)>^Conl7v2[42]% onl7v2[42]% ok. 正常終了した。 (3-2). cam3 の実行 onl7v2[42]% 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[43]% cam3 *** Now waiting LAM ... N=3 Loop=10 Timeout=0 sec Interrupted !! count=1 Interrupted !! count=2 Timeout !! count=3 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=4 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=5 Interrupted !! count=6 Timeout !! count=7 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=8 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=9 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=10 *** cam3 nomal end. onl7v2[44]% ok. 正常終了した。 (3-3). cam2 の実行 (3-3-1). 16ビットcamacブロック転送 onl7v2[44]% 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 >17185 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 17185 0x 4321(Hex) Data( 2)= 17185 0x 4321(Hex) Data( 3)= 17185 0x 4321(Hex) Data( 4)= 17185 0x 4321(Hex) Data( 5)= 17185 0x 4321(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)= 17185 0x 4321(Hex) Data( 2)= 17185 0x 4321(Hex) Data( 3)= 17185 0x 4321(Hex) Data( 4)= 17185 0x 4321(Hex) Data( 5)= 17185 0x 4321(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)= 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) onl7v2[45]% ok. 16ビット camacブロック転送(read/write)は正常に実行できた。 (3-3-2). 24ビットcamacブロック転送 onl7v2[46]% 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[47]% ok. 24ビット camacブロック転送(read/write)は正常に実行できた。 --- (6). 項目タイトル (6-1). サブ項目タイトル (6-1-1). サブサブ項目タイトル