AR# 54322

14.4 EDK-SDK : BSP ソースに加えた変更が BSP プロジェクトをクリーンにするたびに失われる。ライブラリをローカルにする方法

説明

BSP をクリーンにするたびに、これまで適用してきた変更をすべて失うのを避けるため、BSP リポジトリからローカル コピーを作成する方法はありますか。

EDK/SDK インストール パス内にある元の BSP ソースに変更を加える以外の方法はありますか。

 

たとえば、デバッグ メッセージをイネーブルにするため、ライブラリに #define DEBUG および #undef NDEBUG を追加したり、または変更する場合、BSP プロジェクトをクリーンにするとすぐに、これらの変更が失われます。
 
デバッグをイネーブルにするには、テスト アプリケーションを再ビルドする前に BSP を再ビルドする必要があります。

 

ソリューション

ライブラリの変更が上書きされるのは予期動作です。
これは libgen のプロセスで発生します。このプロセスでは、ドライバーのコピーが作成され、BSP に配置され、必要なライブラリがビルドされます。
 
回避策はあります。
lib ドライバーのソースをローカルにして、グローバルリポジトリの代わりにそれを使用する必要があります。
その手順は XPS で IP をローカルにするオプションに似ていますが、SDK でのこのプロセスにはもう少し手作業が発生します。
 
次の手順では、axicdma_v2_01_a を例として使用します。
  1. アプリケーション ソース コードのある場所、または XPS で「drivers」というディレクトリを作成します。
  2. EDK\sw\XilinxProcessorIPLib\drivers にある axicdma_v2_01_a をコピーして、ローカルのドライバー ディレクトリに保存します。
  3. そのディレクトリ名をたとえば「axicdma_v2_01_f 」に変更します。
    この場合、[0-9]_[0-9][0-9]_[a-z] という命名規則に従う必要があるので、「99_99_f」や「2_01_a_mod」といった名前では機能しません。
  4. SDK で [xilinx tools] → [repositories] をクリックし、[local repositories] → [new]、または [global repositories] → [new] をクリックします。
  5. drivers ディレクトリを含むディレクトリをポイントします (drivers の親ディレクトリなど。drivers ディレクトリそのものはポイントしません)。[OK] をクリックします。
  6. リポジトリを再スキャンします。
  7. [OK] をクリックします。
  8. [BSP] を右クリックし、[board support package settings] → [drivers] をクリックして、ドライバーのバージョン列を展開し、新しく作成したバージョンを選択します。
  9. [OK] をクリックします。
 
これで再ビルドが行われるはずです。行われない場合は、[clean BSP] を選択してから BSP をビルドします。
 
注記 : libgen は BSP ディレクトリにあるドライバーのコピーを使用するので、dricers ディレクトリにあるローカル バージョンを変更するたびに、BSP を再ビルドする必要があります。
 
詳細は、SDK にビルトインされているヘルプなどの資料を参照してください ([SDK] → [Help] → [help contents] をクリック)。
「Setting Up Software Repositories」を検索してください。
AR# 54322
日付 02/09/2015
ステータス アクティブ
種類 一般
ツール