(toppers-users 2291) Re: 時間計測とsyslog

ykominami ykominami @ nifty.com
2006年 2月 3日 (金) 10:12:23 JST


小南です.

On Thu, 2 Feb 2006 22:54:38 +0900
Tetsuo TAKAHASHI <tetsu-t @ mbd.ocn.ne.jp> wrote:

> 高橋です。
> 
> みなさん、ありがとうございます。
> 
 (略)

> >> config/sh3/solution_engine/ms7750se01.h
> >> 内の記述で、
> >> /*
> >> *  キャッシュモードの設定
> >> *  P0,U0,P1ライトスルーモード
> >> */
> >> #define CCR_MODE      0x0000898d
> >> とありますが、コピーバックモードの設定のように見えるのです 
> >> が・・・。
> >> SHの設定は、経験が少ないので勘違いかもしれません。
> > 私が使っているボードはSH3のMS7727CP01なので断言す 
> > るのは少し自信
> > がないのですが、ライトスルーモードにするには、0x0000898b 
> > ではない
> > かと思います.
 
> そうですね。別実装のITRON準拠OSの処理を見ていて、お 
> かしいなと
> 思いました。
> で、これは、コメントの間違いですよね。
> ライトスルーモードの方が、処理時間としては速くなりますよね。
> #キャッシュにヒットするなら・・・

念のために補足しますと,他のSH3用のターゲット依存部での設定値は、
コメント通りにライトスルーモードを指定しています。
 

> サンプル用のボードですので、試用期間が終わる前に他の処理の試用も 
> 実施しないと
> いけませんので、とりあえずこの件について追求するのは中止といたし 
> ました。
> #本質問をするまでに1週間程やってましたので。
> 
> 以上、アドバイスありがとうございました。
> また、何かありましたらアドバイスを頂きたく思います。
> 

 (略)

> PS.
> 一つ気になるのは、start.Sで設定したはずのCCRのモード 
> が、メインタスクを
> 起動した時に、そのCCRのアドレスを確認すると設定したはずの 
> 値にはなっていない
> と言うのが気になったのですが、そういうものでしょうか。
当面は計測をRTOSなしで行う予定とのことでしたので、以下は参考程度
にお読みください。

キャッシュを有効にするかという議論とは別に、キャッシュコントローラ
の操作方法も気を付けないとはまり易い点だと思います.

メインタスク起動時に、CCRの値がstart.Sで設定したはずの値になって
いないというのは、CCRの操作に失敗している確率が高いです.
CCRを正しい方法で設定しないと、以後のCPUの挙動が不安定になる可能性
が高くなります.
実はTOPPERS/JSPのSH3/4ターゲット依存部のstart.Sでのキャッシュ
コントローラの設定方法は、start.Sに来た時点でキャッシュが無効に
なっていることが前提になっています。
そのため、もしブートローダ等でキャッシュを有効にした状態でstart.S
にくると、CCRを正しい設定方法で設定しないことになり、CPUの動作が
不安定になりやすいです。
実際に、私はSH3で経験しました.
SH4の場合は、キャッシュコントローラの機能も増えているので、他にも
気を付けないといけない点はあるかもしれません。
-----------------------------------------------
小南 ykominami @ nifty.com