Jun 30, 1999 onl8v1: Solaris 2.6 cc ドライバのデバッグ. --- onl50t上でデバッグ後の cc ドライバの実行 ~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/CAMAC/ onl8v1-sol2.6/onl50t-step01.txt) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 (1). 現状確認 (A). 株式会社ロジックハウスの白田様より SPARC CPU-50T を借用した。 (B). FORCE,CPU-50(UltraSPARC-IIi 300MHz)、に Solaris2.6 のシステムを インストールした。 (C). /etc の下の各設定、および /export/home の作成をやった。 (D). "Solaris2.6 Hardware: 5/98 SMCC Desktop 日本語版 SPARC版"では ディスクレス・クライアントを設定することはできないことを確認した。 (E). CPU-50T に Solaris2.6用の VMEドライバ、FRCvme-2.3.1 をインストール した。 (F). onl50t に ccドライバをインストールした。 (G). サンプル・プログラムを実行した。 (1). cam1、シングル・アクション 24ビット camac read/write の実行 NG. システムはパニックを起こしてリブートしてしまう。 (2). cam3、camac LAM割り込み処理の実行 NG. システムはパニックを起こしてリブートしてしまう。 (3). cam2、ブロック転送 16ビット read/write の実行 ok. 正常に実行できた。 (4). cam2、ブロック転送 24ビット read/write の実行 ok. 正常に実行できた。 (H). クラッシュ時の savecoreファイルを入手してデバッグを始めた。 (I). cam1プログラムのデバッグ、icc_ioctlルーチンを修正した。 ok. cam1プログラムは正常に実行できた。 (J). cam3プログラムのデバッグを始めた。 camac_s()ルーチンの中で "cc->k->dhr = *dat;" を実行したところでエラーになっている。 message構造体をcc_device構造体の中に入れてみたが改善されない。 (K). cam3プログラムは正常に動作できるようになった。 (L). cam3プログラムのデバッグ時に付加したゴミをはずして最終的な動作確認 をやった。 ok. (M). onl50t 上でデバッグしたcamacドライバをfrc7v-cl2 上で動作確認した。 ok. (N). onl50t 上でデバッグしたcamacドライバを onl7v2、スタンドアロン Solaris2.6 上で動作確認した。 ok. (O). onl50t 上でデバッグしたcamacドライバを frc8vt、ディスクレス・サーバ Solaris2.6 上で動作確認した。 ok. (2). ここでやるべきこと onl50t 上でデバッグしたcamacドライバを onl8v1、スタンドアロン Solaris2.6 のシステム上で動作確認をやる。 (3). onl50t 上のデバッグした cc.cファイル一式を入手、再コンパイル、リロード (3-1). onl50t 上のデバッグした cc.cファイル一式を onlsun1 から入手 onl8v1[41]% pwd /export/home/onl8v1/inoue/CAMAC/Driver/onl50t-debug onl8v1[42]% ls -l total 0 onl8v1[43]% rcp onlsun1:/export/home/onlsun1/inoue/workstation/onl50t/Desktop/onl50t-sol2.6.tar.gz . onl8v1[44]% gzip -d onl50t-sol2.6.tar.gz onl8v1[45]% tar xvf onl50t-sol2.6.tar x FORCE-5V-sol2.5, 0 bytes, 0 tape blocks x FORCE-5V-sol2.5/Makefile, 2041 bytes, 4 tape blocks x FORCE-5V-sol2.5/README, 2730 bytes, 6 tape blocks x FORCE-5V-sol2.5/cam1.c, 1170 bytes, 3 tape blocks x FORCE-5V-sol2.5/cam3.c, 2055 bytes, 5 tape blocks x FORCE-5V-sol2.5/camlib.c, 9740 bytes, 20 tape blocks x FORCE-5V-sol2.5/camlib.h, 1415 bytes, 3 tape blocks x FORCE-5V-sol2.5/cc.c, 78152 bytes, 153 tape blocks x FORCE-5V-sol2.5/cc.conf, 288 bytes, 1 tape blocks x FORCE-5V-sol2.5/cc.h, 2861 bytes, 6 tape blocks x FORCE-5V-sol2.5/cc_common.h, 2288 bytes, 5 tape blocks x FORCE-5V-sol2.5/cc_config.h, 876 bytes, 2 tape blocks x FORCE-5V-sol2.5/forlib.c, 3289 bytes, 7 tape blocks x FORCE-5V-sol2.5/k2917.h, 4058 bytes, 8 tape blocks x FORCE-5V-sol2.5/script, 0 bytes, 0 tape blocks x FORCE-5V-sol2.5/script/cc_build.sh, 234 bytes, 1 tape blocks x FORCE-5V-sol2.5/script/cc_load.sh, 808 bytes, 2 tape blocks x FORCE-5V-sol2.5/script/cc_unload.sh, 270 bytes, 1 tape blocks x FORCE-5V-sol2.5/script/cc_build.gcc.sh, 233 bytes, 1 tape blocks x FORCE-5V-sol2.5/script/cc_link.sh, 528 bytes, 2 tape blocks x FORCE-5V-sol2.5/script/awk2.txt, 37 bytes, 1 tape blocks x FORCE-5V-sol2.5/script/awk1.txt, 66 bytes, 1 tape blocks x FORCE-5V-sol2.5/script/cc_load.sh.org, 611 bytes, 2 tape blocks x FORCE-5V-sol2.5/script/t1, 248 bytes, 1 tape blocks x FORCE-5V-sol2.5/cam2.f, 2295 bytes, 5 tape blocks x FORCE-5V-sol2.5/cam2.nm, 16422 bytes, 33 tape blocks x FORCE-5V-sol2.5/cc, 55524 bytes, 109 tape blocks x FORCE-5V-sol2.5/camlib.o, 9528 bytes, 19 tape blocks x FORCE-5V-sol2.5/forlib.o, 3480 bytes, 7 tape blocks x FORCE-5V-sol2.5/libcamac.a, 13868 bytes, 28 tape blocks x FORCE-5V-sol2.5/cam1, 13944 bytes, 28 tape blocks x FORCE-5V-sol2.5/cc.new.c, 66215 bytes, 130 tape blocks x FORCE-5V-sol2.5/cc.c-org, 64403 bytes, 126 tape blocks x FORCE-5V-sol2.5/out, 8875 bytes, 18 tape blocks x FORCE-5V-sol2.5/cc.c-Apr-7-1999-ok, 73164 bytes, 143 tape blocks x FORCE-5V-sol2.5/out1, 9033 bytes, 18 tape blocks x FORCE-5V-sol2.5/cam2, 29052 bytes, 57 tape blocks x FORCE-5V-sol2.5/out2, 1390 bytes, 3 tape blocks x FORCE-5V-sol2.5/cc.h-Apr-5-1999, 2861 bytes, 6 tape blocks x FORCE-5V-sol2.5/cc.c-Apr-9-1999-bak, 73498 bytes, 144 tape blocks x FORCE-5V-sol2.5/cc.c-diff, 38320 bytes, 75 tape blocks x FORCE-5V-sol2.5/cc.c-bak, 0 bytes, 0 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c-Mar-12-99, 69877 bytes, 137 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c-Mar-19.1999, 68960 bytes, 135 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c-Mar-2-99, 67315 bytes, 132 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c-Mar-23.1999, 67845 bytes, 133 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c-Mar-24-1999, 71537 bytes, 140 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c-Mar-24a-1999, 71660 bytes, 140 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c-Mar-30.1999, 71834 bytes, 141 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c-Mar-8-99, 69265 bytes, 136 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c-Feb-23-99, 66255 bytes, 130 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c.Logichouse, 69351 bytes, 136 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c.diff-Mar19.1999, 8524 bytes, 17 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c-Mar-31-1999, 72520 bytes, 142 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c-Apr-2-1999, 72831 bytes, 143 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c-Apr-5-1999, 72969 bytes, 143 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c-Apr-6-1999, 73077 bytes, 143 tape blocks x FORCE-5V-sol2.5/cc.c-bak/cc.c-debug, 66780 bytes, 131 tape blocks x FORCE-5V-sol2.5/ktaka, 0 bytes, 0 tape blocks x FORCE-5V-sol2.5/ktaka/try, 0 bytes, 0 tape blocks x FORCE-5V-sol2.5/ktaka/try/t69r.dat, 109798 bytes, 215 tape blocks x FORCE-5V-sol2.5/ktaka/try/cc.tar, 74752 bytes, 146 tape blocks x FORCE-5V-sol2.5/ktaka/try/cc.c, 73164 bytes, 143 tape blocks x FORCE-5V-sol2.5/ktaka/old1, 0 bytes, 0 tape blocks x FORCE-5V-sol2.5/ktaka/old1/t46r.dat, 103338 bytes, 202 tape blocks x FORCE-5V-sol2.5/ktaka/old1/cc.tar, 73216 bytes, 143 tape blocks x FORCE-5V-sol2.5/ktaka/old1/cc.c, 71537 bytes, 140 tape blocks x FORCE-5V-sol2.5/ktaka/old2, 0 bytes, 0 tape blocks x FORCE-5V-sol2.5/ktaka/old2/t48r.dat, 103929 bytes, 203 tape blocks x FORCE-5V-sol2.5/ktaka/old2/cc.tar, 73216 bytes, 143 tape blocks x FORCE-5V-sol2.5/ktaka/old2/cc.c, 71660 bytes, 140 tape blocks x FORCE-5V-sol2.5/ktaka/old2/out, 1573 bytes, 4 tape blocks x FORCE-5V-sol2.5/ktaka/old, 0 bytes, 0 tape blocks x FORCE-5V-sol2.5/ktaka/old/camac.tar, 69632 bytes, 136 tape blocks x FORCE-5V-sol2.5/ktaka/old/cc.c, 67770 bytes, 133 tape blocks x FORCE-5V-sol2.5/ktaka/old/t42r.dat, 98083 bytes, 192 tape blocks x FORCE-5V-sol2.5/ktaka/old3, 0 bytes, 0 tape blocks x FORCE-5V-sol2.5/ktaka/old3/t50r.dat, 4421 bytes, 9 tape blocks x FORCE-5V-sol2.5/ktaka/old4, 0 bytes, 0 tape blocks x FORCE-5V-sol2.5/ktaka/old4/t57r.dat, 104392 bytes, 204 tape blocks x FORCE-5V-sol2.5/ktaka/old4/cc.tar, 74240 bytes, 145 tape blocks x FORCE-5V-sol2.5/ktaka/old5, 0 bytes, 0 tape blocks x FORCE-5V-sol2.5/ktaka/old5/t60r.dat, 106065 bytes, 208 tape blocks x FORCE-5V-sol2.5/ktaka/old5/cc.tar, 74240 bytes, 145 tape blocks x FORCE-5V-sol2.5/ktaka/old6, 0 bytes, 0 tape blocks x FORCE-5V-sol2.5/ktaka/old6/t67r.dat, 107792 bytes, 211 tape blocks x FORCE-5V-sol2.5/ktaka/old6/cc.tar, 74752 bytes, 146 tape blocks x FORCE-5V-sol2.5/ktaka/old6/cc.c, 73077 bytes, 143 tape blocks x FORCE-5V-sol2.5/cc.h-org, 2748 bytes, 6 tape blocks x FORCE-5V-sol2.5/cam3, 14476 bytes, 29 tape blocks x FORCE-5V-sol2.5/cam1.c.org, 1170 bytes, 3 tape blocks x FORCE-5V-sol2.5/cam3.c-org, 2055 bytes, 5 tape blocks x FORCE-5V-sol2.5/cc.c-June-23-1999, 74886 bytes, 147 tape blocks x FORCE-5V-sol2.5/cc.c-Jun-28-1999-ok, 78220 bytes, 153 tape blocks x FORCE-5V-sol2.5/cam3.c-Jun-28-1999-bak, 2410 bytes, 5 tape blocks x FORCE-5V-sol2.5/cam1.c-Jun-28-1999-ok, 1374 bytes, 3 tape blocks onl8v1[46]% (3-2). camac ドライバのキットをコンパイルし直す onl8v1[53]% pwd /export/home/onl8v1/inoue/CAMAC/Driver/onl50t-debug/FORCE-5V-sol2.5 onl8v1[54]% which cc /kek/compilers/volume5/SUNWspro/bin/cc onl8v1[55]% cc -V cc: WorkShop Compilers 4.2.1 04 Feb 1997 C 4.2.1 usage: cc [ options] files. Use 'cc -flags' for details onl8v1[56]% which f77 /kek/compilers/volume5/SUNWspro/bin/f77 onl8v1[57]% 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 onl8v1[58]% onl8v1[58]% pwd /export/home/onl8v1/inoue/CAMAC/Driver/onl50t-debug/FORCE-5V-sol2.5 onl8v1[59]% ls Makefile camlib.h cc.h-org README camlib.o cc.new.c* cam1* cc cc_common.h cam1.c cc.c cc_config.h cam1.c-Jun-28-1999-ok cc.c-Apr-7-1999-ok forlib.c cam1.c.org cc.c-Apr-9-1999-bak forlib.o cam2* cc.c-Jun-28-1999-ok k2917.h cam2.f cc.c-June-23-1999 ktaka/ cam2.nm cc.c-bak/ libcamac.a cam3* cc.c-diff out cam3.c cc.c-org out1 cam3.c-Jun-28-1999-bak cc.conf out2 cam3.c-org cc.h script/ camlib.c cc.h-Apr-5-1999 onl8v1[60]% onl8v1[60]% make clean \rm -f cc *.o libcamac.a cam1 cam2 cam3 *~ core onl8v1[61]% 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 onl8v1[62]% onl8v1# pwd /export/home/onl8v1/inoue/CAMAC/Driver/onl50t-debug/FORCE-5V-sol2.5 onl8v1# make install /usr/ucb/install -d /usr/local/vme/camac/include /usr/ucb/install -d /usr/local/vme/camac/lib /usr/ucb/install -m 644 camlib.h cc_config.h cc_common.h cc.h \ k2917.h /usr/local/vme/camac/include /usr/ucb/install -m 644 libcamac.a /usr/local/vme/camac/lib onl8v1# (3-3). ccドライバをロードし直す onl8v1# make unload ./script/cc_unload.sh [Removing CAMAC device driver] [Removing CAMAC device driver from system] [Deleting CAMAC device files] onl8v1# make load ./script/cc_load.sh [Installing CAMAC device driver] [Adding CAMAC device driver to system] [Configuring CAMAC device driver] [Making CAMAC device files] sun4m onl8v1# ls -l /dev/cc lrwxrwxrwx 1 root other 69 Jun 30 14:27 /dev/cc -> /devices/iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/cc@2d,ff00:cc onl8v1# (4). camac例題プログラムを実行 (4-1). cam1、シングル・アクション 24ビット camac read/write の実行 onl8v1[48]% 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 5555 N=3 A=0 F=16 Q=1 X=1 Data:0015B3(Hex) 00005555(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:0015B3(Hex) 00005555(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) onl8v1[49]% onl8v1[49]% 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 987 N=3 A=0 F=16 Q=1 X=1 Data:0003DB(Hex) 00000987(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:0003DB(Hex) 00000987(Dec) Input n a f (data)>3 0 16 333 N=3 A=0 F=16 Q=1 X=1 Data:00014D(Hex) 00000333(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:00014D(Hex) 00000333(Dec) onl8v1[50]% onl8v1[50]% cam1 Input n a f (data)>3 0 16 123 N=3 A=0 F=16 Q=1 X=1 Data:00007B(Hex) 00000123(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:00007B(Hex) 00000123(Dec) Input n a f (data)>3 0 16 8877 N=3 A=0 F=16 Q=1 X=1 Data:0022AD(Hex) 00008877(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:0022AD(Hex) 00008877(Dec) Input n a f (data)>3 0 16 567 N=3 A=0 F=16 Q=1 X=1 Data:000237(Hex) 00000567(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:000237(Hex) 00000567(Dec) Input n a f (data)>^Conl8v1[51]% onl8v1[51]% onl8v1[51]% 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 6543 N=3 A=0 F=16 Q=1 X=1 Data:00198F(Hex) 00006543(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:00198F(Hex) 00006543(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)>^Conl8v1[52]% onl8v1[52]% ok. cam1、シングル・アクション 24ビット camac read/write の実行は正常 に実行できた。 (4-2). cam3、camac LAM割り込み処理の実行 onl8v1[54]% 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. onl8v1[55]% onl8v1[55]% cam3 *** Now waiting LAM ... N=3 Loop=10 Timeout=0 sec Interrupted !! count=1 Interrupted !! count=2 Timeout !! count=3 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=4 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=5 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=6 Interrupted !! count=7 Timeout !! count=8 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=9 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=10 *** cam3 nomal end. onl8v1[56]% onl8v1[56]% cam3 *** Now waiting LAM ... N=3 Loop=10 Timeout=0 sec Timeout !! count=1 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=2 Timeout !! count=3 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=4 Timeout !! count=5 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=6 Interrupted !! count=7 Timeout !! count=8 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=9 Timeout !! count=10 <-- ここで、故意にタイムアウトを起こしてみた。 *** cam3 nomal end. onl8v1[57]% onl8v1[57]% cam3 *** Now waiting LAM ... N=3 Loop=10 Timeout=0 sec Interrupted !! count=1 Interrupted !! count=2 Timeout !! count=3 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=4 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=5 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=6 Timeout !! count=7 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=8 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=9 Interrupted !! count=10 *** cam3 nomal end. onl8v1[58]% ok. cam3、camac LAM割り込み処理は timeout処理も含めて正常に実行できた。 (4-3). cam2、ブロック転送 16ビット read/write の実行 onl8v1[58]% 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 >1234 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 1234 0x 4D2(Hex) Data( 2)= 1234 0x 4D2(Hex) Data( 3)= 1234 0x 4D2(Hex) Data( 4)= 1234 0x 4D2(Hex) Data( 5)= 1234 0x 4D2(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)= 1234 0x 4D2(Hex) Data( 2)= 1234 0x 4D2(Hex) Data( 3)= 1234 0x 4D2(Hex) Data( 4)= 1234 0x 4D2(Hex) Data( 5)= 1234 0x 4D2(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 >9876 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 9876 0x 2694(Hex) Data( 2)= 9876 0x 2694(Hex) Data( 3)= 9876 0x 2694(Hex) Data( 4)= 9876 0x 2694(Hex) Data( 5)= 9876 0x 2694(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)= 9876 0x 2694(Hex) Data( 2)= 9876 0x 2694(Hex) Data( 3)= 9876 0x 2694(Hex) Data( 4)= 9876 0x 2694(Hex) Data( 5)= 9876 0x 2694(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) onl8v1[59]% onl8v1[59]% 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 >6578 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 6578 0x 19B2(Hex) Data( 2)= 6578 0x 19B2(Hex) Data( 3)= 6578 0x 19B2(Hex) Data( 4)= 6578 0x 19B2(Hex) Data( 5)= 6578 0x 19B2(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)= 6578 0x 19B2(Hex) Data( 2)= 6578 0x 19B2(Hex) Data( 3)= 6578 0x 19B2(Hex) Data( 4)= 6578 0x 19B2(Hex) Data( 5)= 6578 0x 19B2(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 >777 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 777 0x 309(Hex) Data( 2)= 777 0x 309(Hex) Data( 3)= 777 0x 309(Hex) Data( 4)= 777 0x 309(Hex) Data( 5)= 777 0x 309(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 0 MODE=1 N= 3 A= 0 F= 0 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) onl8v1[60]% onl8v1[60]% 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 >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 16 Input data >7891 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 7891 0x 1ED3(Hex) Data( 2)= 7891 0x 1ED3(Hex) Data( 3)= 7891 0x 1ED3(Hex) Data( 4)= 7891 0x 1ED3(Hex) Data( 5)= 7891 0x 1ED3(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)= 7891 0x 1ED3(Hex) Data( 2)= 7891 0x 1ED3(Hex) Data( 3)= 7891 0x 1ED3(Hex) Data( 4)= 7891 0x 1ED3(Hex) Data( 5)= 7891 0x 1ED3(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 >2365 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 2365 0x 93D(Hex) Data( 2)= 2365 0x 93D(Hex) Data( 3)= 2365 0x 93D(Hex) Data( 4)= 2365 0x 93D(Hex) Data( 5)= 2365 0x 93D(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)= 2365 0x 93D(Hex) Data( 2)= 2365 0x 93D(Hex) Data( 3)= 2365 0x 93D(Hex) Data( 4)= 2365 0x 93D(Hex) Data( 5)= 2365 0x 93D(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) onl8v1[61]% ok. cam2、ブロック転送 16ビット read/write は正常に実行できた。 (4-4). cam2、ブロック転送 24ビット read/write の実行 onl8v1[61]% 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 >66666 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 66666 0x 1046A(Hex) Data( 2)= 66666 0x 1046A(Hex) Data( 3)= 66666 0x 1046A(Hex) Data( 4)= 66666 0x 1046A(Hex) Data( 5)= 66666 0x 1046A(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)= -16710550 0x FF01046A(Hex) Data( 2)= -16710550 0x FF01046A(Hex) Data( 3)= -16710550 0x FF01046A(Hex) Data( 4)= -16710550 0x FF01046A(Hex) Data( 5)= -16710550 0x FF01046A(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) onl8v1[62]% onl8v1[62]% 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 >77777 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 77777 0x 12FD1(Hex) Data( 2)= 77777 0x 12FD1(Hex) Data( 3)= 77777 0x 12FD1(Hex) Data( 4)= 77777 0x 12FD1(Hex) Data( 5)= 77777 0x 12FD1(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)= -16699439 0x FF012FD1(Hex) Data( 2)= -16699439 0x FF012FD1(Hex) Data( 3)= -16699439 0x FF012FD1(Hex) Data( 4)= -16699439 0x FF012FD1(Hex) Data( 5)= -16699439 0x FF012FD1(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)= -16699439 0x FF012FD1(Hex) Data( 2)= -16699439 0x FF012FD1(Hex) Data( 3)= -16699439 0x FF012FD1(Hex) Data( 4)= -16699439 0x FF012FD1(Hex) Data( 5)= -16699439 0x FF012FD1(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)= -16699439 0x FF012FD1(Hex) Data( 2)= -16699439 0x FF012FD1(Hex) Data( 3)= -16699439 0x FF012FD1(Hex) Data( 4)= -16699439 0x FF012FD1(Hex) Data( 5)= -16699439 0x FF012FD1(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 >7777 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 7777 0x 1E61(Hex) Data( 2)= 7777 0x 1E61(Hex) Data( 3)= 7777 0x 1E61(Hex) Data( 4)= 7777 0x 1E61(Hex) Data( 5)= 7777 0x 1E61(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) onl8v1[63]% onl8v1[63]% 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 >7777 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 7777 0x 1E61(Hex) Data( 2)= 7777 0x 1E61(Hex) Data( 3)= 7777 0x 1E61(Hex) Data( 4)= 7777 0x 1E61(Hex) Data( 5)= 7777 0x 1E61(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)= -16769439 0x FF001E61(Hex) Data( 2)= -16769439 0x FF001E61(Hex) Data( 3)= -16769439 0x FF001E61(Hex) Data( 4)= -16769439 0x FF001E61(Hex) Data( 5)= -16769439 0x FF001E61(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) 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) onl8v1[64]% ok. cam2、ブロック転送 24ビット read/write は正常に実行できた。 onl50t上でのデバッグの後、スタンドアロンの Soalris2.6、onl8v1上で camacのサンプル・プログラムを実行した。 o cam1、シングル・アクション 24ビット camac read/write の実行 o cam3、camac LAM割り込み処理の実行 o cam2、ブロック転送 16ビット read/write の実行 o cam2、ブロック転送 24ビット read/write の実行 は、すべて正常に実行できた。 ---xxxx ここまでやった(継続中) --- (6). セクション (6-1). サブセクション (6-1-1). サブサブセクション