Oct 5, 1998 onl7v2: Solaris 2.6 cc ドライバのデバッグ. cc ドライバの実行 ~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/CAMAC-shared/ onl7v2-sol2.6/camac-step02.txt) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 (1). 現状確認 (A). 英語版 Soalris2.6 & VMEドライバ v2.2.2 が届いた。 (B). CPU-7V に Solaris2.6 のシステムをインストールした。 (C). /etc の下の各設定、および /export/home の作成をやった。 (D). Solaris2.6用の VMEドライバ、FRCvme-2.2.2 をインストールした。 (E). camac ライブラリをシェアード・ライブラリ形式で作成し インストールした。 (2). ここでやるべきこと onl7v2 上で ccドライバの動作確認をするために、サンプル・プログラムを 実行する。 (3). 例題プログラムを実行する (3-1). cam1so の実行 camac シングル・アクション read/write をテストする。 onl7v2[95]% pwd /export/home/onl7v2/inoue/CAMAC-shared/FORCE-5V-sol2.5 onl7v2[96]% ls -l total 454 -rw-r--r-- 1 inoue kek 3182 Oct 2 15:33 Makefile -rw-r--r-- 1 inoue kek 2041 May 23 1997 Makefile.org -rw-r--r-- 1 inoue kek 2730 Jul 1 1997 README -rw-r--r-- 1 inoue kek 1170 May 13 1997 cam1.c -rwxr-xr-x 1 inoue kek 7444 Oct 2 15:34 cam1so* -rw-r--r-- 1 inoue kek 2295 May 22 1997 cam2.f -rwxr-xr-x 1 inoue kek 18756 Oct 2 15:34 cam2so* -rw-r--r-- 1 inoue kek 2055 May 21 1997 cam3.c -rwxr-xr-x 1 inoue kek 8284 Oct 2 15:34 cam3so* -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 8064 Oct 2 15:34 camlib1.o -rw-r--r-- 1 inoue kek 54400 Oct 2 15:34 cc -rw-r--r-- 1 inoue kek 64403 Jun 2 1997 cc.c -rw-r--r-- 1 inoue kek 288 May 13 1997 cc.conf -rw-r--r-- 1 inoue kek 2748 May 13 1997 cc.h -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 3492 Oct 2 15:34 forlib1.o -rw-r--r-- 1 inoue kek 4058 May 13 1997 k2917.h lrwxrwxrwx 1 inoue kek 15 Oct 2 15:34 libcamac.so -> ./libcamac. so.1* -rwxr-xr-x 1 inoue kek 14628 Oct 2 15:34 libcamac.so.1* drwxr-xr-x 2 inoue kek 512 Nov 10 1997 script/ onl7v2[97]% cam1so 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 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)>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) onl7v2[99]% (3-2). cam3so の実行 camac LAM 割り込み処理をテストする。 onl7v2[100]% cam3so *** 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[101]% cam3so *** 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[102]% ok. camac LAM 割り込み処理は正常に実行できた。 (3-3). cam2so の実行 camac ブロック転送 read/write(16ビット)をテストする。 onl7v2[103]% cam2so 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[104]% ok. camac ブロック転送 read/write(16ビット)は正常に実行できた。 (3-4). cam2so の実行(その2) camac ブロック転送 read/write(24ビット)をテストする。 onl7v2[104]% cam2so 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[105]% ok. camac ブロック転送 read/write(24ビット)は正常に実行できた。 --- (6). 項目タイトル (6-1). サブ項目タイトル (6-1-1). サブサブ項目タイトル