Oct 24, 2001 onl54: Solaris8 cc ドライバのテスト --- cc ドライバのインストール#02 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/CAMAC/onl54-sol8/ Desktop/camac-step02.txt) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 (1). 現状確認 (A). Solaris8 6/00 が届いた (B). FORCE SPARC CPU-54 が届いた (C). CPU-54 にSolaris8 6/00 をインストールしようとしたが fail した (D). "Solaris 8 7/01" のメディアを使って再インストールした (E). /etc の下の各設定、および /export/home の作成をやった (F). CPU-54にSolaris8用の VMEドライバ、FRCvme-2.5.1 をインストールした (G). CPU-54に ccドライバ、FORCE-50T-sol7を一部修正してインストールした (2). ここでやるべきこと onl54、Solaris 8 デスクトップ・システム上で、camac実行テストをやる。 (3). 例題プログラムの実行 (3-1). cam1、シングル・アクション 24ビット camac read/write の実行 onl54[42]% pwd /export/home/onl54/inoue/CAMAC/FORCE-50T-sol7 onl54[43]% 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) onl54[44]% onl54[44]% 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)>^Conl54[45]% onl54[45]% ok. cam1、シングル・アクション 24ビット camac read/write は正常に 実行できた。 (3-2). cam3、camac LAM割り込み処理の実行 onl54[45]% 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. onl54[46]% onl54[46]% 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. onl54[47]% onl54[47]% 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. onl54[48]% ok. cam3、camac LAM割り込み処理は timeout処理も含めて正常に実行できた。 (4-3). cam2プログラムの実行 (4-3-1). cam2、ブロック転送 16ビット read/write の実行 onl54[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 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 <--- ここでフリーズする。 2917 のフロントパネルのLEDは "RUN"と"M1"が点灯したままになっている。 DMAが完了 していないので、システムは動けない状態になって いる。 CPU-54の"ABORT","RESET"ボタンを押して システムをリブートする。 screen not found. keyboard not found. Keyboard not present. Using ttya for input and output. FORCE,CPU-54 (UltraSPARC-IIe 404MHz), No Keyboard OpenBoot 4.0, 128 MB memory installed, Serial #9229550. Ethernet address 0:80:42:10:70:28, Host ID: 808cd4ee. Boot device: disk3:a File and args: SunOS Release 5.8 Version Generic_108528-09 64-bit Copyright 1983-2001 Sun Microsystems, Inc. All rights reserved. NOTICE: VME: slavewin at vme=0x0, size=0x100000 space=0x302061f configuring IPv4 interfaces: hme0. configuring IPv6 interfaces: hme0. Hostname: onl54 The /usr file system (/dev/rdsk/c0t3d0s6) is being checked. /dev/rdsk/c0t3d0s6: 58862 files, 1397435 used, 808052 free /dev/rdsk/c0t3d0s6: (1844 frags, 100776 blocks, 0.0% fragmentation) Configuring /dev and /devices WARNING: i2c_client_register failed CAMAC device driver V3.0x, 1991-1993 by Y.TAKEUCHI (T.I.T.) Configuring the /dev directory (compatibility devices) The /var file system (/dev/rdsk/c0t3d0s1) is being checked. /dev/rdsk/c0t3d0s1: 7617 files, 56616 used, 363031 free /dev/rdsk/c0t3d0s1: (295 frags, 45342 blocks, 0.0% fragmentation) The system is coming up. Please wait. checking ufs filesystems /dev/rdsk/c0t3d0s5: is stable. /dev/rdsk/c0t3d0s4: is stable. /dev/rdsk/c0t3d0s7: 718 files, 245451 used, 15880927 free /dev/rdsk/c0t3d0s7: (791 frags, 1985017 blocks, 0.0% fragmentation) NIS domainname is kek.jp Starting IPv6 neighbor discovery. Setting default IPv6 interface for multicast: add net ff00::/8: gateway fe80::28 0:42ff:fe10:7028 starting rpc services: rpcbind keyserv done. Setting netmask of hme0 to 255.255.248.0 Setting default IPv4 interface for multicast: add net 224.0/4: gateway onl54 syslog service starting. Print services started. volume management starting. Wnn6: Key License Server started.... Nihongo Multi Client Server (Wnn6 R2.34) Finished Reading Files The system is ready. onl54 console login: ここで試しにSA=1を読んでみる。 SWレジスターのデータは0x5にセット してある。 onl54[38]% 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 1 0 MODE=1 N= 3 A= 1 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 1 0 MODE=1 N= 3 A= 1 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 >^C *** TERMINATING cam2 *** Received signal 2 SIGINT onl54[39]% camacデータウェイディスプレーの表示を見ると、camacコマンドは指定した 通りのコマンドを表示している。 正しく届いているようだ。  SA=1に対する 読み出しも、 camacデータウェイ上には正しい値が出されていることを示して いる。 しかし、アプリケーションプログラムには正しいデータは届いていない ゼロの値になっている。 ---xxxx ここまでやった(継続中) --- (6). セクション (6-1). サブセクション (6-1-1). サブサブセクション