[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CASSIOPEIA report



鈴木(康)です。
<200005142319.IAA12722@ninja.hpc.bs1.fc.nec.co.jp>の記事において
suz@hpc.bs1.fc.nec.co.jpさんは書きました。

  | 
  | 週末カシオペアをいじってみました。
  | あんまり、進捗がないですが...
  | 
  | 1) ポート 38 の ON で シリアルが使え (OFF で使えなくなる) のを
  | 確認しました。
  | 
  | pbsdboot.exe で対応してもらえると嬉しいです。
  | 
  | 2) ポート 26 の ON でバックライトが点灯するのを確認しました。

あと、LCD を OFF する方法 について

ポート 23 24 25 のいずれを 1->0 にしても 液晶画面が見えなく(?)なります。
23 を OFF にする場合だけ 横に2本線が出て、変な消えかたです。

また、この状態で CPU はちゃんと生きていて、ビットを もとに戻すと
画面も復活します。

本当に OFF になっていて消費電流が少ない状態かどうかまではわかりません。
それは 何時間もつかで検証しようかと思います。

なにもしないで、ほおっておくと 12時間もつのですが、
液晶 OFF ならどれぐらいもつものなのか...興味シンシンです。

  | 肝心のサスペンドの実験は、なんだかうまくいっていません。
  | 
  | vrpmu.c で 次のようにしてみたんですが、
  | power ボタン押したら、それでハングアップするみたい。
  | 
  |         if (intstat1 & PMUINT_POWERSW) j
  |                 vrpmu_pwstate = !vrpmu_pwstate;
  |             if (!vrpmu_pwstate) {
  |                 //_spllower(~MIPS_INT_MASK_0);
  |                 vrip_intr_suspend();
  |                 /* SAVE */
  |                 __asm(".set noreorder");
  |                 __asm(__CONCAT(".word   ",___STRING(VR_OPCODE_STANDBY)));
  |                 __asm("nop");
  |                 __asm("nop");
  |                 __asm("nop");
  |                 __asm("nop");
  |                 __asm("nop");
  |                 __asm(".set reorder");
  |                 /* RESUME */
  |                 vrip_intr_resume();
  |             }
  | 
  | なにか、思い当たることがありましたら、コメントお願いします。

btnmgr.c まで来たところで、

vrip_intr_suspend()
__vrgiu_out(26,1); // バックライト ON
上のasm文
__vrgiu_out(26,0); // バックライト OFF
vrip_intr_resume();

ってしたら、バックライトがつきっぱなしになりました。

割り込みを本当に受けつけないのか、どっかにとんでいったかの
どちらかだと思いますが、検証できていないです。

--
					鈴木 康司 @NECソリューションズ
					suz@hpc.bs1.fc.nec.co.jp
					TEL 042-333-6465