記事 ID: 000079588 コンテンツタイプ: トラブルシューティング 最終改訂日: 2021/08/29

割り込み API 呼び出しでエラーを構築する

環境

    インテル® Quartus® II サブスクリプション・エディション
BUILT IN - ARTICLE INTRO SECOND COMPONENT

クリティカルな問題

詳細

アプリケーション・プロジェクトの場合、ビルド・エラーが発生する場合があります。 この機能を呼び出す ISR をインストール alt_irq_register() します。

Nios II EDS バージョン 9.1 には、オプションのサポートが含まれています Nios II・プロセッサーの外部割り込みコントローラー (EIC) インターフェイス EIC インターフェイスをサポートするために、HALにはエンハンスト割り込みが含まれています。 API。

BSP を作成すると、SBT はどの割り込みを決定します。 お使いのシステムでサポートされているデバイスドライバーを API でサポートします。すべての登録されている場合 BSP のドライバーは、強化されたドライバーをサポートしていると識別します。 API、SBT は強化された API を実装します。すべてのAlteraデバイスドライバー バージョン 9.1 以降では、拡張 API をサポートしています。

拡張 API が実装されると、レガシー割り込み API を含む alt_irq_register() は利用できません。 そのため、アプリケーションコードにレガシー API の呼び出しが含まれている場合 エラーが生じます。

この問題は、電話 alt_irq_register() または その他のレガシー割り込み API 関数は、依存するのではなく、直接 割り込みをサポートするために BSP のドライバーで。

お使いのアプリケーション・プロジェクトのソースコードがNios IIされている場合 ISR を使用している alt_irq_register() 、または ISR を含む アプリケーションが Nios II EDS バージョンでコンパイルに失敗する可能性があります 9.1、への未定義の参照のため alt_irq_register() 、 または ISR 機能プロトタイプへの変更。

解決方法

アプリケーション・コードを変更して、新しいエンハンスト割り込み API を使用します。拡張 API を使用するには、いくつかのファンクション呼び出しとすべての ISR 関数プロトタイプを変更する必要があります。

エンハンスト割り込み API のサポートについては、Nios II ソフトウェア開発者ハンドブック例外処理の章、またはAN 595: Vectored Interrupt Controller の使用とアプリケーションを参照してください。

ハードウェア・デザインで EIC を使用して割り込み応答時間を高速化する場合は、拡張 API にアップグレードする必要があります。拡張 API は、Nios II プロセッサーの内部割り込みコントローラーでも動作します。

関連製品

本記事の適用対象: 1 製品

インテル® プログラマブル・デバイス

1

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。このコンテンツはお客様の便宜と一般的な情報のみを目的として提供されており、情報の正確さと完全性を保証するものではありません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。