0

私は VxWorks ドライバーの開発に足を踏み入れています。私の問題は、カーネル構成設定でドライバーコンポーネントを検索できることですが、常にグレー表示され、含めることができません。右クリックして「チェック」を選択すると、「未定義の参照 mydriver.o」と表示されます

vxBus ドライバーの開発者向けドキュメントを読み、既存の/機能しているドライバーを使用して開発フローをテストし、ファイル名/関数名/印刷文字列を単純に変更することにしました。既存の *.c、*.h、*.cdf、*.dc、*.dr を適宜コピーして修正しました。

また、「wrsample」ドライバーの場合と同様に、ドライバーのソース ファイルを target/3rdparty ディレクトリに配置してみました。

また、config.h ファイルに正しい #define ステートメントを挿入して、ドライバーを強制的にインスタンス化しようとしましたが、うまくいきませんでした。

誰でも助けを提供できますか?*.o ファイルを生成するには、ドライバー ソースを事前にビルドする必要があるようですが、その方法がわかりません。変更した既存のドライバーの *.o ファイルが見つかりませんでした...

4

1 に答える 1

1

自分でそれを考え出しました。Makefile を作成してソースをコンパイルする必要がありました (事前に... vxWorks でドライバーを使用する前に)。WindRiver Tornado 用に自動生成された makefile をテンプレートとして使用して、ドライバーの makefile を作成しました。次に、vxWorks の make を呼び出すバッチ ファイルを作成しました。

既存のドライバーにオブジェクト ファイルがなかった理由は、オブジェクトが *.o だけでなく、ドライバー ライブラリ (*.a) に追加されるためです。

すべてのドライバー ファイルは target/3rdparty ディレクトリにありますが、動作させるには *.cdf ファイルと *.h ファイルを他のディレクトリにコピーする必要がありました。これをバッチファイルのステップにしました。

于 2015-08-05T21:44:10.443 に答える