AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
INT

割り込み管理用ライブラリ

本モジュールは、以下の機能を提供します。

  1. 割込みの禁止/許可
  2. 割込みハンドラの登録/削除
  3. 割込みのマスク設定
  4. 割込み優先度の設定

 

本モジュールは他の機能を提供するライブラリが割り込みを必要とするときその処理を担います。 

割り込み処理関数の仕様はμITRON 4.0仕様の割り込み管理機能にあるサービスコールに基づいています。 

 

ポーティング方法 

 

本モジュールは OSW モジュールを使用して機能を実現しています。 

ライブラリのリリースには代表的なプラットフォームについてOSWモジュールでのポーティング例がありますので参考にして下さい。 

OSWモジュールを使わず直接本モジュールを修正することも可能です。 

 

以下にOSWモジュールを使用してポーティングする場合の注意点をあげます。

  • 1つの割込みに対して複数のハンドラを登録した場合の動作は OSW のポーティングに依存します。 ただし現在Manager層のライブラリからはそのような使い方はしていません。
  • AG903_INTMgrDisableInt を連続で使用した場合のネスト処理は OSW のポーティングに依存します。 ただし現在Manager層のライブラリからはそのような使い方はしていません。
  • 割込み優先度は AG903_INTMgrInit で初期値に設定されます。初期値は OSW の仕様に依存します。
  • 優先度を初期値から変更する場合は、ハンドラを登録する前に AG903_INTMgrSetPriority で変更します。
  • 同一優先度の割り込みの処理順序は任意とします。
  • 割り込みによりコールバック関数を呼び出すとき OSW では次のような状態を想定しています。
    • レジスタの退避と復旧は整数、浮動小数点、ステータスともにOSが行う。コールバック中でのこれらのレジスタを破壊することには制限を設けない。
    • CPU状態は特権でのアクセスが可能なモードであるとし、具体的なモードはOSに依存する。
    • 割り込みの受け付け状態はOSに依存する。Manager層のライブラリではOS管理下にあるCPUおよびGIC(割り込みコントローラ)に対する割り込みの受け付け状態は変更せず、機能ブロックレベルでのマスク操作に限る。

 

ライブラリの依存関係 

 

本モジュールに依存するライブラリは次のとおりです。これらのライブラリを使用する場合は必ず本モジュールのポーティングが必要になります。

 

使用方法 

 

本モジュールの次の関数は機能ごとのライブラリからは実行されないため、予めユーザーが実行して下さい。

 

また割り込みの初期化のみしか行わない機能ごとのライブラリ終了時は 必要に応じ次の関数によりユーザーで割り込みを無効にして下さい。

 

割り込みの初期化のみを行う機能ごとのライブラリは次のとおりです。

 

その他のINTMgrの関数はライブラリ内部から実行するため、ユーザーでは実行しないで下さい。

* 本モジュールの管理対象となる割込みは『AX51903仕様書』に記載されているIRQ0~IRQ63です。

  • 本モジュールはライブラリをポーティングするためのものであり、特に指定がある関数を除きユーザーアプリケーションが割り込みを必要とする場合はOSの割り込みサービスコールを直接呼び出すようにしてください。

OS Wrapper (OSW

基本シーケンス(画像をクリックして拡大) 

 

<説明> 

1. モジュール初期化。「AG903_INTMgrInit」 

2. 割込み優先度設定。「AG903_INTMgrSetPriority」 ※デフォルトで使用する場合は省略可能。 

3. 割込みハンドラ登録。「AG903_INTMgrSetHandler」 

4. 割込み許可。「AG903_INTMgrEnableInt」 

5. 該当IRQ割込みが発生するとOS内で対応ハンドラを検索してコールバックします。 ※INTManagerは介さず直接コールバックされます。 

6. 割込み禁止。「AG903_INTMgrDisableInt」 

7. 割込みハンドラ削除。「AG903_INTMgrDeleteHandler」 

注:割込み優先度の設定はハンドラ登録前に行う必要があります。

名前 
説明 
アプリケーションおよび割り込み処理を伴うManagerに割り込み管理の為のインタフェースを提供します。 
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.