Jul 11, 2000 onl50t: デスクトップ Solaris 2.6、2917 のテスト --- スタンドアロン・システム上での ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/CAMAC/ onl50t-sol2.6/Desktop/2917-version6.txt) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 (1). 現状確認 (A). E452、佐藤さんより 2917 バージョン6 のモジュールを借用した。 (2). ここでやるべきこと スタンドアロン Solaris2.6、onl50t 上で、2917 バージョン6 のモジュール の動作確認を行う。 (3). 動作確認 ここで使用した 2917ボードの IDは以下のとおり。 2917-Z1A S/N 0114 ISS BP06 camac ドライバは FORCE-50T-sol2.6 を使って、シングルアクション read/write、LAM割り込み処理、ブロック転送 read/write を実行してみる。 使用したコンパイラのバージョンは以下のとおり。 onl50t[54]% which cc /kek/compilers/ws5.0/SUNWspro/bin/cc onl50t[55]% cc -V cc: WorkShop Compilers 5.0 98/12/15 C 5.0 usage: cc [ options] files. Use 'cc -flags' for details onl50t[56]% which f77 /kek/compilers/ws5.0/SUNWspro/bin/f77 onl50t[57]% f77 -V f77: WorkShop Compilers 5.0 98/12/15 FORTRAN 77 5.0 Usage: f77 [ options ] files. Use 'f77 -flags' for details onl50t[58]% (3-1). camac ドライバのインストール onl50t[58]% pwd /export/home/onl50t/inoue/CAMAC/Driver/Kit-test/Toyo onl50t[59]% ls Makefile cam3.c cc.c-bak1 forlib.c README camlib.c cc.c-bak2 forlib.o cam1* camlib.h cc.c-maclo_hi-chk fort.5 cam1.c camlib.o cc.c-tmp fort.6 cam2* cc cc.conf k2917.h cam2.f cc.c cc.h k2917.h-org cam2.f-bak cc.c-32kblock-ok cc.h-org libcamac.a cam2.f-org cc.c-Jun21 cc_common.h out.diff cam3* cc.c-bak cc_config.h script/ onl50t[60]% vi cc.h : /* E.Inoue: begin */ #define CC_MINPHYS_SIZE 0x10000 /* max word count = 64k */ /*#define CC_MINPHYS_SIZE 0x1f000 */ /* max word count = 128k */ /* E.Inoue: end */ : onl50t[61]% onl50t[61]% vi cc.c : static u_int cc_intr(int unit) { : /* free DMA resources */ if (cc->executing_dma_flag != 0) { /* E.Inoue */ chk_done = 0x7ffffff; /* about 10 sec */ while (chk_done-- > 0){ if ((cc->k->csr & CC_DONE) != 0){ cc->interrupt |= CC_INT_DONE; break; } } /* end */ /* change logichouse */ : static int cc_strategy(struct buf *bp) { : if((ddi_dma_buf_bind_handle(cc->handle, bp , flags | DDI_DMA_CONSISTENT, DDI_DMA_SLEEP, (caddr_t)0, &cc->dma_cookie, &cc->ccount) != DDI_DMA_MAPPED)){ cmn_err(CE_WARN,"cc_strategy: ddi_dma_buf_bind_handle failed"); bp->b_flags |= B_ERROR; bp->b_error = EIO; return bp->b_flags; } cmn_err(CE_NOTE," cc_strategy: cc->ccount = 0x%x, %d", cc->ccount, cc->ccoun t); cmn_err(CE_NOTE," cc_strategy: cc->dma_cookie.dmac_address = 0x%x", cc->dma_ cookie.dmac_address); cmn_err(CE_NOTE," cc_strategy: cc->dma_cookie.dmac_size = 0x%x, %d", cc->dma _cookie.dmac_size, cc->dma_cookie.dmac_size); : dma_addr = cc->dma_cookie.dmac_address; /* count = cc->dma_cookie.dmac_size; */ cc->retlen = 0; /* k->csr = CC_RST; */ /* K2917 Reset */ /* E.Inoue */ cc->k->csr = CC_RST; cc->k->maclo = dma_addr & 0xFFFF; /* Set DMA base address */ cmn_err(CE_NOTE," cc_strategy: cc->k->maclo = 0x%x", cc->k->maclo); /* end */ if (cc->klist == CC_KLIST_NO) { cc->k->cma = CC_CMA_INIT; /* Initialize memory pointer */ cc->k->cmr = mode | (cc->cur_crate << 8); cc->k->cmr = naf; cc->k->cmr = -(cc->len & 0xFFFF); /* Max len = 1MWord */ cc->k->cmr = 0xFFFF; cc->k->cmr = CC_HALT; cc->k->cma = CC_CMA_INIT; /* Reset memory pointer */ cc->k->maclo = dma_addr & 0xFFFF; /* Set DMA base address */ cc->k->machi = dma_addr >> 16; cmn_err(CE_NOTE," cc_strategy: cc->k->maclo = 0x%x", cc->k->maclo); cc->k->amr = CC_AMR_INIT; /* Set VME AM code */ cc->k->mtc = wc; cc->k->cser = CC_DMA_RESET; /* DMA reset */ : onl50t[62]% onl50t[62]% make clean \rm -f cc *.o libcamac.a cam1 cam2 cam3 *~ core onl50t[63]% 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[64]% 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# (3-2). 例題プログラムの実行 (3-2-1). cam1、シングルアクション read/write の実行 onl50t[66]% cam1 5 Input n a f (data)>3 1 0 N=3 A=1 F=0 Q=1 X=1 Data:000005(Hex) 00000005(Dec) Input n a f (data)>3 0 16 5 N=3 A=0 F=16 Q=1 X=1 Data:000005(Hex) 00000005(Dec) Input n a f (data)>3 1 0 N=3 A=1 F=0 Q=1 X=1 Data:FFFFFF(Hex) 16777215(Dec) Input n a f (data)>3 0 16 ffffff N=3 A=0 F=16 Q=1 X=1 Data:FFFFFF(Hex) 16777215(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:FFFFFF(Hex) 16777215(Dec) onl50t[67]% onl50t[97]% cam1 Input n a f (data)>3 0 16 555555 N=3 A=0 F=16 Q=1 X=1 Data:087A23(Hex) 00555555(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:087A23(Hex) 00555555(Dec) Input n a f (data)>3 0 16 777777 N=3 A=0 F=16 Q=1 X=1 Data:0BDE31(Hex) 00777777(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:0BDE31(Hex) 00777777(Dec) Input n a f (data)>^Conl50t[98]% onl50t[98]% ok. シングルアクション read/write は正常に実行できた。 (3-2-2). cam3、LAM割り込み処理の実行 onl50t[98]% 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[99]% onl50t[99]% cam3 *** Now waiting LAM ... N=3 Loop=10 Timeout=0 sec Interrupted !! count=1 Timeout !! count=2 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=3 Interrupted !! count=4 Timeout !! count=5 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=6 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=7 Timeout !! count=8 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=9 Interrupted !! count=10 *** cam3 nomal end. onl50t[100]% ok. LAM割り込み処理は正常に実行できた。 (3-2-3). cam2、ブロック転送 read/writeの実行 camacステーション#3にセットしてあるスイッチレジスタを読んでみる。 サブアドレス 1 には 0x5 のデータがセットしてある。 onl50t[101]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >1 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >20 Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 20 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) Data( 17)= 0 0x 0(Hex) Data( 18)= 0 0x 0(Hex) Data( 19)= 0 0x 0(Hex) Data( 20)= 0 0x 0(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( -2)= 23 0x 17(Hex) Data( -1)= 0 0x 0(Hex) Data( 0)= 0 0x 0(Hex) Data( 1)= 0 0x 0(Hex) Data( 2)= 0 0x 0(Hex) Data( 3)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[102]% NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->maclo = 0x0 NOTICE: cc_intr: 0xe onl50t console login: NG. camacデータウェイディスプレー上の LED の表示を見ていると、camac オペレーションは正しく実行され、データウェイ上には読み出されたデータが 正しい値で表示されている。 しかし、アプリケーション・プログラムには データは届いていない。 [ システムメッセージのチェック ] システムメッセージを出している部分を以下に再掲する。 static int cc_strategy(struct buf *bp) { : dma_addr = cc->dma_cookie.dmac_address; /* count = cc->dma_cookie.dmac_size; */ cc->retlen = 0; /* k->csr = CC_RST; */ /* K2917 Reset */ /* E.Inoue */ cc->k->csr = CC_RST; cc->k->maclo = dma_addr & 0xFFFF; /* Set DMA base address */ cmn_err(CE_NOTE," cc_strategy: cc->k->maclo = 0x%x", cc->k->maclo); /* end */ if (cc->klist == CC_KLIST_NO) { cc->k->cma = CC_CMA_INIT; /* Initialize memory pointer */ cc->k->cmr = mode | (cc->cur_crate << 8); cc->k->cmr = naf; cc->k->cmr = -(cc->len & 0xFFFF); /* Max len = 1MWord */ cc->k->cmr = 0xFFFF; cc->k->cmr = CC_HALT; cc->k->cma = CC_CMA_INIT; /* Reset memory pointer */ cc->k->maclo = dma_addr & 0xFFFF; /* Set DMA base address */ cc->k->machi = dma_addr >> 16; cmn_err(CE_NOTE," cc_strategy: cc->k->maclo = 0x%x", cc->k->maclo); cc->k->amr = CC_AMR_INIT; /* Set VME AM code */ cc->k->mtc = wc; cc->k->cser = CC_DMA_RESET; /* DMA reset */ : このリストを上で出力されたメッセージと照らし合わせてみると、2917を リセットした直後に macloレジスタに書き込んだ値は正しく読み返せているが、 cma、cmrレジスタに書き込んだ後で macloレジスタに書き込んだ値はゼロに なってしまっているのが解る。 (4). imaclo、machiレジスタのチェック もっと細かなステップで maclo をチェックする。 : /* k->csr = CC_RST; */ /* K2917 Reset */ /* E.Inoue */ cc->k->csr = CC_RST; cc->k->maclo = dma_addr & 0xFFFF; /* Set DMA base address */ cmn_err(CE_NOTE," cc_strategy: after reset: cc->k->maclo = 0x%x", cc->k->mac lo); /* end */ if (cc->klist == CC_KLIST_NO) { cc->k->cma = CC_CMA_INIT; /* Initialize memory pointer */ cmn_err(CE_NOTE," cc_strategy: after cma: cc->k->maclo = 0x%x", cc->k->maclo ); cc->k->cmr = mode | (cc->cur_crate << 8); cmn_err(CE_NOTE," cc_strategy: after cmr, mode: cc->k->maclo = 0x%x", cc->k- >maclo); cc->k->cmr = naf; cmn_err(CE_NOTE," cc_strategy: after cmr, naf: cc->k->maclo = 0x%x", cc->k-> maclo); cc->k->cmr = -(cc->len & 0xFFFF); /* Max len = 1MWord */ cmn_err(CE_NOTE," cc_strategy: after cmr, len: cc->k->maclo = 0x%x", cc->k-> maclo); cc->k->cmr = 0xFFFF; cmn_err(CE_NOTE," cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x%x", cc-> k->maclo); cc->k->cmr = CC_HALT; cmn_err(CE_NOTE," cc_strategy: after cmr, halt: cc->k->maclo = 0x%x", cc->k- >maclo); cc->k->cma = CC_CMA_INIT; /* Reset memory pointer */ cmn_err(CE_NOTE," cc_strategy: after cma: cc->k->maclo = 0x%x", cc->k->maclo ); cc->k->maclo = dma_addr & 0xFFFF; /* Set DMA base address */ cmn_err(CE_NOTE," cc_strategy: after maclo: cc->k->maclo = 0x%x", cc->k->mac lo); cc->k->machi = dma_addr >> 16; cmn_err(CE_NOTE," cc_strategy: after machi: cc->k->maclo = 0x%x", cc->k->mac lo); cc->k->amr = CC_AMR_INIT; /* Set VME AM code */ cc->k->mtc = wc; cc->k->cser = CC_DMA_RESET; /* DMA reset */ : onl50t[44]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >1 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >20 Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 20 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) Data( 17)= 0 0x 0(Hex) Data( 18)= 0 0x 0(Hex) Data( 19)= 0 0x 0(Hex) Data( 20)= 0 0x 0(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( -2)= 23 0x 17(Hex) Data( -1)= 0 0x 0(Hex) Data( 0)= 0 0x 0(Hex) Data( 1)= 0 0x 0(Hex) Data( 2)= 0 0x 0(Hex) Data( 3)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[45]% CAMAC device driver V1.4x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at vme0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_intr: 0xe cma、cmr をセットした後で machi を書いた時にゼロになってしまっている。 machi をセットしてから maclo のセットを行うとどうなるか。 チェック。 (3-2-4). machi をセットしてから maclo のセットを行ってみる : /* E.Inoue */ cc->k->csr = CC_RST; cc->k->maclo = dma_addr & 0xFFFF; /* Set DMA base address */ cmn_err(CE_NOTE," cc_strategy: after reset: cc->k->maclo = 0x%x", cc->k->mac lo); /* end */ if (cc->klist == CC_KLIST_NO) { cc->k->cma = CC_CMA_INIT; /* Initialize memory pointer */ cmn_err(CE_NOTE," cc_strategy: after cma: cc->k->maclo = 0x%x", cc->k->maclo ); cc->k->cmr = mode | (cc->cur_crate << 8); cmn_err(CE_NOTE," cc_strategy: after cmr, mode: cc->k->maclo = 0x%x", cc->k- >maclo); cc->k->cmr = naf; cmn_err(CE_NOTE," cc_strategy: after cmr, naf: cc->k->maclo = 0x%x", cc->k-> maclo); cc->k->cmr = -(cc->len & 0xFFFF); /* Max len = 1MWord */ cmn_err(CE_NOTE," cc_strategy: after cmr, len: cc->k->maclo = 0x%x", cc->k-> maclo); cc->k->cmr = 0xFFFF; cmn_err(CE_NOTE," cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x%x", cc-> k->maclo); cc->k->cmr = CC_HALT; cmn_err(CE_NOTE," cc_strategy: after cmr, halt: cc->k->maclo = 0x%x", cc->k- >maclo); cc->k->cma = CC_CMA_INIT; /* Reset memory pointer */ cmn_err(CE_NOTE," cc_strategy: after cma: cc->k->maclo = 0x%x", cc->k->maclo ); cc->k->machi = dma_addr >> 16; cmn_err(CE_NOTE," cc_strategy: after machi: cc->k->maclo = 0x%x", cc->k->mac lo); cc->k->maclo = dma_addr & 0xFFFF; /* Set DMA base address */ cmn_err(CE_NOTE," cc_strategy: after maclo: cc->k->maclo = 0x%x, dma_addr = 0x%x", cc->k->maclo, dma_addr); /* cc->k->machi = dma_addr >> 16; cmn_err(CE_NOTE," cc_strategy: after machi: cc->k->maclo = 0x%x", cc->k->mac lo); */ cc->k->amr = CC_AMR_INIT; /* Set VME AM code */ cc->k->mtc = wc; cc->k->cser = CC_DMA_RESET; /* DMA reset */ : onl50t[48]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >1 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >20 Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 20 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) Data( 17)= 0 0x 0(Hex) Data( 18)= 0 0x 0(Hex) Data( 19)= 0 0x 0(Hex) Data( 20)= 0 0x 0(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( -2)= 23 0x 17(Hex) Data( -1)= 0 0x 0(Hex) Data( 0)= 0 0x 0(Hex) Data( 1)= 0 0x 0(Hex) Data( 2)= 0 0x 0(Hex) Data( 3)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[49]% CAMAC device driver V1.4x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at vme0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_intr: 0xe machiレジスタを先にセットして、その後で macloレジスタをセットすれば macloレジスタには正しく値をセットできることがわかった。 しかし、データ は依然としてアプリケーションに届かない。 (3-2-5). cc_strategyルーチンの中での 2917 のリセットをはずしてみる : static u_int cc_intr(int unit) { : cmn_err(CE_NOTE," cc_intr: 0x%x", cc->interrupt); /* free DMA resources */ if (cc->executing_dma_flag != 0) { /* E.Inoue */ chk_done = 0x7ffffff; /* about 10 sec */ while (chk_done-- > 0){ if ((cc->k->csr & CC_DONE) != 0){ cc->interrupt |= CC_INT_DONE; break; } } /* end */ cmn_err(CE_NOTE," cc_intr: 0x%x", cc->interrupt); : static int cc_strategy(struct buf *bp) { : /* k->csr = CC_RST; */ /* K2917 Reset */ /* E.Inoue */ /* cc->k->csr = CC_RST; */ cc->k->maclo = dma_addr & 0xFFFF; /* Set DMA base address */ cmn_err(CE_NOTE," cc_strategy: after reset: cc->k->maclo = 0x%x", cc->k->mac lo); /* end */ : onl50t[52]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >1 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >20 Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 20 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) Data( 17)= 0 0x 0(Hex) Data( 18)= 0 0x 0(Hex) Data( 19)= 0 0x 0(Hex) Data( 20)= 0 0x 0(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( -2)= 23 0x 17(Hex) Data( -1)= 0 0x 0(Hex) Data( 0)= 0 0x 0(Hex) Data( 1)= 0 0x 0(Hex) Data( 2)= 0 0x 0(Hex) Data( 3)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[53]% CAMAC device driver V1.4x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at vme0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_intr: 0xc NOTICE: cc_intr: 0xe (3-2-6). cc_strategyルーチンの中で DMA 開始直前の 2917 のレジスタ チェック : /* E.Inoue */ cmn_err(CE_NOTE," cc_strategy: cc->k->machi = 0x%x", cc->k->machi); cmn_err(CE_NOTE," cc_strategy: cc->k->maclo = 0x%x", cc->k->maclo); cmn_err(CE_NOTE," cc_strategy: cc->k->amr = 0x%x", cc->k->amr); cmn_err(CE_NOTE," cc_strategy: cc->k->mtc = 0x%x", cc->k->mtc); cmn_err(CE_NOTE," cc_strategy: cc->k->cser = 0x%x", cc->k->cser); cmn_err(CE_NOTE," cc_strategy: cc->k->docr = 0x%x", cc->k->docr); cmn_err(CE_NOTE," cc_strategy: cc->k->sccr = 0x%x", cc->k->sccr); cmn_err(CE_NOTE," cc_strategy: cc->k->csr = 0x%x", cc->k->csr); /* end */ /* start DMA */ cc->executing_dma_flag = 1; cc->timeout_id = timeout(cc_timeout, (caddr_t)&unit, CC_TIMEOUT_DMA * hz); cc->k->csr |= CC_GO; /* Go! */ cc->k->donc = CC_INT_AUTO_CLEAR | CC_INT_ENABLE | intrpri; : onl50t[54]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >1 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >20 Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 20 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) Data( 17)= 0 0x 0(Hex) Data( 18)= 0 0x 0(Hex) Data( 19)= 0 0x 0(Hex) Data( 20)= 0 0x 0(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( -2)= 23 0x 17(Hex) Data( -1)= 0 0x 0(Hex) Data( 0)= 0 0x 0(Hex) Data( 1)= 0 0x 0(Hex) Data( 2)= 0 0x 0(Hex) Data( 3)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[55]% CAMAC device driver V1.4x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at vme0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x0 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x14 NOTICE: cc_strategy: cc->k->cser = 0x800 NOTICE: cc_strategy: cc->k->docr = 0xb892 NOTICE: cc_strategy: cc->k->sccr = 0x400 NOTICE: cc_strategy: cc->k->csr = 0xc0 NOTICE: cc_intr: 0xc NOTICE: cc_intr: 0xe いつのまにか maclo がゼロになってしまっている。 どこでゼロになったのか チェック。 : cc->k->machi = dma_addr >> 16; cmn_err(CE_NOTE," cc_strategy: after machi: cc->k->maclo = 0x%x", cc->k->mac lo); cc->k->maclo = dma_addr & 0xFFFF; /* Set DMA base address */ cmn_err(CE_NOTE," cc_strategy: after maclo: cc->k->maclo = 0x%x, dma_addr = 0x%x", cc->k->maclo, dma_addr); /* cc->k->machi = dma_addr >> 16; cmn_err(CE_NOTE," cc_strategy: after machi: cc->k->maclo = 0x%x", cc->k->mac lo); */ cc->k->amr = CC_AMR_INIT; /* Set VME AM code */ cmn_err(CE_NOTE," cc_strategy: after amr: cc->k->maclo = 0x%x", cc->k->maclo ); cc->k->mtc = wc; cmn_err(CE_NOTE," cc_strategy: after mtc: cc->k->maclo = 0x%x", cc->k->maclo ); cc->k->cser = CC_DMA_RESET; /* DMA reset */ cmn_err(CE_NOTE," cc_strategy: after cser: cc->k->maclo = 0x%x", cc->k->macl o); switch (cc->naf & 0x0018) { case 0x0000: /* CAMAC read */ cc->k->docr = CC_DOCR_INIT | CC_DMA_READ; cmn_err(CE_NOTE," cc_strategy: after docr: cc->k->maclo = 0x%x", cc->k->macl o); cc->k->sccr = CC_DMA_START; cmn_err(CE_NOTE," cc_strategy: after sccr: cc->k->maclo = 0x%x", cc->k->macl o); cc->k->csr |= CC_DMA; /* DMA mode */ cc->k->csr &= ~CC_WRITE; cmn_err(CE_NOTE," cc_strategy: after csr: cc->k->maclo = 0x%x", cc->k->maclo ); break; : onl50t[55]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >1 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >20 Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 20 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) Data( 17)= 0 0x 0(Hex) Data( 18)= 0 0x 0(Hex) Data( 19)= 0 0x 0(Hex) Data( 20)= 0 0x 0(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( -2)= 23 0x 17(Hex) Data( -1)= 0 0x 0(Hex) Data( 0)= 0 0x 0(Hex) Data( 1)= 0 0x 0(Hex) Data( 2)= 0 0x 0(Hex) Data( 3)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[56]% CAMAC device driver V1.4x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at vme0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_strategy: after amr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after mtc: cc->k->maclo = 0x0 NOTICE: cc_strategy: after cser: cc->k->maclo = 0x0 NOTICE: cc_strategy: after docr: cc->k->maclo = 0x0 NOTICE: cc_strategy: after sccr: cc->k->maclo = 0x0 NOTICE: cc_strategy: after csr: cc->k->maclo = 0x0 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x0 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x14 NOTICE: cc_strategy: cc->k->cser = 0x800 NOTICE: cc_strategy: cc->k->docr = 0xb892 NOTICE: cc_strategy: cc->k->sccr = 0x400 NOTICE: cc_strategy: cc->k->csr = 0xc0 NOTICE: cc_intr: 0xc NOTICE: cc_intr: 0xe mtc レジスタを書き込んだ直後に maclo の値がゼロになってしまっている。 maclo の値をセットする前で mtc レジスタをセットしてみよう。 (3-2-7). maclo の値をセットする前で mtc レジスタをセットする : cc->k->cma = CC_CMA_INIT; /* Reset memory pointer */ cmn_err(CE_NOTE," cc_strategy: after cma: cc->k->maclo = 0x%x", cc->k->maclo ); cc->k->mtc = wc; cmn_err(CE_NOTE," cc_strategy: after mtc: cc->k->maclo = 0x%x", cc->k->maclo ); cc->k->machi = dma_addr >> 16; cmn_err(CE_NOTE," cc_strategy: after machi: cc->k->maclo = 0x%x", cc->k->mac lo); cc->k->maclo = dma_addr & 0xFFFF; /* Set DMA base address */ cmn_err(CE_NOTE," cc_strategy: after maclo: cc->k->maclo = 0x%x, dma_addr = 0x%x", cc->k->maclo, dma_addr); /* cc->k->machi = dma_addr >> 16; cmn_err(CE_NOTE," cc_strategy: after machi: cc->k->maclo = 0x%x", cc->k->mac lo); */ cc->k->amr = CC_AMR_INIT; /* Set VME AM code */ cmn_err(CE_NOTE," cc_strategy: after amr: cc->k->maclo = 0x%x", cc->k->maclo ); /* cc->k->mtc = wc; cmn_err(CE_NOTE," cc_strategy: after mtc: cc->k->maclo = 0x%x", cc->k->maclo ); */ cc->k->cser = CC_DMA_RESET; /* DMA reset */ cmn_err(CE_NOTE," cc_strategy: after cser: cc->k->maclo = 0x%x", cc->k->macl o); : onl50t[56]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >1 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >20 Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 20 error= 0(Hex) Data( 1)= 5 0x 5(Hex) Data( 2)= 5 0x 5(Hex) Data( 3)= 5 0x 5(Hex) Data( 4)= 5 0x 5(Hex) Data( 5)= 5 0x 5(Hex) Data( 6)= 5 0x 5(Hex) Data( 7)= 5 0x 5(Hex) Data( 8)= 5 0x 5(Hex) Data( 9)= 5 0x 5(Hex) Data( 10)= 5 0x 5(Hex) Data( 17)= 5 0x 5(Hex) Data( 18)= 5 0x 5(Hex) Data( 19)= 5 0x 5(Hex) Data( 20)= 5 0x 5(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( 18)= 5 0x 5(Hex) Data( 19)= 5 0x 5(Hex) Data( 20)= 5 0x 5(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[57]% CAMAC device driver V1.4x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at vme0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after mtc: cc->k->maclo = 0x0 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_strategy: after amr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cser: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after docr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after sccr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after csr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x14 NOTICE: cc_strategy: cc->k->cser = 0x800 NOTICE: cc_strategy: cc->k->docr = 0xb892 NOTICE: cc_strategy: cc->k->sccr = 0x400 NOTICE: cc_strategy: cc->k->csr = 0xc0 NOTICE: cc_intr: 0xc NOTICE: cc_intr: 0xe ok. データは正しい値でアプリケーションに届いた。 onl50t[189]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >1 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >32000 Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len=32000 lenr=32000 error= 0(Hex) Data( 1)= 5 0x 5(Hex) Data( 2)= 5 0x 5(Hex) Data( 3)= 5 0x 5(Hex) Data( 4)= 5 0x 5(Hex) Data( 5)= 5 0x 5(Hex) Data( 6)= 5 0x 5(Hex) Data( 7)= 5 0x 5(Hex) Data( 8)= 5 0x 5(Hex) Data( 9)= 5 0x 5(Hex) Data( 10)= 5 0x 5(Hex) Data( 31997)= 5 0x 5(Hex) Data( 31998)= 5 0x 5(Hex) Data( 31999)= 5 0x 5(Hex) Data( 32000)= 5 0x 5(Hex) Data( 32001)= 0 0x 0(Hex) Data( 32002)= 0 0x 0(Hex) Data( 32003)= 0 0x 0(Hex) Data( 31998)= 5 0x 5(Hex) Data( 31999)= 5 0x 5(Hex) Data( 32000)= 5 0x 5(Hex) Data( 32001)= 0 0x 0(Hex) Data( 32002)= 0 0x 0(Hex) Data( 32003)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[190]% ok. (3-2-8). 16ビット、ブロック転送 write を実行 onl50t[57]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >1 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >20 Input n a f >3 0 16 Input data >7 MODE=1 N= 3 A= 0 F=16 len= 20 lenr= 20 error= 0(Hex) Data( 1)= 7 0x 7(Hex) Data( 2)= 7 0x 7(Hex) Data( 3)= 7 0x 7(Hex) Data( 4)= 7 0x 7(Hex) Data( 5)= 7 0x 7(Hex) Data( 6)= 7 0x 7(Hex) Data( 7)= 7 0x 7(Hex) Data( 8)= 7 0x 7(Hex) Data( 9)= 7 0x 7(Hex) Data( 10)= 7 0x 7(Hex) Data( 17)= 7 0x 7(Hex) Data( 18)= 7 0x 7(Hex) Data( 19)= 7 0x 7(Hex) Data( 20)= 7 0x 7(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( 18)= 7 0x 7(Hex) Data( 19)= 7 0x 7(Hex) Data( 20)= 7 0x 7(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[58]% NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after mtc: cc->k->maclo = 0x0 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_strategy: after amr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cser: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x14 NOTICE: cc_strategy: cc->k->cser = 0x800 NOTICE: cc_strategy: cc->k->docr = 0xb812 NOTICE: cc_strategy: cc->k->sccr = 0x400 NOTICE: cc_strategy: cc->k->csr = 0xe0 NOTICE: cc_intr: 0xe NOTICE: cc_intr: 0xe onl50t[62]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >1 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >20 Input n a f >3 0 16 Input data >65535 MODE=1 N= 3 A= 0 F=16 len= 20 lenr= 20 error= 0(Hex) Data( 1)= -1 0x FFFF(Hex) Data( 2)= -1 0x FFFF(Hex) Data( 3)= -1 0x FFFF(Hex) Data( 4)= -1 0x FFFF(Hex) Data( 5)= -1 0x FFFF(Hex) Data( 6)= -1 0x FFFF(Hex) Data( 7)= -1 0x FFFF(Hex) Data( 8)= -1 0x FFFF(Hex) Data( 9)= -1 0x FFFF(Hex) Data( 10)= -1 0x FFFF(Hex) Data( 17)= -1 0x FFFF(Hex) Data( 18)= -1 0x FFFF(Hex) Data( 19)= -1 0x FFFF(Hex) Data( 20)= -1 0x FFFF(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( 18)= -1 0x FFFF(Hex) Data( 19)= -1 0x FFFF(Hex) Data( 20)= -1 0x FFFF(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[63]% NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after mtc: cc->k->maclo = 0x0 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_strategy: after amr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cser: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x14 NOTICE: cc_strategy: cc->k->cser = 0x800 NOTICE: cc_strategy: cc->k->docr = 0xb812 NOTICE: cc_strategy: cc->k->sccr = 0x400 NOTICE: cc_strategy: cc->k->csr = 0xe0 NOTICE: cc_intr: 0xe NOTICE: cc_intr: 0xe onl50t[63]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >1 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >32000 Input n a f >3 0 16 Input data >65535 MODE=1 N= 3 A= 0 F=16 len=32000 lenr=32000 error= 0(Hex) Data( 1)= -1 0x FFFF(Hex) Data( 2)= -1 0x FFFF(Hex) Data( 3)= -1 0x FFFF(Hex) Data( 4)= -1 0x FFFF(Hex) Data( 5)= -1 0x FFFF(Hex) Data( 6)= -1 0x FFFF(Hex) Data( 7)= -1 0x FFFF(Hex) Data( 8)= -1 0x FFFF(Hex) Data( 9)= -1 0x FFFF(Hex) Data( 10)= -1 0x FFFF(Hex) Data( 31997)= -1 0x FFFF(Hex) Data( 31998)= -1 0x FFFF(Hex) Data( 31999)= -1 0x FFFF(Hex) Data( 32000)= -1 0x FFFF(Hex) Data( 32001)= 0 0x 0(Hex) Data( 32002)= 0 0x 0(Hex) Data( 32003)= 0 0x 0(Hex) Data( 31998)= -1 0x FFFF(Hex) Data( 31999)= -1 0x FFFF(Hex) Data( 32000)= -1 0x FFFF(Hex) Data( 32001)= 0 0x 0(Hex) Data( 32002)= 0 0x 0(Hex) Data( 32003)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[64]% NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0xfa00, 64000 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after mtc: cc->k->maclo = 0x0 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_strategy: after amr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cser: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x7d00 NOTICE: cc_strategy: cc->k->cser = 0x800 NOTICE: cc_strategy: cc->k->docr = 0xb812 NOTICE: cc_strategy: cc->k->sccr = 0x400 NOTICE: cc_strategy: cc->k->csr = 0xe0 NOTICE: cc_intr: 0xe NOTICE: cc_intr: 0xe ok. 正常に実行できている。 (3-2-9). 24ビット、ブロック転送 read/write を実行 onl50t[66]% cam2 Input transfer mode (1:word 2:long word) >2 Input loop >1 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >16000 Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len=16000 lenr=16000 error= 0(Hex) Data( 1)= -11184811 0x FF555555(Hex) Data( 2)= -11184811 0x FF555555(Hex) Data( 3)= -11184811 0x FF555555(Hex) Data( 4)= -11184811 0x FF555555(Hex) Data( 5)= -11184811 0x FF555555(Hex) Data( 6)= -11184811 0x FF555555(Hex) Data( 7)= -11184811 0x FF555555(Hex) Data( 8)= -11184811 0x FF555555(Hex) Data( 9)= -11184811 0x FF555555(Hex) Data( 10)= -11184811 0x FF555555(Hex) Data( 15997)= -11184811 0x FF555555(Hex) Data( 15998)= -11184811 0x FF555555(Hex) Data( 15999)= -11184811 0x FF555555(Hex) Data( 16000)= -11184811 0x FF555555(Hex) Data( 16001)= 0 0x 0(Hex) Data( 16002)= 0 0x 0(Hex) Data( 16003)= 0 0x 0(Hex) Data( 15998)= -11184811 0x FF555555(Hex) Data( 15999)= -11184811 0x FF555555(Hex) Data( 16000)= -11184811 0x FF555555(Hex) Data( 16001)= 0 0x 0(Hex) Data( 16002)= 0 0x 0(Hex) Data( 16003)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[67]% NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1318 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0xfa00, 64000 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after mtc: cc->k->maclo = 0x0 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1318, dma_addr = 0x1318 NOTICE: cc_strategy: after amr: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cser: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after docr: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after sccr: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after csr: cc->k->maclo = 0x1318 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x1318 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x7d00 NOTICE: cc_strategy: cc->k->cser = 0x800 NOTICE: cc_strategy: cc->k->docr = 0xb892 NOTICE: cc_strategy: cc->k->sccr = 0x400 NOTICE: cc_strategy: cc->k->csr = 0xc0 NOTICE: cc_intr: 0xe onl50t[67]% cam2 Input transfer mode (1:word 2:long word) >2 Input loop >1 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >16000 Input n a f >3 0 16 Input data >6636321 MODE=1 N= 3 A= 0 F=16 len=16000 lenr=16000 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)= 6636321 0x 654321(Hex) Data( 7)= 6636321 0x 654321(Hex) Data( 8)= 6636321 0x 654321(Hex) Data( 9)= 6636321 0x 654321(Hex) Data( 10)= 6636321 0x 654321(Hex) Data( 15997)= 6636321 0x 654321(Hex) Data( 15998)= 6636321 0x 654321(Hex) Data( 15999)= 6636321 0x 654321(Hex) Data( 16000)= 6636321 0x 654321(Hex) Data( 16001)= 0 0x 0(Hex) Data( 16002)= 0 0x 0(Hex) Data( 16003)= 0 0x 0(Hex) Data( 15998)= 6636321 0x 654321(Hex) Data( 15999)= 6636321 0x 654321(Hex) Data( 16000)= 6636321 0x 654321(Hex) Data( 16001)= 0 0x 0(Hex) Data( 16002)= 0 0x 0(Hex) Data( 16003)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[68]% NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1318 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0xfa00, 64000 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after mtc: cc->k->maclo = 0x0 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1318, dma_addr = 0x1318 NOTICE: cc_strategy: after amr: cc->k->maclo = 0x1318 NOTICE: cc_strategy: after cser: cc->k->maclo = 0x1318 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x1318 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x7d00 NOTICE: cc_strategy: cc->k->cser = 0x800 NOTICE: cc_strategy: cc->k->docr = 0xb812 NOTICE: cc_strategy: cc->k->sccr = 0x400 NOTICE: cc_strategy: cc->k->csr = 0xe0 NOTICE: cc_intr: 0xe NOTICE: cc_intr: 0xe ok. 正常に実行できた。 (3-2-10). 連続してブロック転送 read/write を実行 onl50t[43]% 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 >20 Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 20 error= 0(Hex) Data( 1)= 21845 0x 5555(Hex) Data( 2)= 21845 0x 5555(Hex) Data( 3)= 21845 0x 5555(Hex) Data( 4)= 21845 0x 5555(Hex) Data( 5)= 21845 0x 5555(Hex) Data( 6)= 21845 0x 5555(Hex) Data( 7)= 21845 0x 5555(Hex) Data( 8)= 21845 0x 5555(Hex) Data( 9)= 21845 0x 5555(Hex) Data( 10)= 21845 0x 5555(Hex) Data( 17)= 21845 0x 5555(Hex) Data( 18)= 21845 0x 5555(Hex) Data( 19)= 21845 0x 5555(Hex) Data( 20)= 21845 0x 5555(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( 18)= 21845 0x 5555(Hex) Data( 19)= 21845 0x 5555(Hex) Data( 20)= 21845 0x 5555(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 0 error= 0(Hex) ^C <---- ここでフリーズした 2917 の reset ボタンを 押して中断した。 *** TERMINATING cam2 *** Received signal 2 SIGINT onl50t[44]% NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after mtc: cc->k->maclo = 0x0 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_strategy: after amr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cser: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after docr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after sccr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after csr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x14 NOTICE: cc_strategy: cc->k->cser = 0x800 NOTICE: cc_strategy: cc->k->docr = 0xb892 NOTICE: cc_strategy: cc->k->sccr = 0x400 NOTICE: cc_strategy: cc->k->csr = 0xc0 NOTICE: cc_intr: 0xe NOTICE: cc_intr: 0xe onl50t console login: onl50t console login: onl50t console login: NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 <---- フリーズした時ここまでメッセージ は表示されている。 reset ボタン を押した時、以降のメッセージが 表示された。 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after mtc: cc->k->maclo = 0x0 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_strategy: after amr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cser: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after docr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after sccr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after csr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x14 NOTICE: cc_strategy: cc->k->cser = 0x8000 NOTICE: cc_strategy: cc->k->docr = 0xb892 NOTICE: cc_strategy: cc->k->sccr = 0x480 NOTICE: cc_strategy: cc->k->csr = 0xc0 NOTICE: cc_intr: 0xe NOTICE: cc_intr: 0xe 連続的にブロック転送を実行すると、06 のバージョンの2917では2回目に フリーズする。 cc_strategy()ルーチンの中で 2917の各レジスタを設定する前に、2917 の リセットをやるように変更してみる。 static int cc_strategy(struct buf *bp) { : /* E.Inoue */ cc->k->csr = CC_RST; /* K2917 Reset */ cc->k->maclo = dma_addr & 0xFFFF; /* Set DMA base address */ cmn_err(CE_NOTE," cc_strategy: after reset: cc->k->maclo = 0x%x", cc->k->mac lo); /* end */ if (cc->klist == CC_KLIST_NO) { cc->k->cma = CC_CMA_INIT; /* Initialize memory pointer */ cmn_err(CE_NOTE," cc_strategy: after cma: cc->k->maclo = 0x%x", cc->k->maclo ); cc->k->cmr = mode | (cc->cur_crate << 8); : 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# # onl50t[42]% ls -l /dev/cc lrwxrwxrwx 1 root other 37 Jul 11 13:14 /dev/cc -> /devices/pci@1f ,0/vme@5/cc@2d,ff00:cc onl50t[43]% cam2 で5ループ繰り返し実行してみる。 onl50t[43]% 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 >20 Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 20 error= 0(Hex) Data( 1)= 21845 0x 5555(Hex) Data( 2)= 21845 0x 5555(Hex) Data( 3)= 21845 0x 5555(Hex) Data( 4)= 21845 0x 5555(Hex) Data( 5)= 21845 0x 5555(Hex) Data( 6)= 21845 0x 5555(Hex) Data( 7)= 21845 0x 5555(Hex) Data( 8)= 21845 0x 5555(Hex) Data( 9)= 21845 0x 5555(Hex) Data( 10)= 21845 0x 5555(Hex) Data( 17)= 21845 0x 5555(Hex) Data( 18)= 21845 0x 5555(Hex) Data( 19)= 21845 0x 5555(Hex) Data( 20)= 21845 0x 5555(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( 18)= 21845 0x 5555(Hex) Data( 19)= 21845 0x 5555(Hex) Data( 20)= 21845 0x 5555(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 20 error= 0(Hex) Data( 1)= 21845 0x 5555(Hex) Data( 2)= 21845 0x 5555(Hex) Data( 3)= 21845 0x 5555(Hex) Data( 4)= 21845 0x 5555(Hex) Data( 5)= 21845 0x 5555(Hex) Data( 6)= 21845 0x 5555(Hex) Data( 7)= 21845 0x 5555(Hex) Data( 8)= 21845 0x 5555(Hex) Data( 9)= 21845 0x 5555(Hex) Data( 10)= 21845 0x 5555(Hex) Data( 17)= 21845 0x 5555(Hex) Data( 18)= 21845 0x 5555(Hex) Data( 19)= 21845 0x 5555(Hex) Data( 20)= 21845 0x 5555(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( 18)= 21845 0x 5555(Hex) Data( 19)= 21845 0x 5555(Hex) Data( 20)= 21845 0x 5555(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 20 error= 0(Hex) Data( 1)= 21845 0x 5555(Hex) Data( 2)= 21845 0x 5555(Hex) Data( 3)= 21845 0x 5555(Hex) Data( 4)= 21845 0x 5555(Hex) Data( 5)= 21845 0x 5555(Hex) Data( 6)= 21845 0x 5555(Hex) Data( 7)= 21845 0x 5555(Hex) Data( 8)= 21845 0x 5555(Hex) Data( 9)= 21845 0x 5555(Hex) Data( 10)= 21845 0x 5555(Hex) Data( 17)= 21845 0x 5555(Hex) Data( 18)= 21845 0x 5555(Hex) Data( 19)= 21845 0x 5555(Hex) Data( 20)= 21845 0x 5555(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( 18)= 21845 0x 5555(Hex) Data( 19)= 21845 0x 5555(Hex) Data( 20)= 21845 0x 5555(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 20 error= 0(Hex) Data( 1)= 21845 0x 5555(Hex) Data( 2)= 21845 0x 5555(Hex) Data( 3)= 21845 0x 5555(Hex) Data( 4)= 21845 0x 5555(Hex) Data( 5)= 21845 0x 5555(Hex) Data( 6)= 21845 0x 5555(Hex) Data( 7)= 21845 0x 5555(Hex) Data( 8)= 21845 0x 5555(Hex) Data( 9)= 21845 0x 5555(Hex) Data( 10)= 21845 0x 5555(Hex) Data( 17)= 21845 0x 5555(Hex) Data( 18)= 21845 0x 5555(Hex) Data( 19)= 21845 0x 5555(Hex) Data( 20)= 21845 0x 5555(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( 18)= 21845 0x 5555(Hex) Data( 19)= 21845 0x 5555(Hex) Data( 20)= 21845 0x 5555(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 20 error= 0(Hex) Data( 1)= 21845 0x 5555(Hex) Data( 2)= 21845 0x 5555(Hex) Data( 3)= 21845 0x 5555(Hex) Data( 4)= 21845 0x 5555(Hex) Data( 5)= 21845 0x 5555(Hex) Data( 6)= 21845 0x 5555(Hex) Data( 7)= 21845 0x 5555(Hex) Data( 8)= 21845 0x 5555(Hex) Data( 9)= 21845 0x 5555(Hex) Data( 10)= 21845 0x 5555(Hex) Data( 17)= 21845 0x 5555(Hex) Data( 18)= 21845 0x 5555(Hex) Data( 19)= 21845 0x 5555(Hex) Data( 20)= 21845 0x 5555(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( 18)= 21845 0x 5555(Hex) Data( 19)= 21845 0x 5555(Hex) Data( 20)= 21845 0x 5555(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[44]% この実行時のコンソール上のメッセージは以下のとおり。 CAMAC device driver V1.4x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at vme0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 vmeplus0 at vme0: vme16d16 0x0 and vme24d16 0x0 and vme32d16 0x0 and vme16d32 0x 0 and vme24d32 0x0 and vme32d32 0x0 and space 0x2f offset 0x0 and space 0x6f offset 0x0 and space 0x10 offset 0x0 and space 0x11 offset 0x0 and space 0x50 offset 0x0 and space 0x51 offset 0x0 vmedma0 at vme0 vmefdma0 at vme0 vmedvma0 at vme0 vmectl0 at vme0 NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after mtc: cc->k->maclo = 0x0 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_strategy: after amr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cser: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after docr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after sccr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after csr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x14 NOTICE: cc_strategy: cc->k->cser = 0x800 NOTICE: cc_strategy: cc->k->docr = 0xb892 NOTICE: cc_strategy: cc->k->sccr = 0x400 NOTICE: cc_strategy: cc->k->csr = 0xc0 NOTICE: cc_intr: 0xe NOTICE: cc_intr: 0xe NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after mtc: cc->k->maclo = 0x0 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_strategy: after amr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cser: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after docr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after sccr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after csr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x14 NOTICE: cc_strategy: cc->k->cser = 0x800 NOTICE: cc_strategy: cc->k->docr = 0xb892 NOTICE: cc_strategy: cc->k->sccr = 0x400 NOTICE: cc_strategy: cc->k->csr = 0xc0 NOTICE: cc_intr: 0xe NOTICE: cc_intr: 0xe NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after mtc: cc->k->maclo = 0x0 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_strategy: after amr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cser: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after docr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after sccr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after csr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x14 NOTICE: cc_strategy: cc->k->cser = 0x800 NOTICE: cc_strategy: cc->k->docr = 0xb892 NOTICE: cc_strategy: cc->k->sccr = 0x400 NOTICE: cc_strategy: cc->k->csr = 0xc0 NOTICE: cc_intr: 0xe NOTICE: cc_intr: 0xe NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after mtc: cc->k->maclo = 0x0 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_strategy: after amr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cser: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after docr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after sccr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after csr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x14 NOTICE: cc_strategy: cc->k->cser = 0x800 NOTICE: cc_strategy: cc->k->docr = 0xb892 NOTICE: cc_strategy: cc->k->sccr = 0x400 NOTICE: cc_strategy: cc->k->csr = 0xc0 NOTICE: cc_intr: 0xe NOTICE: cc_intr: 0xe NOTICE: cc_strategy: cc->ccount = 0x1, 1 NOTICE: cc_strategy: cc->dma_cookie.dmac_address = 0x1c20 NOTICE: cc_strategy: cc->dma_cookie.dmac_size = 0x28, 40 NOTICE: cc_strategy: after reset: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, mode: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, naf: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, len: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, 0xffff: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cmr, halt: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cma: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after mtc: cc->k->maclo = 0x0 NOTICE: cc_strategy: after machi: cc->k->maclo = 0x0 NOTICE: cc_strategy: after maclo: cc->k->maclo = 0x1c20, dma_addr = 0x1c20 NOTICE: cc_strategy: after amr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after cser: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after docr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after sccr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: after csr: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->machi = 0x0 NOTICE: cc_strategy: cc->k->maclo = 0x1c20 NOTICE: cc_strategy: cc->k->amr = 0xffff NOTICE: cc_strategy: cc->k->mtc = 0x14 NOTICE: cc_strategy: cc->k->cser = 0x800 NOTICE: cc_strategy: cc->k->docr = 0xb892 NOTICE: cc_strategy: cc->k->sccr = 0x400 NOTICE: cc_strategy: cc->k->csr = 0xc0 NOTICE: cc_intr: 0xe NOTICE: cc_intr: 0xe ok. 正常に実行できた。 (3-2-11). デバッグ用のメッセージ出力をはずして実行 16ビットブロック転送を 5ループ実行する。 onl50t[63]% 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 >20 Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len= 20 lenr= 20 error= 0(Hex) Data( 1)= 21845 0x 5555(Hex) Data( 2)= 21845 0x 5555(Hex) Data( 3)= 21845 0x 5555(Hex) Data( 4)= 21845 0x 5555(Hex) Data( 5)= 21845 0x 5555(Hex) Data( 6)= 21845 0x 5555(Hex) Data( 7)= 21845 0x 5555(Hex) Data( 8)= 21845 0x 5555(Hex) Data( 9)= 21845 0x 5555(Hex) Data( 10)= 21845 0x 5555(Hex) Data( 17)= 21845 0x 5555(Hex) Data( 18)= 21845 0x 5555(Hex) Data( 19)= 21845 0x 5555(Hex) Data( 20)= 21845 0x 5555(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( 18)= 21845 0x 5555(Hex) Data( 19)= 21845 0x 5555(Hex) Data( 20)= 21845 0x 5555(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >777 MODE=1 N= 3 A= 0 F=16 len= 20 lenr= 20 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)= 777 0x 309(Hex) Data( 7)= 777 0x 309(Hex) Data( 8)= 777 0x 309(Hex) Data( 9)= 777 0x 309(Hex) Data( 10)= 777 0x 309(Hex) Data( 17)= 777 0x 309(Hex) Data( 18)= 777 0x 309(Hex) Data( 19)= 777 0x 309(Hex) Data( 20)= 777 0x 309(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( 18)= 777 0x 309(Hex) Data( 19)= 777 0x 309(Hex) Data( 20)= 777 0x 309(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 20 lenr= 20 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)= 777 0x 309(Hex) Data( 7)= 777 0x 309(Hex) Data( 8)= 777 0x 309(Hex) Data( 9)= 777 0x 309(Hex) Data( 10)= 777 0x 309(Hex) Data( 17)= 777 0x 309(Hex) Data( 18)= 777 0x 309(Hex) Data( 19)= 777 0x 309(Hex) Data( 20)= 777 0x 309(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( 18)= 777 0x 309(Hex) Data( 19)= 777 0x 309(Hex) Data( 20)= 777 0x 309(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >65535 MODE=1 N= 3 A= 0 F=16 len= 20 lenr= 20 error= 0(Hex) Data( 1)= -1 0x FFFF(Hex) Data( 2)= -1 0x FFFF(Hex) Data( 3)= -1 0x FFFF(Hex) Data( 4)= -1 0x FFFF(Hex) Data( 5)= -1 0x FFFF(Hex) Data( 6)= -1 0x FFFF(Hex) Data( 7)= -1 0x FFFF(Hex) Data( 8)= -1 0x FFFF(Hex) Data( 9)= -1 0x FFFF(Hex) Data( 10)= -1 0x FFFF(Hex) Data( 17)= -1 0x FFFF(Hex) Data( 18)= -1 0x FFFF(Hex) Data( 19)= -1 0x FFFF(Hex) Data( 20)= -1 0x FFFF(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( 18)= -1 0x FFFF(Hex) Data( 19)= -1 0x FFFF(Hex) Data( 20)= -1 0x FFFF(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 20 lenr= 20 error= 0(Hex) Data( 1)= -1 0x FFFF(Hex) Data( 2)= -1 0x FFFF(Hex) Data( 3)= -1 0x FFFF(Hex) Data( 4)= -1 0x FFFF(Hex) Data( 5)= -1 0x FFFF(Hex) Data( 6)= -1 0x FFFF(Hex) Data( 7)= -1 0x FFFF(Hex) Data( 8)= -1 0x FFFF(Hex) Data( 9)= -1 0x FFFF(Hex) Data( 10)= -1 0x FFFF(Hex) Data( 17)= -1 0x FFFF(Hex) Data( 18)= -1 0x FFFF(Hex) Data( 19)= -1 0x FFFF(Hex) Data( 20)= -1 0x FFFF(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Data( 18)= -1 0x FFFF(Hex) Data( 19)= -1 0x FFFF(Hex) Data( 20)= -1 0x FFFF(Hex) Data( 21)= 0 0x 0(Hex) Data( 22)= 0 0x 0(Hex) Data( 23)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[64]% CAMAC device driver V1.4x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at vme0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 ok. 16ビットブロック転送 5ループは正常に実行できた。 24ビットブロック転送を 5ループ実行する。 onl50t[68]% 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 >16000 Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len=16000 lenr=16000 error= 0(Hex) Data( 1)= -11184811 0x FF555555(Hex) Data( 2)= -11184811 0x FF555555(Hex) Data( 3)= -11184811 0x FF555555(Hex) Data( 4)= -11184811 0x FF555555(Hex) Data( 5)= -11184811 0x FF555555(Hex) Data( 6)= -11184811 0x FF555555(Hex) Data( 7)= -11184811 0x FF555555(Hex) Data( 8)= -11184811 0x FF555555(Hex) Data( 9)= -11184811 0x FF555555(Hex) Data( 10)= -11184811 0x FF555555(Hex) Data( 15997)= -11184811 0x FF555555(Hex) Data( 15998)= -11184811 0x FF555555(Hex) Data( 15999)= -11184811 0x FF555555(Hex) Data( 16000)= -11184811 0x FF555555(Hex) Data( 16001)= 0 0x 0(Hex) Data( 16002)= 0 0x 0(Hex) Data( 16003)= 0 0x 0(Hex) Data( 15998)= -11184811 0x FF555555(Hex) Data( 15999)= -11184811 0x FF555555(Hex) Data( 16000)= -11184811 0x FF555555(Hex) Data( 16001)= 0 0x 0(Hex) Data( 16002)= 0 0x 0(Hex) Data( 16003)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >6636321 MODE=1 N= 3 A= 0 F=16 len=16000 lenr=16000 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)= 6636321 0x 654321(Hex) Data( 7)= 6636321 0x 654321(Hex) Data( 8)= 6636321 0x 654321(Hex) Data( 9)= 6636321 0x 654321(Hex) Data( 10)= 6636321 0x 654321(Hex) Data( 15997)= 6636321 0x 654321(Hex) Data( 15998)= 6636321 0x 654321(Hex) Data( 15999)= 6636321 0x 654321(Hex) Data( 16000)= 6636321 0x 654321(Hex) Data( 16001)= 0 0x 0(Hex) Data( 16002)= 0 0x 0(Hex) Data( 16003)= 0 0x 0(Hex) Data( 15998)= 6636321 0x 654321(Hex) Data( 15999)= 6636321 0x 654321(Hex) Data( 16000)= 6636321 0x 654321(Hex) Data( 16001)= 0 0x 0(Hex) Data( 16002)= 0 0x 0(Hex) Data( 16003)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len=16000 lenr=16000 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)= -10140895 0x FF654321(Hex) Data( 7)= -10140895 0x FF654321(Hex) Data( 8)= -10140895 0x FF654321(Hex) Data( 9)= -10140895 0x FF654321(Hex) Data( 10)= -10140895 0x FF654321(Hex) Data( 15997)= -10140895 0x FF654321(Hex) Data( 15998)= -10140895 0x FF654321(Hex) Data( 15999)= -10140895 0x FF654321(Hex) Data( 16000)= -10140895 0x FF654321(Hex) Data( 16001)= 0 0x 0(Hex) Data( 16002)= 0 0x 0(Hex) Data( 16003)= 0 0x 0(Hex) Data( 15998)= -10140895 0x FF654321(Hex) Data( 15999)= -10140895 0x FF654321(Hex) Data( 16000)= -10140895 0x FF654321(Hex) Data( 16001)= 0 0x 0(Hex) Data( 16002)= 0 0x 0(Hex) Data( 16003)= 0 0x 0(Hex) Input n a f >3 1 0 MODE=1 N= 3 A= 1 F= 0 len=16000 lenr=16000 error= 0(Hex) Data( 1)= -11184811 0x FF555555(Hex) Data( 2)= -11184811 0x FF555555(Hex) Data( 3)= -11184811 0x FF555555(Hex) Data( 4)= -11184811 0x FF555555(Hex) Data( 5)= -11184811 0x FF555555(Hex) Data( 6)= -11184811 0x FF555555(Hex) Data( 7)= -11184811 0x FF555555(Hex) Data( 8)= -11184811 0x FF555555(Hex) Data( 9)= -11184811 0x FF555555(Hex) Data( 10)= -11184811 0x FF555555(Hex) Data( 15997)= -11184811 0x FF555555(Hex) Data( 15998)= -11184811 0x FF555555(Hex) Data( 15999)= -11184811 0x FF555555(Hex) Data( 16000)= -11184811 0x FF555555(Hex) Data( 16001)= 0 0x 0(Hex) Data( 16002)= 0 0x 0(Hex) Data( 16003)= 0 0x 0(Hex) Data( 15998)= -11184811 0x FF555555(Hex) Data( 15999)= -11184811 0x FF555555(Hex) Data( 16000)= -11184811 0x FF555555(Hex) Data( 16001)= 0 0x 0(Hex) Data( 16002)= 0 0x 0(Hex) Data( 16003)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len=16000 lenr=16000 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)= -10140895 0x FF654321(Hex) Data( 7)= -10140895 0x FF654321(Hex) Data( 8)= -10140895 0x FF654321(Hex) Data( 9)= -10140895 0x FF654321(Hex) Data( 10)= -10140895 0x FF654321(Hex) Data( 15997)= -10140895 0x FF654321(Hex) Data( 15998)= -10140895 0x FF654321(Hex) Data( 15999)= -10140895 0x FF654321(Hex) Data( 16000)= -10140895 0x FF654321(Hex) Data( 16001)= 0 0x 0(Hex) Data( 16002)= 0 0x 0(Hex) Data( 16003)= 0 0x 0(Hex) Data( 15998)= -10140895 0x FF654321(Hex) Data( 15999)= -10140895 0x FF654321(Hex) Data( 16000)= -10140895 0x FF654321(Hex) Data( 16001)= 0 0x 0(Hex) Data( 16002)= 0 0x 0(Hex) Data( 16003)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[69]% CAMAC device driver V1.4x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at vme0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 ok. 24ビットブロック転送 5ループは正常に実行できた。 ---xxxx ここまでやった(継続中) --- (6). セクション (6-1). サブセクション (6-1-1). サブサブセクション