[Newbie 8] Re: SH-3のユーザモードについて

Kenichi Nakamura nakamura @ upwind-technology.com
2004年 4月 16日 (金) 10:52:14 JST


中野さん、はじめまして。
中村@アップウィンドテクノロジーです。

Franny wrote:
> はじめまして。中野と申します。
> 
> 現在SH-3を使って開発を行っています。
> これまでにSH-2を使ったことはあるのですが、
> SH-3を使うのははじめてで、SH-2の時とはまるで違うため
> 困っています。
> 
> 特権モードとユーザモードを使い分ける必要性が
> よくわからなかったので、とりあえず特権モードのまま
> 開発を進めてきました。

特権モードは起動時のみに使用し(リセット時は自動的
に特権モードになりますので当然ですが)、アプリケー
ションプログラムは、ユーザモードで動作させるのが
一般的かと思います。

> ある程度、機能を満たしたので、ユーザモードを試してみようと
> 思いました。
> ユーザモードのほうがスピードが上がるということを聞いたためです。
> 
> そこで「処理モードビット」を特権モードからユーザモードに変更しました。
> そうしたらビットを変更したところで、アドレスエラーが発生し、
> 例外割込みが発生しました。
> TEAレジスタに例外を発生させた論理アドレスが格納されると
> マニュアルに書いてあったので、そのレジスタを確認してみたところ
> 処理モードビットを変更した次のステップのアドレスを指していました。

次のステップが原因かと思いますが、そのステップでは、
何をしようとされているのでしょうか?

> ユーザモードにするには単に処理モードビットを変えればいいと
> 思っていたのですが、なにか他に気をつけねばいけないところが
> あるのでしょうか?

例えば、ルネサス様の開発環境を利用されている場合は
便利な関数がいろいろ用意されていますが、それらの中
には、特権モードでのみ実行可能な関数もありますので
モードによって関数を使い分けるなどのプログラミング
が必要です。

> どのようにして確認していけばよいのかもわからない状態です。
> どなたか分かる方、いらっしゃったらご教授願います。
> よろしくお願いします。

本MLの中にSHの専門家がいらっしゃいましたら、是非とも
補足やアドバイスをお願いします。

では、また。

--
アップウィンドテクノロジー・インコーポレイテッド (Upwind Technology, Inc.) 
技術部 中村憲一 
E-mail:nakamura @ upwind-technology.com 
URL:http://www.upwind-technology.com/




Newbie メーリングリストの案内