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

(toppers-users 582) INH or ISR



テンシリカの野尻です。

Xtensa へのポーティングで、割り込みの扱いについて疑問があります。

Xtensa には割り込みとして、レベル1とレベル2以上の大きく分類して2種類の
割り込みがあります。レベル2以上には専用のベクタが存在するのですが、C言
語でハンドラを記述するのが困難(あまりにオーバヘッドが大きい)ため、通常
はレベル1のみを用います。
# レベル2以上はカーネル管理外にしています

しかしレベル1には専用のベクタがなく、例外の1要因として扱われます。μ
ITRON4.0 仕様書を読み返してみると、割り込みハンドラはカーネルが提供し、
割り込みサービスルーチンのみ定義可能にした方がいいように読めます。
# 今までちゃんと読んでいませんでした...

このようなアーキテクチャの場合は ATT_ISR を実装し、DEF_INH は実装しな
いというのが正しいのでしょうか。

現状では割り込み番号を INHNO として扱って、ユーザプログラムからは他の
アーキテクチャと同じように、ハンドラが定義できるかのようにしていますが、
どちらの実装方法が望ましいのでしょうか。

一般的に DEF_INH しか使われていないのなら、他に合わせた方がいいのでは
ないかと思ったものですから。

ご助言頂ければ幸いです。
よろしくお願いいたします。

テンシリカ(株)
野尻 尚稔