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

(toppers-users 2130) SH-3(SH7727)での100MHz超の



皆様、はじめまして。水谷と申します。

SH-3 SH7727(HD6417727F160)上にTOPPERS/JSP1.3カーネルを載せて、
独自開発のボード上で使用させていただいています。

SH7727を内部クロック96MHzで正常動作させることは出来たのですが、
これを144MHzで動作させることができずに苦戦しています。
恐縮ながら、解決の糸口を見つけたく質問させていただきます。

Web上のSH7727のターゲットシステムのページに載っているCPUボード
(MS7727CP01)は内部動作周波数が最大96MHzですので、HD6417727F160の
144MHzでの動作はサポート外な気がしますが、タイマ割り込みさえ正確に
入れることが出来ていればカーネルはクロック依存はしないように
理解しています。

カーネル起動後に待ち系のシステムコール(dly_tsk()など)を使ったり、
複数のタスクを起動させたあたりから、不規則にCPU例外が発生して
しまいます。
内部クロックが96MHzのときでも144MHzのときでも周辺クロック
(とバスクロック)が同じクロックになるように設定しているのですが、
144MHzのときだけ動作しません。
(ただし、キャッシュをオフにすると動作します)

タイムティックの供給元となるタイマクロックは1.5MHzで動作させています。
 #define TIMER_CLOCK 1500
 #define TIC_NUME    1
 #define TIC_DENO    1

コンパイラ/開発環境はRenesas Tech.様のSH C/C++ Compiler(7.1)/HEWを
使用しています。

カーネル起動前に動作させているプログラムや、カーネル起動直後に
システムコールを使用しないプログラムを動かすとは正常動作しますので、
CPUのレジスタ設定に間違いは無いと思っています。
また、(印加している電圧など)ハードウェア面でも問題が無いとしたら、
他にどのような原因が考えられるでしょうか?

ヘッダファイルの設定で気をつけるべきこと、改造が必要なのか、など、
どんなことでも構いませんのでご教授いただけると助かります。
恥ずかしながら私は組み込みソフトの設計は初めてでして、
どんな小さなことでもご指摘いただけますとありがたいです。

以上、よろしくお願いいたします。