Oct 27, 2000 FORCE CPU-50T、Solaris 2.6用 ccドライバのデバッグ (リスト処理可能なバージョンのキットを使った最終的なテスト) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/CAMAC/ onl50t-sol2.6/Desktop/kit-test-50tlist.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. (P). onl50t 上でデバッグしたcamacドライバを onl8v1、スタンドアロン Solaris2.6 上で動作確認した。 ok. (Q). onl50t 上でデバッグしたcamacドライバを onl5v4、スタンドアロン Solaris2.6 上で動作確認した。 ok. (R). スタンドアロン Solaris2.6、onl50t 上で、シングルアクションの実行 速度を測定時に、camac_s()コールを連続実行すると不正割り込みが かかってしまった。 (S). camac_s()コールを連続実行しても不正割り込みはかからないように なった。 ok. -------------------- リスト処理 (A). 公開版のcamacドライバ、"FORCE-50T-sol2.6" を使ってリスト処理の テストを始める。 (B). KEKリスト処理で camacシングルアクション read/write、LAM割り込み 処理、DMA camacブロック転送の現状確認をした。 (C). Kineticリスト処理で camacシングルアクション read の現状確認をした。 (D). KEKリスト処理、Kineticリスト処理両方をとおしてソースプログラム上で 明らかに問題と思われる部分を修正した。 (E). KEKリスト処理でシングルアクション read/write が正常に実行できて いることを確認した。 (F). KEKリスト処理で DMA camacブロック転送 read が正常に実行できて いることを確認した。 (G). KEKリスト処理で LAM割り込み処理が が正常に実行できていることを確認 した。 (H). KEKリスト処理全般に関連する関数の動作を確認した。 (I). Kineticリストで camacにアクセスする関数が正常に動作するのを確認 した。 (J). Kineticリスト処理で リスト・ファイルのセーブおよびロードができる ことを確認した。 さらに KEKリスト処理の中からKineticリスト処理を 実行できることを確認した。 (K). 配布キットを作成した。 (2). ここでやるべきこと onl50t、デスクトップ・システム上で、リスト処理可能バージョンの配布キット を使って最終的なテストをやる。 (3). onl50t 上でデバッグした cc.cファイル一式を入手、再コンパイル、リロード (3-1). CAMACドライバ・キット FORCE-50T-sol2.6-list を online.kek.jp から入手 onl50t[63]% pwd /export/home/onl50t/inoue/CAMAC/Driver/Kit-test-list onl50t[64]% ls -l total 0 onl50t[65]% ftp online.kek.jp Connected to onlax2.kek.jp. 220 onlax2.kek.jp FTP server (Compaq Tru64 UNIX Version 5.60) ready. Name (online.kek.jp:inoue): anonymous 331 Guest login ok, send ident as password. Password: 230 Guest login ok, access restrictions apply. ftp> cd pub/kek/camac 250 CWD command successful. ftp> dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls (130.87.219.209,32817). total 3454 -rw-r--r-- 1 0 10 1173 Apr 19 1995 122d_to_e.tar.gz -rw-r--r-- 1 0 10 89611 Oct 20 16:14 FORCE-50T-sol2.6-list.tar.Z -rw-r--r-- 1 0 10 48627 Oct 20 16:14 FORCE-50T-sol2.6-list.tar.gz -rw-r--r-- 1 0 10 24125 Jul 26 1999 FORCE-50T-sol2.6.tar.gz -rw-r--r-- 1 0 10 22160 Nov 19 1997 FORCE-5V-sol2.5.tar.gz -rw-r--r-- 1 0 10 2494 Dec 2 1994 README -rw-r--r-- 1 0 10 37083 Oct 20 16:44 SPARC-status.html -rw-r--r-- 1 0 10 21435 Dec 13 1994 camac.sol2-1.30.tar.gz -rw-r--r-- 1 0 10 169539 Aug 18 1993 camac.sparc-1.22b.tar.Z -rw-r--r-- 1 0 10 91662 Aug 18 1993 camac.sparc-1.22b.tar.gz -rw-r--r-- 1 0 10 198417 Aug 19 1993 camac.sparc-1.22c.tar.Z -rw-r--r-- 1 0 10 110755 Aug 19 1993 camac.sparc-1.22c.tar.gz -rw-r--r-- 1 0 10 199103 Sep 4 1993 camac.sparc-1.22d.tar.Z -rw-r--r-- 1 0 10 110752 Sep 4 1993 camac.sparc-1.22d.tar.gz -rw-r--r-- 1 0 10 287493 Apr 20 1995 camacv1.01_decs.tar.Z -rw-r--r-- 1 0 10 231505 Dec 2 1994 camacv1.01_hprt.tar.Z -rw-r--r-- 1 0 10 132002 Dec 2 1994 camacv1.01_hprt.tar.gz -rw-r--r-- 1 0 10 283202 Dec 2 1994 camacv1.0_decs.tar.Z -rw-r--r-- 1 0 10 159495 Dec 2 1994 camacv1.0_decs.tar.gz -rw-r--r-- 1 0 10 216777 Sep 13 1994 camacv1.0_hprt.tar.Z -rw-r--r-- 1 0 10 122114 Sep 13 1994 camacv1.0_hprt.tar.gz -rw-r--r-- 1 0 10 87379 Nov 30 1994 camlib-docs-1.0.tar.Z -rw-r--r-- 1 0 10 51118 Nov 30 1994 camlib-docs-1.0.tar.gz drwxr-xr-x 2 0 10 512 Jul 24 14:08 doc -rw-r--r-- 1 0 10 13589 Jan 17 1995 sparc-3ce.tar.gz -rw-r--r-- 1 0 10 233395 Aug 18 1993 tdaq-1.00.tar.Z -rw-r--r-- 1 0 10 121288 Apr 2 1992 tdaq-1.00.tar.gz -rw-r--r-- 1 0 10 277799 Jan 20 1995 vme-3CE.tar.gz 226 Transfer complete. 2135 bytes received in 0.37 seconds (5.60 Kbytes/s) ftp> binary 200 Type set to I. ftp> get FORCE-50T-sol2.6-list.tar.gz 200 PORT command successful. 150 Opening BINARY mode data connection for FORCE-50T-sol2.6-list.tar.gz (130.87.219.209,32818) (48627 bytes). 226 Transfer complete. local: FORCE-50T-sol2.6-list.tar.gz remote: FORCE-50T-sol2.6-list.tar.gz 48627 bytes received in 0.073 seconds (651.65 Kbytes/s) ftp> quit 221 Goodbye. onl50t[66]% ls -l total 96 -rw-r--r-- 1 inoue kek 48627 Oct 23 09:39 FORCE-50T-sol2.6-list.tar.gz onl50t[67]% gzip -d FORCE-50T-sol2.6-list.tar.gz onl50t[68]% ls -l total 528 -rw-r--r-- 1 inoue kek 254976 Oct 20 16:07 FORCE-50T-sol2.6-list.tar onl50t[69]% tar xvf FORCE-50T-sol2.6-list.tar x FORCE-50T-sol2.6-list, 0 bytes, 0 tape blocks x FORCE-50T-sol2.6-list/Makefile, 2041 bytes, 4 tape blocks x FORCE-50T-sol2.6-list/README, 4099 bytes, 9 tape blocks x FORCE-50T-sol2.6-list/cam1.c, 1170 bytes, 3 tape blocks x FORCE-50T-sol2.6-list/cam2.f, 2295 bytes, 5 tape blocks x FORCE-50T-sol2.6-list/cam3.c, 2055 bytes, 5 tape blocks x FORCE-50T-sol2.6-list/camlib.c, 9803 bytes, 20 tape blocks x FORCE-50T-sol2.6-list/camlib.h, 1415 bytes, 3 tape blocks x FORCE-50T-sol2.6-list/cc.c, 82172 bytes, 161 tape blocks x FORCE-50T-sol2.6-list/cc.conf, 288 bytes, 1 tape blocks x FORCE-50T-sol2.6-list/cc.h, 2829 bytes, 6 tape blocks x FORCE-50T-sol2.6-list/cc_common.h, 2288 bytes, 5 tape blocks x FORCE-50T-sol2.6-list/cc_config.h, 876 bytes, 2 tape blocks x FORCE-50T-sol2.6-list/forlib.c, 3289 bytes, 7 tape blocks x FORCE-50T-sol2.6-list/k2917.h, 4058 bytes, 8 tape blocks x FORCE-50T-sol2.6-list/camasm, 0 bytes, 0 tape blocks x FORCE-50T-sol2.6-list/camasm/Makefile, 448 bytes, 1 tape blocks x FORCE-50T-sol2.6-list/camasm/asm_code.h, 11250 bytes, 22 tape blocks x FORCE-50T-sol2.6-list/camasm/camasm.c, 24762 bytes, 49 tape blocks x FORCE-50T-sol2.6-list/camasm/err_code.h, 1646 bytes, 4 tape blocks x FORCE-50T-sol2.6-list/camasm/camasm, 27536 bytes, 54 tape blocks x FORCE-50T-sol2.6-list/camlist, 0 bytes, 0 tape blocks x FORCE-50T-sol2.6-list/camlist/Makefile, 1415 bytes, 3 tape blocks x FORCE-50T-sol2.6-list/camlist/camtest4c.c, 2151 bytes, 5 tape blocks x FORCE-50T-sol2.6-list/camlist/camtest4single.asm, 603 bytes, 2 tape blocks x FORCE-50T-sol2.6-list/camlist/camtest5c.c, 2040 bytes, 4 tape blocks x FORCE-50T-sol2.6-list/camlist/camtest5c1.c, 2027 bytes, 4 tape blocks x FORCE-50T-sol2.6-list/camlist/camtest4int.asm, 903 bytes, 2 tape blocks x FORCE-50T-sol2.6-list/camlist/camtest5c2.c, 1994 bytes, 4 tape blocks x FORCE-50T-sol2.6-list/camlist/camtest4dma.asm, 709 bytes, 2 tape blocks x FORCE-50T-sol2.6-list/camlist-kine, 0 bytes, 0 tape blocks x FORCE-50T-sol2.6-list/camlist-kine/Makefile, 1296 bytes, 3 tape blocks x FORCE-50T-sol2.6-list/camlist-kine/cam6.c, 1880 bytes, 4 tape blocks x FORCE-50T-sol2.6-list/camlist-kine/cam6.asm, 708 bytes, 2 tape blocks x FORCE-50T-sol2.6-list/camlist-kine/cam6a.c, 1541 bytes, 4 tape blocks x FORCE-50T-sol2.6-list/camlist-kine/cam6b.c, 2983 bytes, 6 tape blocks x FORCE-50T-sol2.6-list/camlist-kine/cam7.c, 2021 bytes, 4 tape blocks x FORCE-50T-sol2.6-list/camlist-kine/cam7a.asm, 322 bytes, 1 tape blocks x FORCE-50T-sol2.6-list/camlist-kine/cam7b.asm, 679 bytes, 2 tape blocks x FORCE-50T-sol2.6-list/camlist-kine/cam7A.c, 2582 bytes, 6 tape blocks x FORCE-50T-sol2.6-list/camlist-kine/cam7aA.asm, 322 bytes, 1 tape blocks x FORCE-50T-sol2.6-list/camlist-kine/cam7bA.asm, 812 bytes, 2 tape blocks x FORCE-50T-sol2.6-list/camlist-kine/cam7cA.asm, 353 bytes, 1 tape blocks x FORCE-50T-sol2.6-list/camlist-kine/cam7B.c, 1753 bytes, 4 tape blocks x FORCE-50T-sol2.6-list/script, 0 bytes, 0 tape blocks x FORCE-50T-sol2.6-list/script/awk1.txt, 66 bytes, 1 tape blocks x FORCE-50T-sol2.6-list/script/awk2.txt, 37 bytes, 1 tape blocks x FORCE-50T-sol2.6-list/script/cc_build.gcc.sh, 233 bytes, 1 tape blocks x FORCE-50T-sol2.6-list/script/cc_build.sh, 234 bytes, 1 tape blocks x FORCE-50T-sol2.6-list/script/cc_link.sh, 528 bytes, 2 tape blocks x FORCE-50T-sol2.6-list/script/cc_load.sh, 808 bytes, 2 tape blocks x FORCE-50T-sol2.6-list/script/cc_unload.sh, 270 bytes, 1 tape blocks onl50t[70]% (3-2). camac ドライバのキットをコンパイルし直す onl50t[70]% which cc /kek/compilers/ws5.0/SUNWspro/bin/cc onl50t[71]% cc -V cc: WorkShop Compilers 5.0 98/12/15 C 5.0 usage: cc [ options] files. Use 'cc -flags' for details onl50t[72]% which f77 /kek/compilers/ws5.0/SUNWspro/bin/f77 onl50t[73]% f77 -V f77: WorkShop Compilers 5.0 98/12/15 FORTRAN 77 5.0 Usage: f77 [ options ] files. Use 'f77 -flags' for details onl50t[74]% onl50t[74]% pwd /export/home/onl50t/inoue/CAMAC/Driver/Kit-test-list onl50t[75]% ls -lR .: total 530 drwxr-xr-x 6 inoue kek 512 Oct 20 16:04 FORCE-50T-sol2.6-list/ -rw-r--r-- 1 inoue kek 254976 Oct 20 16:07 FORCE-50T-sol2.6-list.tar ./FORCE-50T-sol2.6-list: total 256 -rw-r--r-- 1 inoue kek 2041 Jun 23 16:19 Makefile -rw-r--r-- 1 inoue kek 4099 Oct 20 15:35 README -rw-r--r-- 1 inoue kek 1170 Jun 23 16:19 cam1.c -rw-r--r-- 1 inoue kek 2295 Jun 23 16:19 cam2.f -rw-r--r-- 1 inoue kek 2055 Jul 28 09:14 cam3.c drwxr-xr-x 2 inoue kek 512 Oct 20 15:41 camasm/ -rw-r--r-- 1 inoue kek 9803 Oct 3 17:15 camlib.c -rw-r--r-- 1 inoue kek 1415 Jun 23 16:19 camlib.h drwxr-xr-x 2 inoue kek 512 Oct 20 16:05 camlist/ drwxr-xr-x 2 inoue kek 512 Oct 20 16:05 camlist-kine/ -rw-r--r-- 1 inoue kek 82172 Oct 13 10:59 cc.c -rw-r--r-- 1 inoue kek 288 Jun 23 16:19 cc.conf -rw-r--r-- 1 inoue kek 2829 Oct 13 10:59 cc.h -rw-r--r-- 1 inoue kek 2288 Jun 23 16:19 cc_common.h -rw-r--r-- 1 inoue kek 876 Jun 23 16:19 cc_config.h -rw-r--r-- 1 inoue kek 3289 Jun 23 16:19 forlib.c -rw-r--r-- 1 inoue kek 4058 Jun 23 16:19 k2917.h drwxr-xr-x 2 inoue kek 512 Oct 2 16:39 script/ ./FORCE-50T-sol2.6-list/camasm: total 132 -rw-r--r-- 1 inoue kek 448 Jun 28 10:41 Makefile -rw-r--r-- 1 inoue kek 11250 Oct 17 09:30 asm_code.h -rwxr-xr-x 1 inoue kek 27536 Oct 20 15:41 camasm* -rw-r--r-- 1 inoue kek 24762 Jun 28 10:41 camasm.c -rw-r--r-- 1 inoue kek 1646 Jun 28 10:41 err_code.h ./FORCE-50T-sol2.6-list/camlist: total 28 -rw-r--r-- 1 inoue kek 1415 Oct 16 10:45 Makefile -rw-r--r-- 1 inoue kek 2151 Oct 16 11:17 camtest4c.c -rw-r--r-- 1 inoue kek 709 Oct 16 11:45 camtest4dma.asm -rw-r--r-- 1 inoue kek 903 Oct 16 13:58 camtest4int.asm -rw-r--r-- 1 inoue kek 603 Oct 16 14:12 camtest4single.asm -rw-r--r-- 1 inoue kek 2040 Oct 16 14:25 camtest5c.c -rw-r--r-- 1 inoue kek 2027 Oct 16 14:46 camtest5c1.c -rw-r--r-- 1 inoue kek 1994 Oct 16 15:47 camtest5c2.c ./FORCE-50T-sol2.6-list/camlist-kine: total 44 -rw-r--r-- 1 inoue kek 1296 Oct 16 16:30 Makefile -rw-r--r-- 1 inoue kek 708 Oct 17 14:35 cam6.asm -rw-r--r-- 1 inoue kek 1880 Oct 17 14:49 cam6.c -rw-r--r-- 1 inoue kek 1541 Oct 17 15:32 cam6a.c -rw-r--r-- 1 inoue kek 2983 Oct 17 15:39 cam6b.c -rw-r--r-- 1 inoue kek 2021 Oct 17 16:07 cam7.c -rw-r--r-- 1 inoue kek 2582 Oct 17 16:13 cam7A.c -rw-r--r-- 1 inoue kek 1753 Oct 17 16:50 cam7B.c -rw-r--r-- 1 inoue kek 322 Oct 18 09:31 cam7a.asm -rw-r--r-- 1 inoue kek 322 Oct 18 10:24 cam7aA.asm -rw-r--r-- 1 inoue kek 679 Oct 18 10:52 cam7b.asm -rw-r--r-- 1 inoue kek 812 Oct 18 13:43 cam7bA.asm -rw-r--r-- 1 inoue kek 353 Oct 18 14:40 cam7cA.asm ./FORCE-50T-sol2.6-list/script: total 14 -rw-r--r-- 1 inoue kek 66 Oct 18 14:58 awk1.txt -rw-r--r-- 1 inoue kek 37 Oct 18 15:30 awk2.txt -rwxr-xr-x 1 inoue kek 233 Oct 18 15:32 cc_build.gcc.sh* -rwxr-xr-x 1 inoue kek 234 Oct 18 15:33 cc_build.sh* -rwxr-xr-x 1 inoue kek 528 Oct 18 15:36 cc_link.sh* -rwxr-xr-x 1 inoue kek 808 Oct 18 15:39 cc_load.sh* -rwxr-xr-x 1 inoue kek 270 Jun 23 16:19 cc_unload.sh* onl50t[76]% onl50t[103]% ls -l total 530 drwxr-xr-x 6 inoue kek 512 Oct 20 16:04 FORCE-50T-sol2.6-list/ -rw-r--r-- 1 inoue kek 254976 Oct 20 16:07 FORCE-50T-sol2.6-list.tar onl50t[104]% cd FORCE-50T-sol2.6-list /export/home/onl50t/inoue/CAMAC/Driver/Kit-test-list/FORCE-50T-sol2.6-list onl50t[105]% ls -l total 256 -rw-r--r-- 1 inoue kek 2041 Jun 23 16:19 Makefile -rw-r--r-- 1 inoue kek 4099 Oct 20 15:35 README -rw-r--r-- 1 inoue kek 1170 Jun 23 16:19 cam1.c -rw-r--r-- 1 inoue kek 2295 Jun 23 16:19 cam2.f -rw-r--r-- 1 inoue kek 2055 Jul 28 09:14 cam3.c drwxr-xr-x 2 inoue kek 512 Oct 23 09:48 camasm/ -rw-r--r-- 1 inoue kek 9803 Oct 3 17:15 camlib.c -rw-r--r-- 1 inoue kek 1415 Jun 23 16:19 camlib.h drwxr-xr-x 2 inoue kek 512 Oct 20 16:05 camlist/ drwxr-xr-x 2 inoue kek 512 Oct 20 16:05 camlist-kine/ -rw-r--r-- 1 inoue kek 82172 Oct 13 10:59 cc.c -rw-r--r-- 1 inoue kek 288 Jun 23 16:19 cc.conf -rw-r--r-- 1 inoue kek 2829 Oct 13 10:59 cc.h -rw-r--r-- 1 inoue kek 2288 Jun 23 16:19 cc_common.h -rw-r--r-- 1 inoue kek 876 Jun 23 16:19 cc_config.h -rw-r--r-- 1 inoue kek 3289 Jun 23 16:19 forlib.c -rw-r--r-- 1 inoue kek 4058 Jun 23 16:19 k2917.h drwxr-xr-x 2 inoue kek 512 Oct 2 16:39 script/ onl50t[106]% onl50t[106]% make clean \rm -f cc *.o libcamac.a cam1 cam2 cam3 *~ core onl50t[107]% make ./script/cc_build.sh [Building for sun4u] 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 onl50t[108]% onl50t[108]% cd camasm /export/home/onl50t/inoue/CAMAC/Driver/Kit-test-list/FORCE-50T-sol2.6-list/camasm onl50t[109]% make clean rm -f camasm *.obj *.lis *~ *.o core onl50t[110]% make cc -O -o camasm camasm.c "./asm_code.h", line 192: warning: initializer does not fit or is out of range: -1 onl50t[111]% onl50t[111]% cd ../camlist /export/home/onl50t/inoue/CAMAC/Driver/Kit-test-list/FORCE-50T-sol2.6-list/camlist onl50t[112]% make clean rm -f camtest4c camtest5c camtest5c1 camtest5c2 \ camtest4single.obj camtest4dma.obj camtest4int.obj \ core onl50t[113]% make cc -o camtest4c camtest4c.c -I.. -L.. -lcamac cc -o camtest5c camtest5c.c -I.. -L.. -lcamac cc -o camtest5c1 camtest5c1.c -I.. -L.. -lcamac cc -o camtest5c2 camtest5c2.c -I.. -L.. -lcamac ../camasm/camasm camtest4single.asm CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 ../camasm/camasm camtest4dma.asm CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 ../camasm/camasm camtest4int.asm CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 onl50t[114]% onl50t[114]% cd ../camlist-kine /export/home/onl50t/inoue/CAMAC/Driver/Kit-test-list/FORCE-50T-sol2.6-list/camlist-kine onl50t[115]% make clean rm -f cam6 cam6a cam7 cam6b cam7A cam7B *.lis *.obj *~ *.o core *.klist onl50t[116]% make cc cam6.c -o cam6 -I.. -L.. -lcamac ../camasm/camasm cam6 a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 cc cam6a.c -o cam6a -I.. -L.. -lcamac cc cam7.c -o cam7 -I.. -L.. -lcamac ../camasm/camasm cam7a a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 ../camasm/camasm cam7b a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 cc cam6b.c -o cam6b -I.. -L.. -lcamac cc cam7A.c -o cam7A -I.. -L.. -lcamac ../camasm/camasm cam7aA a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 ../camasm/camasm cam7bA a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 ../camasm/camasm cam7cA a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 cc cam7B.c -o cam7B -I.. -L.. -lcamac onl50t[117]% onl50t[117]% cd .. /export/home/onl50t/inoue/CAMAC/Driver/Kit-test-list/FORCE-50T-sol2.6-list onl50t[118]% ls -lR .: total 690 -rw-r--r-- 1 inoue kek 2041 Jun 23 16:19 Makefile -rw-r--r-- 1 inoue kek 4099 Oct 20 15:35 README -rwxr-xr-x 1 inoue kek 14232 Oct 23 09:51 cam1* -rw-r--r-- 1 inoue kek 1170 Jun 23 16:19 cam1.c -rwxr-xr-x 1 inoue kek 104992 Oct 23 09:51 cam2* -rw-r--r-- 1 inoue kek 2295 Jun 23 16:19 cam2.f -rwxr-xr-x 1 inoue kek 14784 Oct 23 09:51 cam3* -rw-r--r-- 1 inoue kek 2055 Jul 28 09:14 cam3.c drwxr-xr-x 2 inoue kek 512 Oct 23 09:51 camasm/ -rw-r--r-- 1 inoue kek 9803 Oct 3 17:15 camlib.c -rw-r--r-- 1 inoue kek 1415 Jun 23 16:19 camlib.h -rw-r--r-- 1 inoue kek 9632 Oct 23 09:51 camlib.o drwxr-xr-x 2 inoue kek 512 Oct 23 09:52 camlist/ drwxr-xr-x 2 inoue kek 1024 Oct 23 09:53 camlist-kine/ -rw-r--r-- 1 inoue kek 48140 Oct 23 09:50 cc -rw-r--r-- 1 inoue kek 82172 Oct 13 10:59 cc.c -rw-r--r-- 1 inoue kek 288 Jun 23 16:19 cc.conf -rw-r--r-- 1 inoue kek 2829 Oct 13 10:59 cc.h -rw-r--r-- 1 inoue kek 2288 Jun 23 16:19 cc_common.h -rw-r--r-- 1 inoue kek 876 Jun 23 16:19 cc_config.h -rw-r--r-- 1 inoue kek 3289 Jun 23 16:19 forlib.c -rw-r--r-- 1 inoue kek 3480 Oct 23 09:51 forlib.o -rw-r--r-- 1 inoue kek 4058 Jun 23 16:19 k2917.h -rw-r--r-- 1 inoue kek 13972 Oct 23 09:51 libcamac.a drwxr-xr-x 2 inoue kek 512 Oct 2 16:39 script/ ./camasm: total 134 -rw-r--r-- 1 inoue kek 448 Jun 28 10:41 Makefile -rw-r--r-- 1 inoue kek 11250 Oct 17 09:30 asm_code.h -rwxr-xr-x 1 inoue kek 28368 Oct 23 09:51 camasm* -rw-r--r-- 1 inoue kek 24762 Jun 28 10:41 camasm.c -rw-r--r-- 1 inoue kek 1646 Jun 28 10:41 err_code.h ./camlist: total 154 -rw-r--r-- 1 inoue kek 1415 Oct 16 10:45 Makefile -rwxr-xr-x 1 inoue kek 15168 Oct 23 09:52 camtest4c* -rw-r--r-- 1 inoue kek 2151 Oct 16 11:17 camtest4c.c -rw-r--r-- 1 inoue kek 709 Oct 16 11:45 camtest4dma.asm -rw-r--r-- 1 inoue kek 405 Oct 23 09:52 camtest4dma.obj -rw-r--r-- 1 inoue kek 903 Oct 16 13:58 camtest4int.asm -rw-r--r-- 1 inoue kek 322 Oct 23 09:52 camtest4int.obj -rw-r--r-- 1 inoue kek 603 Oct 16 14:12 camtest4single.asm -rw-r--r-- 1 inoue kek 195 Oct 23 09:52 camtest4single.obj -rwxr-xr-x 1 inoue kek 15080 Oct 23 09:52 camtest5c* -rw-r--r-- 1 inoue kek 2040 Oct 16 14:25 camtest5c.c -rwxr-xr-x 1 inoue kek 15084 Oct 23 09:52 camtest5c1* -rw-r--r-- 1 inoue kek 2027 Oct 16 14:46 camtest5c1.c -rwxr-xr-x 1 inoue kek 15084 Oct 23 09:52 camtest5c2* -rw-r--r-- 1 inoue kek 1994 Oct 16 15:47 camtest5c2.c ./camlist-kine: total 258 -rw-r--r-- 1 inoue kek 1296 Oct 16 16:30 Makefile -rwxr-xr-x 1 inoue kek 14636 Oct 23 09:53 cam6* -rw-r--r-- 1 inoue kek 708 Oct 17 14:35 cam6.asm -rw-r--r-- 1 inoue kek 1880 Oct 17 14:49 cam6.c -rw-r--r-- 1 inoue kek 1518 Oct 23 09:53 cam6.lis -rw-r--r-- 1 inoue kek 258 Oct 23 09:53 cam6.obj -rwxr-xr-x 1 inoue kek 14376 Oct 23 09:53 cam6a* -rw-r--r-- 1 inoue kek 1541 Oct 17 15:32 cam6a.c -rwxr-xr-x 1 inoue kek 16568 Oct 23 09:53 cam6b* -rw-r--r-- 1 inoue kek 2983 Oct 17 15:39 cam6b.c -rwxr-xr-x 1 inoue kek 14784 Oct 23 09:53 cam7* -rw-r--r-- 1 inoue kek 2021 Oct 17 16:07 cam7.c -rwxr-xr-x 1 inoue kek 15100 Oct 23 09:53 cam7A* -rw-r--r-- 1 inoue kek 2582 Oct 17 16:13 cam7A.c -rwxr-xr-x 1 inoue kek 14552 Oct 23 09:53 cam7B* -rw-r--r-- 1 inoue kek 1753 Oct 17 16:50 cam7B.c -rw-r--r-- 1 inoue kek 322 Oct 18 09:31 cam7a.asm -rw-r--r-- 1 inoue kek 697 Oct 23 09:53 cam7a.lis -rw-r--r-- 1 inoue kek 27 Oct 23 09:53 cam7a.obj -rw-r--r-- 1 inoue kek 322 Oct 18 10:24 cam7aA.asm -rw-r--r-- 1 inoue kek 697 Oct 23 09:53 cam7aA.lis -rw-r--r-- 1 inoue kek 27 Oct 23 09:53 cam7aA.obj -rw-r--r-- 1 inoue kek 679 Oct 18 10:52 cam7b.asm -rw-r--r-- 1 inoue kek 1228 Oct 23 09:53 cam7b.lis -rw-r--r-- 1 inoue kek 90 Oct 23 09:53 cam7b.obj -rw-r--r-- 1 inoue kek 812 Oct 18 13:43 cam7bA.asm -rw-r--r-- 1 inoue kek 1419 Oct 23 09:53 cam7bA.lis -rw-r--r-- 1 inoue kek 111 Oct 23 09:53 cam7bA.obj -rw-r--r-- 1 inoue kek 353 Oct 18 14:40 cam7cA.asm -rw-r--r-- 1 inoue kek 757 Oct 23 09:53 cam7cA.lis -rw-r--r-- 1 inoue kek 48 Oct 23 09:53 cam7cA.obj ./script: total 14 -rw-r--r-- 1 inoue kek 66 Oct 18 14:58 awk1.txt -rw-r--r-- 1 inoue kek 37 Oct 18 15:30 awk2.txt -rwxr-xr-x 1 inoue kek 233 Oct 18 15:32 cc_build.gcc.sh* -rwxr-xr-x 1 inoue kek 234 Oct 18 15:33 cc_build.sh* -rwxr-xr-x 1 inoue kek 528 Oct 18 15:36 cc_link.sh* -rwxr-xr-x 1 inoue kek 808 Oct 18 15:39 cc_load.sh* -rwxr-xr-x 1 inoue kek 270 Jun 23 16:19 cc_unload.sh* onl50t[119]% onl50t# pwd /export/home/onl50t/inoue/CAMAC/Driver/Kit-test-list/FORCE-50T-sol2.6-list onl50t# 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 onl50t# (3-3). camacドライバをロードし直す onl50t# make unload ./script/cc_unload.sh [Removing CAMAC device driver] [Removing CAMAC device driver from system] [Deleting CAMAC device files] onl50t# make load ./script/cc_load.sh [Installing CAMAC device driver] [Adding CAMAC device driver to system] [Configuring CAMAC device driver] [Making CAMAC device files] sun4u onl50t# ls -l /dev/cc lrwxrwxrwx 1 root other 37 Oct 23 09:59 /dev/cc -> /devices/pci@1f,0/vme@5/cc@2d,ff00:cc onl50t# (4). 例題プログラムの実行(その1) (4-1). cam1、シングル・アクション 24ビット camac read/write の実行 onl50t[41]% pwd /export/home/onl50t/inoue/CAMAC/Driver/Kit-test-list/FORCE-50T-sol2.6-list onl50t[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 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) onl50t[43]% onl50t[43]% onl50t[43]% 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)>^Conl50t[44]% onl50t[44]% ok. cam1、シングル・アクション 24ビット camac read/write は正常に 実行できた。 (4-2). cam3、camac LAM割り込み処理の実行 onl50t[44]% 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. onl50t[45]% onl50t[45]% onl50t[45]% onl50t[45]% cam3 *** Now waiting LAM ... N=3 Loop=10 Timeout=0 sec Interrupted !! count=1 Interrupted !! count=2 Interrupted !! count=3 Timeout !! count=4 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=5 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=6 Interrupted !! count=7 Timeout !! count=8 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=9 Interrupted !! count=10 *** cam3 nomal end. onl50t[46]% onl50t[46]% onl50t[46]% 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. onl50t[47]% ok. cam3、camac LAM割り込み処理は timeout処理も含めて正常に実行できた。 (4-3). cam2プログラムの実行 (4-3-1). cam2、ブロック転送 16ビット read/write の実行 onl50t[47]% 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) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[48]% onl50t[48]% onl50t[48]% onl50t[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 16 Input data >6587 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 6587 0x 19BB(Hex) Data( 2)= 6587 0x 19BB(Hex) Data( 3)= 6587 0x 19BB(Hex) Data( 4)= 6587 0x 19BB(Hex) Data( 5)= 6587 0x 19BB(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)= 6587 0x 19BB(Hex) Data( 2)= 6587 0x 19BB(Hex) Data( 3)= 6587 0x 19BB(Hex) Data( 4)= 6587 0x 19BB(Hex) Data( 5)= 6587 0x 19BB(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) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[49]% ok. cam2、ブロック転送 16ビット read/write は正常に実行できた。 (4-3-2). cam2、ブロック転送 24ビット read/write の実行 onl50t[49]% 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) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[50]% onl50t[50]% onl50t[50]% onl50t[50]% 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 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 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= -16776439 0x FF000309(Hex) Data( 2)= -16776439 0x FF000309(Hex) Data( 3)= -16776439 0x FF000309(Hex) Data( 4)= -16776439 0x FF000309(Hex) Data( 5)= -16776439 0x FF000309(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) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[51]% ok. cam2、ブロック転送 24ビット read/write は正常に実行できた。 配布キット "FORCE-50T-sol2.6-list"を使ってonl50t 上で camacの例題 プログラムのテストを行った。 o cam1、シングル・アクション 24ビット camac read/write の実行 o cam3、camac LAM割り込み処理の実行 o cam2、ブロック転送 16ビット read/write の実行 o cam2、ブロック転送 24ビット read/write の実行 は、すべて正常に実行できた。 続いて、KEKリスト処理の例題プログラムの テストを行う。 (5). KEKリスト処理用の例題プログラムの実行(その2) onl50t[54]% pwd /export/home/onl50t/inoue/CAMAC/Driver/Kit-test-list/FORCE-50T-sol2.6-list/camli st onl50t[55]% ls Makefile camtest4int.asm camtest5c.c camtest4c* camtest4int.obj camtest5c1* camtest4c.c camtest4single.asm camtest5c1.c camtest4dma.asm camtest4single.obj camtest5c2* camtest4dma.obj camtest5c* camtest5c2.c onl50t[56]% (5-1). KEKリスト処理でシングルアクション(16ビット/24ビット)read/write を実行 onl50t[56]% cat camtest4single.asm ; File name : camtest4single.asm ; Creation date : July 1992 ; Author : Y.Yasu, Online group, Physics department, KEK ; Modified : July 21, 2000 E.Inoue SW equ 3 ; CAMAC SWITCH REGISTER MEM equ 4 ; CAMAC BUFFER MEMORY MOUDLE INT equ 5 ; CAMAC INTERRUPT REGISTER LEN equ 10 ; 10 words ; MOVE #1,A SETCRATE A SETCRATE #0 GENZ GENC SETI REMI ; READ (0,SW,1) READ.l (0,SW,1) READ (0,SW,1),A MOVE A,(PTR)+ READ.l (0,SW,1),A MOVE.l A,(PTR)+ WRITE #0x5555,(16,SW,0) WRITE #0x80081,(16,SW,0) WRITE.l #0x80082,(16,SW,0) WRITE A,(16,SW,0) WRITE.l A,(16,SW,0) ; STOP end onl50t[57]% onl50t[59]% camtest5c CamReaLIST : OK lenlist = 36 list = 329 1 0 10a ef7a6080 CamLisExeWAIt : OK contents of iosb : iosb.status = fffffff6 iosb.ret_length = 6 iosb.s_reg = f iosb.devinfo = a000 a0 contents of buffer : 5 0 5 5 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 onl50t[60]% ok. KEKリスト処理でのシングルアクション(16ビット/24ビット)read/write は正常に実行できた。 (5-2). KEKリスト処理でLAM割り込み処理を実行 LAM源として、EG&E社製のNIMの "Puls Generator, PG-1900" を使用した。 このモジュールを使って、CAMAC 8 bit Interrupt Registerモジュールの チャンネル1 に繰り返し周期 100ms、パルス幅 2ms のNIM信号を入力した。 onl50t[62]% cat camtest4int.asm ; File name : camtest4int.asm ; Creation date : July 1992 ; Author : Y.Yasu, Online group, Physics department, KEK ; Modified : Jul 31,2000 E.Inoue SW equ 3 ; CAMAC SWITCH REGISTER MEM equ 4 ; CAMAC BUFFER MEMORY MOUDLE INT equ 5 ; CAMAC INTERRUPT REGISTER LEN equ 10 ; 10 words ; SETCRATE #0 GENZ GENC SETI REMI ; MOVE #0x10,A ; INT module's LAM mask. Station # = 5. ENBINT MOVE.l #1000,T NDT (26,INT,0) LOOPIN1 MOVE #0xa,A ; Setting up timeout time. WAITINT ; GENC NDT (9,INT,0) MOVE.l T,A WRITE.l A,(16,SW,0) SUB #1,T BGT #0,LOOPIN1 LOAD COUNT MOVE.l A,(PTR)+ LOAD PTR MOVE.l A,(PTR)+ MOVE.l #1000,T LOOPIN2 MOVE #0xa,A ; Setting up timeout time. WAITEVENT ; GENC NDT (9,INT,0) MOVE.l T,A WRITE.l A,(16,SW,0) SUB #1,T BGT #0,LOOPIN2 LOAD COUNT MOVE.l A,(PTR)+ LOAD PTR MOVE.l A,(PTR)+ DSBINT ; STOP end onl50t[63]% onl50t[63]% camtest5c1 CamReaLIST : OK lenlist = 61 list = 20b 0 10c 10d ef7a6080 CamLisExeWAIt : OK contents of iosb : iosb.status = fffffff6 iosb.ret_length = 8 iosb.s_reg = f iosb.devinfo = a000 a0 contents of buffer : 0 0 0 2 0 3e8 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 onl50t[64]% onl50t[64]% onl50t[64]% camtest5c1 CamReaLIST : OK lenlist = 61 list = 20b 0 10c 10d ef7a6080 CamLisExeWAIt : OK contents of iosb : iosb.status = fffffff6 iosb.ret_length = 8 iosb.s_reg = f iosb.devinfo = a000 a0 contents of buffer : 0 3e8 0 2 0 7d0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 onl50t[65]% ok. インタラプト・モジュールを使った、KEKリスト処理による LAM割り込み 処理は正常に実行できた。 (5-3). KEKリスト処理で DMA camacブロック転送をを実行 onl50t[66]% cat camtest4dma.asm ; File name : camtest4dma.asm ; Creation date : July 1992 ; Author : Y.Yasu, Online group, Physics department, KEK SW equ 3 ; CAMAC SWITCH REGISTER MEM equ 4 ; CAMAC BUFFER MEMORY MOUDLE LEN equ 10 ; 10 words ; SETCRATE #0 GENZ GENC SETI REMI NDT (9,MEM,0) MOVE #LEN,T MOVE #0,A LOOP WRITE A,(16,MEM,0) ADD #1,A SUB #1,T BGT #0,LOOP ; MOVE #1,A QS.l (0,SW,1),#1 QS.l (0,SW,1),A AS.l (0,SW,1),#1 AS.l (0,SW,0),A IGQ.l (0,SW,1),#1 IGQ.l (0,SW,1),A ; MOVE #LEN,A NDT (9,MEM,0) QS (0,MEM,0),#LEN NDT (9,MEM,0) QS (0,MEM,0),A NDT (9,MEM,0) AS (0,MEM,0),#LEN NDT (9,MEM,0) AS (0,MEM,0),A NDT (9,MEM,0) IGQ (0,MEM,0),#LEN NDT (9,MEM,0) IGQ (0,MEM,0),A ; ; STOP end onl50t[67]% onl50t[67]% camtest5c2 CamReaLIST : OK lenlist = 76 list = 20b 0 10c 10d ef7a6080 CamLisExeWAIt : OK contents of iosb : iosb.status = fffffff6 iosb.ret_length = 48 iosb.s_reg = f iosb.devinfo = 800 080 contents of buffer : ff00 5 ff00 5 ff00 5 ff00 0 ff00 5 ff00 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 onl50t[68]% ok. KEKリスト処理による DMA camacブロック転送は正常に実行できた。 (5-4). CamLisLOAD および CamExeWAIt のテスト camtest4single.objファイルを CamLisLOAD および CamExeWAIt関数を使用して KEKリスト処理を行う例題プログラムである。 onl50t[82]% cat camtest4single.asm ; File name : camtest4single.asm ; Creation date : July 1992 ; Author : Y.Yasu, Online group, Physics department, KEK ; Modified : July 21, 2000 E.Inoue SW equ 3 ; CAMAC SWITCH REGISTER MEM equ 4 ; CAMAC BUFFER MEMORY MOUDLE INT equ 5 ; CAMAC INTERRUPT REGISTER LEN equ 10 ; 10 words ; MOVE #1,A SETCRATE A SETCRATE #0 GENZ GENC SETI REMI ; READ (0,SW,1) READ.l (0,SW,1) READ (0,SW,1),A MOVE A,(PTR)+ READ.l (0,SW,1),A MOVE.l A,(PTR)+ WRITE #0x5555,(16,SW,0) WRITE #0x80081,(16,SW,0) WRITE.l #0x80082,(16,SW,0) WRITE A,(16,SW,0) WRITE.l A,(16,SW,0) ; STOP end onl50t[83]% onl50t[84]% camtest4c CAM_Open : Done CamReaLIST : OK lenlist = 36 CamLisLOAD : OK list = 329 1 0 10a ef7a6080 CamExeWAIt : OK contents of iosb : iosb.status = fffffff6 iosb.ret_length = 6 iosb.s_reg = f iosb.devinfo = a000 a0 contents of buffer : 5 0 5 5 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 onl50t[85]% ok. CamLisLOAD および CamExeWAIt関数は正常に機能している。 (6). Kineticリスト処理用の例題プログラムの実行(その3) onl50t[90]% pwd /export/home/onl50t/inoue/CAMAC/Driver/Kit-test-list/FORCE-50T-sol2.6-list/camli st-kine onl50t[91]% ls Makefile cam6a* cam7A* cam7a.obj cam7b.obj cam7cA.obj cam6* cam6a.c cam7A.c cam7aA.asm cam7bA.asm cam6.asm cam6b* cam7B* cam7aA.lis cam7bA.lis cam6.c cam6b.c cam7B.c cam7aA.obj cam7bA.obj cam6.lis cam7* cam7a.asm cam7b.asm cam7cA.asm cam6.obj cam7.c cam7a.lis cam7b.lis cam7cA.lis onl50t[92]% (6-1). kineticリスト処理でシングルアクションおよび DMA転送の実行 この例題プログラムでは次の事項についてテストしている。 (1). 16/24ビットのシングルアクション read/write (2). 16/24ビットの DMA、イグノア Q (3). 16/24ビットの DMA、Qストップ (4). 16/24ビットの DMA、アドレス・スキャン onl50t[94]% cat cam6.asm ***************************************************************** * cam6.ASM 20-FEB-1992 Y.Takeuchi * * Modified : 4-Jul-2000 E.Inoue * * * * camasm cam6 a * ***************************************************************** SW equ 3 ; Switch Register ; IGQ (0,SW,1),#6 NDT (10,SW,0) READ (0,SW,1) READ.l (0,SW,1) WRITE #6,(16,SW,0) WRITE #7,(16,SW,0) WRITE.l #6636321,(16,SW,0) IGQ (0,SW,1),#100 IGQ.l (0,SW,1),#7 IGQ.l (0,SW,1),#100 QS (0,SW,1),#7 QS (0,SW,1),#100 QS.l (0,SW,1),#7 QS.l (0,SW,1),#100 AS (0,SW,1),#1 AS.l (0,SW,1),#1 ; STOP end onl50t[95]% onl50t[96]% cam6 list length = 48 Now execute cam6.obj ... data[ 0]=0x 0 0 usp[ 0]=0x 0 0 usp[ 1]=0x 287 647 data[ 1]=0x 287 647 usp[ 2]=0x 5 5 usp[ 3]=0x 5 5 data[ 2]=0x 5 5 usp[ 4]=0x 5 5 usp[ 5]=0x 5 5 data[ 3]=0x 5 5 usp[ 6]=0x 5 5 usp[ 7]=0x 5 5 data[ 4]=0x 5 5 usp[ 8]=0x 5 5 usp[ 9]=0xff00 65280 data[ 5]=0x 5 5 usp[ 10]=0x 5 5 usp[ 11]=0x 5 5 data[ 6]=0x 5 5 usp[ 12]=0x 5 5 usp[ 13]=0x 5 5 data[ 7]=0x 5 5 usp[ 14]=0x 5 5 usp[ 15]=0x 5 5 data[ 8]=0x 5 5 usp[ 16]=0x 5 5 usp[ 17]=0x 5 5 data[ 9]=0x ff00 65280 usp[ 18]=0x 5 5 usp[ 19]=0x 5 5 onl50t[97]% ok. シングルアクションおよび DMA転送は正常に実行できた。 (6-2). kineticリスト処理でシングルアクションおよび DMA転送の実行(その2) 項目(6-1)での実行時に CKSAVE() 関数でセーブした Kineticリストをここでは CKLOAD()関数でロードして実行する例題プログラムである。 onl50t[102]% cam6a Now execute ---test1--- data[ 0]=0x 287 647 usp[ 0]=0x 0 0 usp[ 1]=0x 287 647 data[ 1]=0x 50005 327685 usp[ 2]=0x 5 5 usp[ 3]=0x 5 5 data[ 2]=0x 50005 327685 usp[ 4]=0x 5 5 usp[ 5]=0x 5 5 data[ 3]=0x 50005 327685 usp[ 6]=0x 5 5 usp[ 7]=0x 5 5 data[ 4]=0x 5ff00 392960 usp[ 8]=0x 5 5 usp[ 9]=0xff00 65280 data[ 5]=0x 50005 327685 usp[ 10]=0x 5 5 usp[ 11]=0x 5 5 data[ 6]=0x 50005 327685 usp[ 12]=0x 5 5 usp[ 13]=0x 5 5 data[ 7]=0x 50005 327685 usp[ 14]=0x 5 5 usp[ 15]=0x 5 5 data[ 8]=0x 50005 327685 usp[ 16]=0x 5 5 usp[ 17]=0x 5 5 data[ 9]=0x 50005 327685 usp[ 18]=0x 5 5 usp[ 19]=0x 5 5 onl50t[103]% ok. 正常に実行できた。 (6-3). kineticリスト処理でシングルアクションおよび DMA転送の実行(その2) 項目(6-2)でやったテストを複数回繰り返した。 CKDEL()関数を使って、 ロードされている kineticリストを途中で一旦削除した後で再ロードして 実行動作確認を行っている。 onl50t[106]% cam6b Now execute ---test1--- data[ 0]=0x 287 647 usp[ 0]=0x 0 0 usp[ 1]=0x 287 647 data[ 1]=0x 50005 327685 usp[ 2]=0x 5 5 usp[ 3]=0x 5 5 data[ 2]=0x 50005 327685 usp[ 4]=0x 5 5 usp[ 5]=0x 5 5 data[ 3]=0x 50005 327685 usp[ 6]=0x 5 5 usp[ 7]=0x 5 5 data[ 4]=0x 5ff00 392960 usp[ 8]=0x 5 5 usp[ 9]=0xff00 65280 data[ 5]=0x 50005 327685 usp[ 10]=0x 5 5 usp[ 11]=0x 5 5 data[ 6]=0x 50005 327685 usp[ 12]=0x 5 5 usp[ 13]=0x 5 5 data[ 7]=0x 50005 327685 usp[ 14]=0x 5 5 usp[ 15]=0x 5 5 data[ 8]=0x 50005 327685 usp[ 16]=0x 5 5 usp[ 17]=0x 5 5 data[ 9]=0x 50005 327685 usp[ 18]=0x 5 5 usp[ 19]=0x 5 5 Now execute ---test1--- data[ 0]=0x 287 647 usp[ 0]=0x 0 0 usp[ 1]=0x 287 647 data[ 1]=0x 50005 327685 usp[ 2]=0x 5 5 usp[ 3]=0x 5 5 data[ 2]=0x 50005 327685 usp[ 4]=0x 5 5 usp[ 5]=0x 5 5 data[ 3]=0x 50005 327685 usp[ 6]=0x 5 5 usp[ 7]=0x 5 5 data[ 4]=0x 5ff00 392960 usp[ 8]=0x 5 5 usp[ 9]=0xff00 65280 data[ 5]=0x 50005 327685 usp[ 10]=0x 5 5 usp[ 11]=0x 5 5 data[ 6]=0x 50005 327685 usp[ 12]=0x 5 5 usp[ 13]=0x 5 5 data[ 7]=0x 50005 327685 usp[ 14]=0x 5 5 usp[ 15]=0x 5 5 data[ 8]=0x 50005 327685 usp[ 16]=0x 5 5 usp[ 17]=0x 5 5 data[ 9]=0x 50005 327685 usp[ 18]=0x 5 5 usp[ 19]=0x 5 5 Now execute ---test1--- data[ 0]=0x 0 0 usp[ 0]=0x 0 0 usp[ 1]=0x 0 0 data[ 1]=0x 0 0 usp[ 2]=0x 0 0 usp[ 3]=0x 0 0 data[ 2]=0x 0 0 usp[ 4]=0x 0 0 usp[ 5]=0x 0 0 data[ 3]=0x 0 0 usp[ 6]=0x 0 0 usp[ 7]=0x 0 0 data[ 4]=0x 0 0 usp[ 8]=0x 0 0 usp[ 9]=0x 0 0 data[ 5]=0x 0 0 usp[ 10]=0x 0 0 usp[ 11]=0x 0 0 data[ 6]=0x 0 0 usp[ 12]=0x 0 0 usp[ 13]=0x 0 0 data[ 7]=0x 0 0 usp[ 14]=0x 0 0 usp[ 15]=0x 0 0 data[ 8]=0x 0 0 usp[ 16]=0x 0 0 usp[ 17]=0x 0 0 data[ 9]=0x 0 0 usp[ 18]=0x 0 0 usp[ 19]=0x 0 0 Now execute ---test1--- data[ 0]=0x 287 647 usp[ 0]=0x 0 0 usp[ 1]=0x 287 647 data[ 1]=0x 50005 327685 usp[ 2]=0x 5 5 usp[ 3]=0x 5 5 data[ 2]=0x 50005 327685 usp[ 4]=0x 5 5 usp[ 5]=0x 5 5 data[ 3]=0x 50005 327685 usp[ 6]=0x 5 5 usp[ 7]=0x 5 5 data[ 4]=0x 5ff00 392960 usp[ 8]=0x 5 5 usp[ 9]=0xff00 65280 data[ 5]=0x 50005 327685 usp[ 10]=0x 5 5 usp[ 11]=0x 5 5 data[ 6]=0x 50005 327685 usp[ 12]=0x 5 5 usp[ 13]=0x 5 5 data[ 7]=0x 50005 327685 usp[ 14]=0x 5 5 usp[ 15]=0x 5 5 data[ 8]=0x 50005 327685 usp[ 16]=0x 5 5 usp[ 17]=0x 5 5 data[ 9]=0x 50005 327685 usp[ 18]=0x 5 5 usp[ 19]=0x 5 5 onl50t[107]% ok. 正常に実行できた。 (6-4). KEKリスト処理の中から kineticリスト処理を実行 2917 のコマンド・メモリ・レジスタにロードしておいた kineticリストを KEKリスト処理プログラムの中から実行する例題プログラムである。 onl50t[109]% cat cam7a.asm ***************************************************************** * cam7a.ASM 29-MAR-1992 Y.Takeuchi * * Modified: 4-Jul-2000 E.Inoue * * * * camasm cam7a a * ***************************************************************** SW equ 3 ; Switch Register ; READ.l (0,SW,1) ; STOP end onl50t[110]% onl50t[110]% cat cam7b.asm ***************************************************************** * cam7b.ASM 29-MAR-1992 Y.Takeuchi * * Modified: 4-Jul-2000 E.Inoue * * * * camasm cam7b a * ***************************************************************** SW equ 3 ; CAMAC SW register ; NDT (10,SW,0) ; Clear LAM READ (0,SW,1) ; Read SW READ (0,SW,1) ; Read SW MOVE #0,A ; Set Klist name to "test1" LOAD TIMER ; Execute Klist READ (0,SW,1) ; Read SW READ (0,SW,1) ; Read SW ; STOP end onl50t[111]% onl50t[113]% cam7 list length = 4 list length = 16 Now execute cam7b.obj ... data[ 0]=0x 50005 327685 usp[ 0]=0x 5 5 usp[ 1]=0x 5 5 data[ 1]=0x 2 2 usp[ 2]=0x 0 0 usp[ 3]=0x 2 2 data[ 2]=0xff000005 4278190085 usp[ 4]=0xff00 65280 usp[ 5]=0x 5 5 data[ 3]=0x 50005 327685 usp[ 6]=0x 5 5 usp[ 7]=0x 5 5 data[ 4]=0x 0 0 usp[ 8]=0x 0 0 usp[ 9]=0x 0 0 data[ 5]=0x 0 0 usp[ 10]=0x 0 0 usp[ 11]=0x 0 0 data[ 6]=0x 0 0 usp[ 12]=0x 0 0 usp[ 13]=0x 0 0 data[ 7]=0x 0 0 usp[ 14]=0x 0 0 usp[ 15]=0x 0 0 data[ 8]=0x 0 0 usp[ 16]=0x 0 0 usp[ 17]=0x 0 0 data[ 9]=0x 0 0 usp[ 18]=0x 0 0 usp[ 19]=0x 0 0 onl50t[114]% ok. 正常に実行できた。 (6-5). KEKリスト処理の中から kineticリスト処理を実行(その2) 複数の kineticリストを、任意に選択実行できるかテストする例題プログラム である。 onl50t[117]% cat cam7aA.asm ***************************************************************** * cam7aA.ASM 29-MAR-1992 Y.Takeuchi * * Modified: 4-Jul-2000 E.Inoue * * * * camasm cam7aA a * ***************************************************************** SW equ 3 ; Switch Register ; READ.l (0,SW,1) ; STOP end onl50t[118]% onl50t[118]% cat cam7cA.asm ***************************************************************** * cam7cA.ASM 29-MAR-1992 Y.Takeuchi * * Modified: 4-Jul-2000 E.Inoue * * * * camasm cam7cA a * ***************************************************************** SW equ 3 ; Switch Register ; READ (0,SW,1) READ (0,SW,1) ; STOP end onl50t[119]% onl50t[119]% cat cam7bA.asm ***************************************************************** * cam7bA.ASM 29-MAR-1992 Y.Takeuchi * * Modified: 4-Jul-2000 E.Inoue * * * * camasm cam7bA a * ***************************************************************** SW equ 3 ; CAMAC SW register ; NDT (10,SW,0) ; Clear LAM READ (0,SW,1) ; Read SW READ (0,SW,1) ; Read SW MOVE #1,A ; Set Klist name to "test1" LOAD TIMER ; Execute Klist READ (0,SW,1) ; Read SW MOVE #0,A ; Set Klist name to "test0" LOAD TIMER ; Execute Klist READ (0,SW,1) ; Read SW ; STOP end onl50t[120]% onl50t[121]% cam7A list length = 4 list length = 6 list length = 20 Now execute cam7bA.obj ... data[ 0]=0x 50005 327685 usp[ 0]=0x 5 5 usp[ 1]=0x 5 5 data[ 1]=0x 2 2 usp[ 2]=0x 0 0 usp[ 3]=0x 2 2 data[ 2]=0x 50005 327685 usp[ 4]=0x 5 5 usp[ 5]=0x 5 5 data[ 3]=0x 50000 327680 usp[ 6]=0x 5 5 usp[ 7]=0x 0 0 data[ 4]=0x 2ff00 196352 usp[ 8]=0x 2 2 usp[ 9]=0xff00 65280 data[ 5]=0x 50005 327685 usp[ 10]=0x 5 5 usp[ 11]=0x 5 5 data[ 6]=0x 0 0 usp[ 12]=0x 0 0 usp[ 13]=0x 0 0 data[ 7]=0x 0 0 usp[ 14]=0x 0 0 usp[ 15]=0x 0 0 data[ 8]=0x 0 0 usp[ 16]=0x 0 0 usp[ 17]=0x 0 0 data[ 9]=0x 0 0 usp[ 18]=0x 0 0 usp[ 19]=0x 0 0 onl50t[122]% ok. 正常に実行できた。 (6-6). KEKリスト処理の中から kineticリスト処理を実行(その3) 項目(6-5)での実行時に CKSAVE() 関数でセーブした複数の Kineticリストを ここではCKLOAD()関数でロードして実行する例題プログラムである。 onl50t[123]% cat cam7bA.asm ***************************************************************** * cam7bA.ASM 29-MAR-1992 Y.Takeuchi * * Modified: 4-Jul-2000 E.Inoue * * * * camasm cam7bA a * ***************************************************************** SW equ 3 ; CAMAC SW register ; NDT (10,SW,0) ; Clear LAM READ (0,SW,1) ; Read SW READ (0,SW,1) ; Read SW MOVE #1,A ; Set Klist name to "test1" LOAD TIMER ; Execute Klist READ (0,SW,1) ; Read SW MOVE #0,A ; Set Klist name to "test0" LOAD TIMER ; Execute Klist READ (0,SW,1) ; Read SW ; STOP end onl50t[124]% onl50t[125]% cam7B list length = 20 Now execute cam7bA.obj ... data[ 0]=0x 50005 327685 usp[ 0]=0x 5 5 usp[ 1]=0x 5 5 data[ 1]=0x 2 2 usp[ 2]=0x 0 0 usp[ 3]=0x 2 2 data[ 2]=0x 50005 327685 usp[ 4]=0x 5 5 usp[ 5]=0x 5 5 data[ 3]=0x 50000 327680 usp[ 6]=0x 5 5 usp[ 7]=0x 0 0 data[ 4]=0x 2ff00 196352 usp[ 8]=0x 2 2 usp[ 9]=0xff00 65280 data[ 5]=0x 50005 327685 usp[ 10]=0x 5 5 usp[ 11]=0x 5 5 data[ 6]=0x 0 0 usp[ 12]=0x 0 0 usp[ 13]=0x 0 0 data[ 7]=0x 0 0 usp[ 14]=0x 0 0 usp[ 15]=0x 0 0 data[ 8]=0x 0 0 usp[ 16]=0x 0 0 usp[ 17]=0x 0 0 data[ 9]=0x 0 0 usp[ 18]=0x 0 0 usp[ 19]=0x 0 0 onl50t[126]% ok. 正常に実行できた。 これで、キット中の例題プログラムによる動作確認は全て正常に終了した。 続いて、DAQ-sig および sun-users(KEK内部)メーリングリストを通して キット利用可能のアナウンスを行う。 ---xxxx ここまでやった(継続中) --- (6). 項目タイトル (6-1). サブ項目タイトル (6-1-1). サブサブ項目タイトル