AR# 37429

12.1 EDK - _interrupt_handler の複数定義

説明

アプリケーションに Xilkernel を使用しています。割り込みコントローラの設定で microblaze_register_handler() を呼び出します。-lxilkernel をリンクすると、次のエラー メッセージが表示されます。

/cygdrive/c/Software/Xilinx/eval_interrupt/processor_subsystem/SDK_projects/microblaze_0_sw_platform/
microblaze_0/libsrc/standalone_v2_00_a/src/microblaze_interrupt_handler.c:79: multiple definition of '_interrupt_handler'

ソリューション

スタンドアロン OS で使用するのと同じように Xilkernel で割り込みが初期化されないためにこの問題が発生します。Xilkernel の割り込みを初期化するには、OS の割り込みが初期化されるポイントで xilkernel_main() を呼び出す必要があります。xilkernel_main() から起動されるスレッドで、register_int_handler() と enable_interrupt() ファンクションを使用して、より多くのハンドらを格納し、ほかのリソースの割り込みを有効にすることができます。

この詳細は『OS とライブラリ資料コレクション』 (oslib_rm.pdf) に記載されています。

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
34609 EDK 12.x - アンサーのリスト N/A N/A
AR# 37429
日付 12/15/2012
ステータス アクティブ
種類 一般
ツール 詳細 概略