Jan 17, 2002 FORCE CPU-50T、Solaris 7 用 ccドライバのデバッグ (リスト処理可能なバージョンのキットを使った最終的なテスト) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/CAMAC/ onl50t-sol7/Desktop/kit-test-50t-list.txt) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 (1). 現状確認 (A). SPARC CPU-50T、Solaris7 が届いた。 (B). FORCE,CPU-50(UltraSPARC-IIi 300MHz)、に Solaris 7 のシステムを インストールした。 (C). /etc の下のシステム設定の途中、同一SCSIケーブル上に narrow の ディスクと wide のディスクを混在してつないだらシステムが立ち 上がらなくなってしまった。 (D). wide のディスクを narrow のディスクに替えてもらった。 (E). FORCE,CPU-50(UltraSPARC-IIi 300MHz)、に Solaris 7 のシステムを 再インストールした。 (F). /etc の下の各設定、および /export/home の作成をやった。 (G). CPU-50T に Solaris7用の VMEドライバ、FRCvme-2.4.1 をインストール (H). onl50t に ccドライバを make load しようとしたが、64ビット対応に なっていないために組み込めない。 (I). Solaris7、32ビット・カーネルで onl50t を起動して camacドライバを 組み込んだ。 (J). onl50t、Solaris7 で 32ビット・カーネルの下での camacドライバの 動作確認をやった。 正常に実行できた。 (K). Solaris7、32ビット・カーネルの下で、シングルアクション、割り込み を実行した時のデータ転送速度は正常に測定できたが、ブロック転送の データ転送速度を測定時にシステムがフリーズしてしまった。 (L). 32ビットカーネルを使ってブロック転送を実行すると、複数ワードの データ転送時にフリーズすることがある、この時 camacドライバに制御 が移っていないことを確認した。 (M). ドライバプログラムを64ビット対応にするために必要な作業について調 べた。 (N). lintを使ってcamacドライバプログラムをチェック。 camacドライバを    ロード、アンロードできるようになった。 (O). 64ビット・カーネルの下での camacドライバの動作確認をやった。    シングルアクションR/W はNG。 LAM割り込み処理はNG。 ブロック転送は    確認していない。 (P). CGENC、CGENZ、CGENI、CREMIの実行は正常に実行できるようになった。 (Q). camac シングルアクション read/write の部分をデバッグ中にシステムを 壊してしまった。 (R). Solaris 7 のシステム再インストールした(その2)。 (S). /etc の下の各設定、および /export/home の作成をした(その2)。 (T). VMEドライバ、FRCvme-2.4.1 を再インストールした(その2)。 (U). ccドライバをインストールした(その2)。 (V). camac Z、C が正しく動作できるが、camacシングルアクションread/write がうまく実行できない状況に復旧できた。 (W). camac シングルアクション read/writeは正常に実行できた。 (X). camac LAM割り込み処理の部分をチェック(その1)。 cc_attach()ルーチンを修正した。 camac 割り込み処理は NG. (Y). camac LAM割り込み処理は正常に実行できた。 (Z). camacブロック転送readは正しく実行できた。 camacブロック転送writeはNG. DMAをスタートすると"DMA Buffer Empty" の割り込みがかかってDMAは実行されない。 (2-A). camacブロック転送writeの部分をチェック。 1camacワードの転送以外 は正常に実行できた。 ベータ版としてキットを公開する。 (2-B). 配布キットを作成した。 -------------------- リスト処理 (A). 公開版のcamacドライバ、"FORCE-50T-sol7" を使ってリスト処理の テストを始める。 (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-sol7-list を online.kek.jp から入手 onl50t[64]% pwd /export/home/onl50t/inoue/Kit-test-list onl50t[65]% ls -l total 0 onl50t[66]% 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,33126). total 3882 -rw-r--r-- 1 0 10 1173 Apr 19 1995 122d_to_e.tar.gz -rw-r--r-- 1 0 10 1153 Mar 16 2001 8vt-sol2.6-driver.html -rw-r--r-- 1 0 10 89611 Oct 20 2000 FORCE-50T-sol2.6-list.tar. Z -rw-r--r-- 1 0 10 48627 Oct 20 2000 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 98423 Jan 16 09:50 FORCE-50T-sol7-list.tar.Z -rw-r--r-- 1 0 10 53170 Jan 16 09:50 FORCE-50T-sol7-list.tar.gz -rw-r--r-- 1 0 10 68469 Feb 7 2001 FORCE-50T-sol7.tar.Z -rw-r--r-- 1 0 10 39636 Feb 7 2001 FORCE-50T-sol7.tar.gz -rw-r--r-- 1 0 10 22160 Nov 19 1997 FORCE-5V-sol2.5.tar.gz -rw-r--r-- 1 0 10 76149 Mar 22 2001 FORCE-5V-sol7-list.tar.Z -rw-r--r-- 1 0 10 39333 Mar 22 2001 FORCE-5V-sol7-list.tar.gz -rw-r--r-- 1 0 10 2494 Dec 2 1994 README -rw-r--r-- 1 0 10 39165 Mar 16 2001 SPARC-status-old1.html -rw-r--r-- 1 0 10 40268 Mar 26 2001 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 2000 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. 2768 bytes received in 0.44 seconds (6.15 Kbytes/s) ftp> binary 200 Type set to I. ftp> get FORCE-50T-sol7-list.tar.gz 200 PORT command successful. 150 Opening BINARY mode data connection for FORCE-50T-sol7-list.tar.gz (130.87.2 19.209,33127) (53170 bytes). 226 Transfer complete. local: FORCE-50T-sol7-list.tar.gz remote: FORCE-50T-sol7-list.tar.gz 53170 bytes received in 0.03 seconds (1757.92 Kbytes/s) ftp> quit 221 Goodbye. onl50t[67]% ls -l total 104 -rw-r--r-- 1 inoue kek 53170 Jan 16 10:18 FORCE-50T-sol7-list.tar.gz onl50t[68]% gzip -d FORCE-50T-sol7-list.tar.gz onl50t[69]% ls -l total 656 -rw-r--r-- 1 inoue kek 322560 Jan 16 10:18 FORCE-50T-sol7-list.tar onl50t[70]% tar xvf FORCE-50T-sol7-list.tar x FORCE-50T-sol7-list, 0 bytes, 0 tape blocks x FORCE-50T-sol7-list/Makefile, 2102 bytes, 5 tape blocks x FORCE-50T-sol7-list/README, 4692 bytes, 10 tape blocks x FORCE-50T-sol7-list/cam1.c, 1170 bytes, 3 tape blocks x FORCE-50T-sol7-list/cam2.f, 2336 bytes, 5 tape blocks x FORCE-50T-sol7-list/cam3.c, 2055 bytes, 5 tape blocks x FORCE-50T-sol7-list/camlib.c, 9740 bytes, 20 tape blocks x FORCE-50T-sol7-list/camlib.h, 1415 bytes, 3 tape blocks x FORCE-50T-sol7-list/cc.c, 81531 bytes, 160 tape blocks x FORCE-50T-sol7-list/cc64.c, 93875 bytes, 184 tape blocks x FORCE-50T-sol7-list/cc.conf, 288 bytes, 1 tape blocks x FORCE-50T-sol7-list/cc.h, 2931 bytes, 6 tape blocks x FORCE-50T-sol7-list/cc_common.h, 2288 bytes, 5 tape blocks x FORCE-50T-sol7-list/cc_config.h, 876 bytes, 2 tape blocks x FORCE-50T-sol7-list/forlib.c, 3289 bytes, 7 tape blocks x FORCE-50T-sol7-list/k2917.h, 4058 bytes, 8 tape blocks x FORCE-50T-sol7-list/script, 0 bytes, 0 tape blocks x FORCE-50T-sol7-list/script/awk1.txt, 66 bytes, 1 tape blocks x FORCE-50T-sol7-list/script/awk2.txt, 37 bytes, 1 tape blocks x FORCE-50T-sol7-list/script/cc_build.gcc.sh, 233 bytes, 1 tape blocks x FORCE-50T-sol7-list/script/cc_build.sh, 470 bytes, 1 tape blocks x FORCE-50T-sol7-list/script/cc_link.sh, 833 bytes, 2 tape blocks x FORCE-50T-sol7-list/script/cc_load.sh, 949 bytes, 2 tape blocks x FORCE-50T-sol7-list/script/cc_unload.sh, 404 bytes, 1 tape blocks x FORCE-50T-sol7-list/camasm, 0 bytes, 0 tape blocks x FORCE-50T-sol7-list/camasm/Makefile, 643 bytes, 2 tape blocks x FORCE-50T-sol7-list/camasm/asm_code.h, 11250 bytes, 22 tape blocks x FORCE-50T-sol7-list/camasm/err_code.h, 1646 bytes, 4 tape blocks x FORCE-50T-sol7-list/camasm/camasm.c, 24762 bytes, 49 tape blocks x FORCE-50T-sol7-list/camlist, 0 bytes, 0 tape blocks x FORCE-50T-sol7-list/camlist/Makefile, 1527 bytes, 3 tape blocks x FORCE-50T-sol7-list/camlist/camtest4c.c, 2151 bytes, 5 tape blocks x FORCE-50T-sol7-list/camlist/camtest4dma.asm, 812 bytes, 2 tape blocks x FORCE-50T-sol7-list/camlist/camtest4int.asm, 903 bytes, 2 tape blocks x FORCE-50T-sol7-list/camlist/camtest4single.asm, 603 bytes, 2 tape blocks x FORCE-50T-sol7-list/camlist/camtest5c.c, 2040 bytes, 4 tape blocks x FORCE-50T-sol7-list/camlist/camtest5c1.c, 2027 bytes, 4 tape blocks x FORCE-50T-sol7-list/camlist/camtest5c2.c, 1994 bytes, 4 tape blocks x FORCE-50T-sol7-list/camlist-kine, 0 bytes, 0 tape blocks x FORCE-50T-sol7-list/camlist-kine/Makefile, 1356 bytes, 3 tape blocks x FORCE-50T-sol7-list/camlist-kine/cam6.asm, 708 bytes, 2 tape blocks x FORCE-50T-sol7-list/camlist-kine/cam6.c, 1880 bytes, 4 tape blocks x FORCE-50T-sol7-list/camlist-kine/cam6a.c, 1541 bytes, 4 tape blocks x FORCE-50T-sol7-list/camlist-kine/cam6b.c, 2983 bytes, 6 tape blocks x FORCE-50T-sol7-list/camlist-kine/cam7.c, 2021 bytes, 4 tape blocks x FORCE-50T-sol7-list/camlist-kine/cam7A.c, 2582 bytes, 6 tape blocks x FORCE-50T-sol7-list/camlist-kine/cam7B.c, 1753 bytes, 4 tape blocks x FORCE-50T-sol7-list/camlist-kine/cam7a.asm, 322 bytes, 1 tape blocks x FORCE-50T-sol7-list/camlist-kine/cam7aA.asm, 322 bytes, 1 tape blocks x FORCE-50T-sol7-list/camlist-kine/cam7b.asm, 679 bytes, 2 tape blocks x FORCE-50T-sol7-list/camlist-kine/cam7bA.asm, 812 bytes, 2 tape blocks x FORCE-50T-sol7-list/camlist-kine/cam7cA.asm, 353 bytes, 1 tape blocks onl50t[71]% (3-2). camac ドライバのキットをコンパイルし直す onl50t[78]% which cc /kek/compilers/ws5.0/SUNWspro/bin/cc onl50t[79]% cc -V cc: WorkShop Compilers 5.0 98/12/15 C 5.0 usage: cc [ options] files. Use 'cc -flags' for details onl50t[80]% which f77 /kek/compilers/ws5.0/SUNWspro/bin/f77 onl50t[81]% f77 -V f77: WorkShop Compilers 5.0 98/12/15 FORTRAN 77 5.0 Usage: f77 [ options ] files. Use 'f77 -flags' for details onl50t[82]% onl50t[87]% pwd /export/home/onl50t/inoue/Kit-test-list onl50t[88]% ls -lR .: total 658 drwxr-xr-x 6 inoue kek 512 Jan 15 16:40 FORCE-50T-sol7-list/ -rw-r--r-- 1 inoue kek 322560 Jan 16 10:18 FORCE-50T-sol7-list.tar ./FORCE-50T-sol7-list: total 440 -rw-r--r-- 1 inoue kek 2102 Dec 18 2000 Makefile -rw-r--r-- 1 inoue kek 4692 Jan 15 16:37 README -rw-r--r-- 1 inoue kek 1170 Nov 22 2000 cam1.c -rw-r--r-- 1 inoue kek 2336 Nov 22 2000 cam2.f -rw-r--r-- 1 inoue kek 2055 Nov 22 2000 cam3.c drwxr-xr-x 2 inoue kek 512 Dec 19 14:59 camasm/ -rw-r--r-- 1 inoue kek 9740 Dec 18 2000 camlib.c -rw-r--r-- 1 inoue kek 1415 Nov 22 2000 camlib.h drwxr-xr-x 2 inoue kek 512 Dec 26 16:48 camlist/ drwxr-xr-x 2 inoue kek 512 Dec 19 15:31 camlist-kine/ -rw-r--r-- 1 inoue kek 81531 Feb 5 2001 cc.c -rw-r--r-- 1 inoue kek 288 Nov 22 2000 cc.conf -rw-r--r-- 1 inoue kek 2931 Dec 19 16:56 cc.h -rw-r--r-- 1 inoue kek 93875 Jan 11 14:28 cc64.c -rw-r--r-- 1 inoue kek 2288 Nov 22 2000 cc_common.h -rw-r--r-- 1 inoue kek 876 Nov 22 2000 cc_config.h -rw-r--r-- 1 inoue kek 3289 Nov 22 2000 forlib.c -rw-r--r-- 1 inoue kek 4058 Nov 22 2000 k2917.h drwxr-xr-x 2 inoue kek 512 Dec 19 11:17 script/ ./FORCE-50T-sol7-list/camasm: total 78 -rw-r--r-- 1 inoue kek 643 Jul 23 15:39 Makefile -rw-r--r-- 1 inoue kek 11250 Feb 21 2001 asm_code.h -rw-r--r-- 1 inoue kek 24762 Feb 21 2001 camasm.c -rw-r--r-- 1 inoue kek 1646 Feb 21 2001 err_code.h ./FORCE-50T-sol7-list/camlist: total 28 -rw-r--r-- 1 inoue kek 1527 Jul 23 15:40 Makefile -rw-r--r-- 1 inoue kek 2151 Feb 21 2001 camtest4c.c -rw-r--r-- 1 inoue kek 812 Dec 26 15:42 camtest4dma.asm -rw-r--r-- 1 inoue kek 903 Feb 21 2001 camtest4int.asm -rw-r--r-- 1 inoue kek 603 Jul 26 16:23 camtest4single.asm -rw-r--r-- 1 inoue kek 2040 Feb 21 2001 camtest5c.c -rw-r--r-- 1 inoue kek 2027 Feb 21 2001 camtest5c1.c -rw-r--r-- 1 inoue kek 1994 Feb 21 2001 camtest5c2.c ./FORCE-50T-sol7-list/camlist-kine: total 44 -rw-r--r-- 1 inoue kek 1356 Oct 26 14:29 Makefile -rw-r--r-- 1 inoue kek 708 Nov 20 16:07 cam6.asm -rw-r--r-- 1 inoue kek 1880 Oct 29 10:03 cam6.c -rw-r--r-- 1 inoue kek 1541 Nov 28 11:02 cam6a.c -rw-r--r-- 1 inoue kek 2983 Nov 28 16:19 cam6b.c -rw-r--r-- 1 inoue kek 2021 Dec 3 11:04 cam7.c -rw-r--r-- 1 inoue kek 2582 Dec 10 14:41 cam7A.c -rw-r--r-- 1 inoue kek 1753 Dec 10 15:06 cam7B.c -rw-r--r-- 1 inoue kek 322 Dec 3 11:03 cam7a.asm -rw-r--r-- 1 inoue kek 322 Dec 10 14:41 cam7aA.asm -rw-r--r-- 1 inoue kek 679 Dec 3 11:04 cam7b.asm -rw-r--r-- 1 inoue kek 812 Dec 10 15:06 cam7bA.asm -rw-r--r-- 1 inoue kek 353 Dec 10 14:41 cam7cA.asm ./FORCE-50T-sol7-list/script: total 14 -rw-r--r-- 1 inoue kek 66 Nov 22 2000 awk1.txt -rw-r--r-- 1 inoue kek 37 Nov 22 2000 awk2.txt -rwxr-xr-x 1 inoue kek 233 Nov 22 2000 cc_build.gcc.sh* -rwxr-xr-x 1 inoue kek 470 Jan 18 2001 cc_build.sh* -rwxr-xr-x 1 inoue kek 833 Jan 19 2001 cc_link.sh* -rwxr-xr-x 1 inoue kek 949 Nov 22 2000 cc_load.sh* -rwxr-xr-x 1 inoue kek 404 Nov 22 2000 cc_unload.sh* onl50t[89]% onl50t[90]% ls -l total 658 drwxr-xr-x 6 inoue kek 512 Jan 15 16:40 FORCE-50T-sol7-list/ -rw-r--r-- 1 inoue kek 322560 Jan 16 10:18 FORCE-50T-sol7-list.tar onl50t[91]% cd FORCE-50T-sol7-list /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol7-list onl50t[92]% ls -l total 440 -rw-r--r-- 1 inoue kek 2102 Dec 18 2000 Makefile -rw-r--r-- 1 inoue kek 4692 Jan 15 16:37 README -rw-r--r-- 1 inoue kek 1170 Nov 22 2000 cam1.c -rw-r--r-- 1 inoue kek 2336 Nov 22 2000 cam2.f -rw-r--r-- 1 inoue kek 2055 Nov 22 2000 cam3.c drwxr-xr-x 2 inoue kek 512 Dec 19 14:59 camasm/ -rw-r--r-- 1 inoue kek 9740 Dec 18 2000 camlib.c -rw-r--r-- 1 inoue kek 1415 Nov 22 2000 camlib.h drwxr-xr-x 2 inoue kek 512 Dec 26 16:48 camlist/ drwxr-xr-x 2 inoue kek 512 Dec 19 15:31 camlist-kine/ -rw-r--r-- 1 inoue kek 81531 Feb 5 2001 cc.c -rw-r--r-- 1 inoue kek 288 Nov 22 2000 cc.conf -rw-r--r-- 1 inoue kek 2931 Dec 19 16:56 cc.h -rw-r--r-- 1 inoue kek 93875 Jan 11 14:28 cc64.c -rw-r--r-- 1 inoue kek 2288 Nov 22 2000 cc_common.h -rw-r--r-- 1 inoue kek 876 Nov 22 2000 cc_config.h -rw-r--r-- 1 inoue kek 3289 Nov 22 2000 forlib.c -rw-r--r-- 1 inoue kek 4058 Nov 22 2000 k2917.h drwxr-xr-x 2 inoue kek 512 Dec 19 11:17 script/ onl50t[93]% onl50t[94]% make clean \rm -f cc cc64 *.o libcamac.a cam1 cam2 cam2a cam3 *~ core onl50t[95]% make ./script/cc_build.sh [Building for sun4u] rm -f cc.o cc64.o cc -xarch=v9 -O -c camlib.c -o camlib.o -I. cc -xarch=v9 -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 -xarch=v9 -O cam1.c -o cam1 -I. -L. -lcamac f77 -xarch=v9 -fast -O3 -u cam2.f -o cam2 -I. -L. -lcamac cam2.f: MAIN: cc -xarch=v9 -O cam3.c -o cam3 -I. -L. -lcamac onl50t[96]% onl50t[97]% cd camasm /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol7-list/camasm onl50t[98]% make clean rm -f camasm camasm.o *.obj *.lis *~ *.o core onl50t[99]% make cc -xarch=v9 -O camasm.c -o camasm "./asm_code.h", line 192: warning: initializer does not fit or is out of range: -1 onl50t[100]% onl50t[101]% cd ../camlist /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol7-list/camlist onl50t[102]% make clean rm -f camtest4c camtest5c camtest5c1 camtest5c2 \ camtest4single.obj camtest4dma.obj camtest4int.obj \ core onl50t[103]% make cc -xarch=v9 -o camtest4c camtest4c.c -I.. -L.. -lcamac cc -xarch=v9 -o camtest5c camtest5c.c -I.. -L.. -lcamac cc -xarch=v9 -o camtest5c1 camtest5c1.c -I.. -L.. -lcamac cc -xarch=v9 -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[104]% onl50t[105]% cd ../camlist-kine /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol7-list/camlist-kine onl50t[106]% make clean rm -f cam6 cam6a cam7 cam6b cam7A cam7B *.lis *.obj *~ *.o core *.klist onl50t[107]% make cc -xarch=v9 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 -xarch=v9 cam6a.c -o cam6a -I.. -L.. -lcamac cc -xarch=v9 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 -xarch=v9 cam6b.c -o cam6b -I.. -L.. -lcamac cc -xarch=v9 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 -xarch=v9 cam7B.c -o cam7B -I.. -L.. -lcamac onl50t[108]% onl50t[108]% cd .. /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol7-list onl50t[109]% ls -lR .: total 1030 -rw-r--r-- 1 inoue kek 2102 Dec 18 2000 Makefile -rw-r--r-- 1 inoue kek 4692 Jan 15 16:37 README -rwxr-xr-x 1 inoue kek 20728 Jan 16 13:57 cam1* -rw-r--r-- 1 inoue kek 1170 Nov 22 2000 cam1.c -rwxr-xr-x 1 inoue kek 94000 Jan 16 13:57 cam2* -rw-r--r-- 1 inoue kek 2336 Nov 22 2000 cam2.f -rwxr-xr-x 1 inoue kek 20880 Jan 16 13:57 cam3* -rw-r--r-- 1 inoue kek 2055 Nov 22 2000 cam3.c drwxr-xr-x 2 inoue kek 512 Jan 16 13:59 camasm/ -rw-r--r-- 1 inoue kek 9740 Dec 18 2000 camlib.c -rw-r--r-- 1 inoue kek 1415 Nov 22 2000 camlib.h -rw-r--r-- 1 inoue kek 23120 Jan 16 13:57 camlib.o drwxr-xr-x 2 inoue kek 512 Jan 16 14:00 camlist/ drwxr-xr-x 2 inoue kek 1024 Jan 16 14:01 camlist-kine/ -rw-r--r-- 1 inoue kek 44488 Jan 16 13:57 cc -rw-r--r-- 1 inoue kek 81531 Feb 5 2001 cc.c -rw-r--r-- 1 inoue kek 288 Nov 22 2000 cc.conf -rw-r--r-- 1 inoue kek 2931 Dec 19 16:56 cc.h -rw-r--r-- 1 inoue kek 61096 Jan 16 13:57 cc64 -rw-r--r-- 1 inoue kek 93875 Jan 11 14:28 cc64.c -rw-r--r-- 1 inoue kek 2288 Nov 22 2000 cc_common.h -rw-r--r-- 1 inoue kek 876 Nov 22 2000 cc_config.h -rw-r--r-- 1 inoue kek 3289 Nov 22 2000 forlib.c -rw-r--r-- 1 inoue kek 5080 Jan 16 13:57 forlib.o -rw-r--r-- 1 inoue kek 4058 Nov 22 2000 k2917.h -rw-r--r-- 1 inoue kek 29060 Jan 16 13:57 libcamac.a drwxr-xr-x 2 inoue kek 512 Dec 19 11:17 script/ ./camasm: total 154 -rw-r--r-- 1 inoue kek 643 Jul 23 15:39 Makefile -rw-r--r-- 1 inoue kek 11250 Feb 21 2001 asm_code.h -rwxr-xr-x 1 inoue kek 38616 Jan 16 13:59 camasm* -rw-r--r-- 1 inoue kek 24762 Feb 21 2001 camasm.c -rw-r--r-- 1 inoue kek 1646 Feb 21 2001 err_code.h ./camlist: total 210 -rw-r--r-- 1 inoue kek 1527 Jul 23 15:40 Makefile -rwxr-xr-x 1 inoue kek 22176 Jan 16 14:00 camtest4c* -rw-r--r-- 1 inoue kek 2151 Feb 21 2001 camtest4c.c -rw-r--r-- 1 inoue kek 812 Dec 26 15:42 camtest4dma.asm -rw-r--r-- 1 inoue kek 427 Jan 16 14:00 camtest4dma.obj -rw-r--r-- 1 inoue kek 903 Feb 21 2001 camtest4int.asm -rw-r--r-- 1 inoue kek 322 Jan 16 14:00 camtest4int.obj -rw-r--r-- 1 inoue kek 603 Jul 26 16:23 camtest4single.asm -rw-r--r-- 1 inoue kek 195 Jan 16 14:00 camtest4single.obj -rwxr-xr-x 1 inoue kek 21760 Jan 16 14:00 camtest5c* -rw-r--r-- 1 inoue kek 2040 Feb 21 2001 camtest5c.c -rwxr-xr-x 1 inoue kek 21760 Jan 16 14:00 camtest5c1* -rw-r--r-- 1 inoue kek 2027 Feb 21 2001 camtest5c1.c -rwxr-xr-x 1 inoue kek 21760 Jan 16 14:00 camtest5c2* -rw-r--r-- 1 inoue kek 1994 Feb 21 2001 camtest5c2.c ./camlist-kine: total 332 -rw-r--r-- 1 inoue kek 1356 Oct 26 14:29 Makefile -rwxr-xr-x 1 inoue kek 21136 Jan 16 14:01 cam6* -rw-r--r-- 1 inoue kek 708 Nov 20 16:07 cam6.asm -rw-r--r-- 1 inoue kek 1880 Oct 29 10:03 cam6.c -rw-r--r-- 1 inoue kek 1518 Jan 16 14:01 cam6.lis -rw-r--r-- 1 inoue kek 258 Jan 16 14:01 cam6.obj -rwxr-xr-x 1 inoue kek 20728 Jan 16 14:01 cam6a* -rw-r--r-- 1 inoue kek 1541 Nov 28 11:02 cam6a.c -rwxr-xr-x 1 inoue kek 23280 Jan 16 14:01 cam6b* -rw-r--r-- 1 inoue kek 2983 Nov 28 16:19 cam6b.c -rwxr-xr-x 1 inoue kek 21336 Jan 16 14:01 cam7* -rw-r--r-- 1 inoue kek 2021 Dec 3 11:04 cam7.c -rwxr-xr-x 1 inoue kek 21808 Jan 16 14:01 cam7A* -rw-r--r-- 1 inoue kek 2582 Dec 10 14:41 cam7A.c -rwxr-xr-x 1 inoue kek 20976 Jan 16 14:01 cam7B* -rw-r--r-- 1 inoue kek 1753 Dec 10 15:06 cam7B.c -rw-r--r-- 1 inoue kek 322 Dec 3 11:03 cam7a.asm -rw-r--r-- 1 inoue kek 697 Jan 16 14:01 cam7a.lis -rw-r--r-- 1 inoue kek 27 Jan 16 14:01 cam7a.obj -rw-r--r-- 1 inoue kek 322 Dec 10 14:41 cam7aA.asm -rw-r--r-- 1 inoue kek 697 Jan 16 14:01 cam7aA.lis -rw-r--r-- 1 inoue kek 27 Jan 16 14:01 cam7aA.obj -rw-r--r-- 1 inoue kek 679 Dec 3 11:04 cam7b.asm -rw-r--r-- 1 inoue kek 1228 Jan 16 14:01 cam7b.lis -rw-r--r-- 1 inoue kek 90 Jan 16 14:01 cam7b.obj -rw-r--r-- 1 inoue kek 812 Dec 10 15:06 cam7bA.asm -rw-r--r-- 1 inoue kek 1419 Jan 16 14:01 cam7bA.lis -rw-r--r-- 1 inoue kek 111 Jan 16 14:01 cam7bA.obj -rw-r--r-- 1 inoue kek 353 Dec 10 14:41 cam7cA.asm -rw-r--r-- 1 inoue kek 757 Jan 16 14:01 cam7cA.lis -rw-r--r-- 1 inoue kek 48 Jan 16 14:01 cam7cA.obj ./script: total 14 -rw-r--r-- 1 inoue kek 66 Nov 22 2000 awk1.txt -rw-r--r-- 1 inoue kek 37 Nov 22 2000 awk2.txt -rwxr-xr-x 1 inoue kek 233 Nov 22 2000 cc_build.gcc.sh* -rwxr-xr-x 1 inoue kek 470 Jan 18 2001 cc_build.sh* -rwxr-xr-x 1 inoue kek 833 Jan 19 2001 cc_link.sh* -rwxr-xr-x 1 inoue kek 949 Nov 22 2000 cc_load.sh* -rwxr-xr-x 1 inoue kek 404 Nov 22 2000 cc_unload.sh* onl50t[110]% onl50t# pwd /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol7-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# Jan 16 14:06:55 onl50t unix: CAMAC device driver V4.0x, 1991-1993 by Y.TAKEUCHI (T.I.T.) onl50t# ls -l /dev/cc lrwxrwxrwx 1 root other 37 Jan 16 14:07 /dev/cc -> /devices/pci@1f ,0/vme@5/cc@2d,ff00:cc onl50t# (4). 例題プログラムの実行(その1: 基本処理) (4-1). cam1、シングル・アクション 24ビット camac read/write の実行 onl50t[112]% pwd /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol7-list onl50t[113]% 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[114]% onl50t[114]% onl50t[114]% onl50t[114]% 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[115]% ok. cam1、シングル・アクション 24ビット camac read/write は正常に 実行できた。 (4-2). cam3、camac LAM割り込み処理の実行 onl50t[115]% 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[116]% onl50t[116]% onl50t[116]% onl50t[116]% 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[117]% onl50t[117]% onl50t[117]% onl50t[117]% 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[118]% ok. cam3、camac LAM割り込み処理は timeout処理も含めて正常に実行できた。 (4-3). cam2プログラムの実行 (4-3-1). cam2、ブロック転送 16ビット read/write の実行 onl50t[118]% 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[119]% onl50t[119]% onl50t[119]% onl50t[119]% onl50t[119]% 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[120]% ok. cam2、ブロック転送 16ビット read/write は正常に実行できた。 (4-3-2). cam2、ブロック転送 24ビット read/write の実行 onl50t[120]% 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[121]% onl50t[121]% onl50t[121]% onl50t[121]% onl50t[121]% 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[122]% ok. cam2、ブロック転送 24ビット read/write は正常に実行できた。 配布キット "FORCE-50T-sol7-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). 例題プログラムの実行(その2: KEKリスト処理) onl50t[49]% pwd /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol7-list/camlist onl50t[50]% 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[51]% (5-1). KEKリスト処理でシングルアクション(16ビット/24ビット)read/write を実行 onl50t[51]% 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[52]% onl50t[52]% camtest5c CamReaLIST : OK lenlist = 36 list = 329 1 0 10a 7ffff9fc 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[53]% 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[53]% 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[54]% onl50t[54]% camtest5c1 CamReaLIST : OK lenlist = 61 list = 20b 0 10c 10d 7ffff9fc 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[55]% onl50t[55]% onl50t[55]% onl50t[55]% onl50t[55]% camtest5c1 CamReaLIST : OK lenlist = 61 list = 20b 0 10c 10d 7ffff9fc 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[56]% ok. インタラプト・モジュールを使った、KEKリスト処理による LAM割り込み 処理は正常に実行できた。 (5-3). KEKリスト処理で DMA camacブロック転送を実行 onl50t[56]% 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 MOVE #2,A ; QS.l (0,SW,1),#1 QS.l (0,SW,1),#2 QS.l (0,SW,1),A ; AS.l (0,SW,1),#1 AS.l (0,SW,1),#2 AS.l (0,SW,0),A ; IGQ.l (0,SW,1),#1 IGQ.l (0,SW,1),#2 IGQ.l (0,SW,1),A IGQ (0,SW,1),#2 IGQ (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[57]% onl50t[57]% camtest5c2 CamReaLIST : OK lenlist = 81 list = 20b 0 10c 10d 7ffff9fc CamLisExeWAIt : OK contents of iosb : iosb.status = fffffff6 iosb.ret_length = 58 iosb.s_reg = f iosb.devinfo = 800 080 contents of buffer : ff00 5 ff00 5 ff00 5 ff00 5 ff00 5 ff00 ffff ff00 0 ff00 5 ff00 5 ff00 5 ff00 5 ff00 5 5 5 5 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 onl50t[58]% ok. KEKリスト処理による DMA camacブロック転送は正常に実行できた。 (5-4). CamLisLOAD および CamExeWAIt のテスト camtest4single.objファイルを CamLisLOAD および CamExeWAIt関数を使用して KEKリスト処理を行う例題プログラムである。 onl50t[59]% 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[60]% onl50t[60]% camtest4c CAM_Open : Done CamReaLIST : OK lenlist = 36 CamLisLOAD : OK list = 329 1 0 10a 7ffff9fc 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[61]% ok. CamLisLOAD および CamExeWAIt関数は正常に機能している。 (6). 例題プログラムの実行(その3: Kineticリスト処理) onl50t[67]% pwd /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol7-list/camlist-kine onl50t[68]% 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[69]% (6-1). kineticリスト処理でシングルアクションおよび DMA転送の実行 この例題プログラムでは次の事項についてテストしている。 (1). 16/24ビットのシングルアクション read/write (2). 16/24ビットの DMA、イグノア Q (3). 16/24ビットの DMA、Qストップ (4). 16/24ビットの DMA、アドレス・スキャン onl50t[69]% 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[70]% onl50t[70]% 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[71]% ok. シングルアクションおよび DMA転送は正常に実行できた。 (6-1a). kineticリスト処理でシングルアクションおよび DMA転送の実行(その2) 項目(6-1)での実行時に CKSAVE() 関数でセーブした Kineticリストをここでは CKLOAD()関数でロードして実行する例題プログラムである。 onl50t[98]% 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[99]% ok. 正常に実行できた。 (6-1b). kineticリスト処理でシングルアクションおよび DMA転送の実行(その3) 項目(6-2)でやったテストを複数回繰り返した。 CKDEL()関数を使って、 ロードされている kineticリストを途中で一旦削除した後で再ロードして 実行動作確認を行っている。 onl50t[99]% 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[100]% ok. 正常に実行できた。 (6-2). KEKリスト処理の中から kineticリスト処理を実行(その1) 2917 のコマンド・メモリ・レジスタにロードしておいた kineticリストを KEKリスト処理プログラムの中から実行する例題プログラムである。 onl50t[101]% 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[102]% onl50t[102]% 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[103]% onl50t[104]% 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[105]% ok. 正常に実行できた。 (6-2a). KEKリスト処理の中から kineticリスト処理を実行(その2) 複数の kineticリストを、任意に選択実行できるかテストする例題プログラム である。 onl50t[106]% 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[107]% onl50t[107]% 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[108]% onl50t[108]% 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[109]% onl50t[109]% 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[110]% ok. 正常に実行できた。 (6-2b). KEKリスト処理の中から kineticリスト処理を実行(その3) 項目(6-5)での実行時に CKSAVE() 関数でセーブした複数の Kineticリストを ここではCKLOAD()関数でロードして実行する例題プログラムである。 onl50t[110]% 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[111]% onl50t[111]% 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[112]% ok. 正常に実行できた。 これで、キット中の例題プログラムによる動作確認は全て正常に終了した。 続いて、DAQ-sig および sun-users(KEK内部)メーリングリストを通して キット利用可能のアナウンスを行う。 ---xxxx ここまでやった(継続中) --- (6). 項目タイトル (6-1). サブ項目タイトル (6-1-1). サブサブ項目タイトル