(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