Workbench から PXE ブート可能な VxWorks ブート ローダーをビルドしようとしていますが、うまくいきません。私の環境の概要は次のとおりです。
- VxWorks 6.6 + 最新のパッチ
- Workbench 3.0 + 最新のパッチ
- モンテビーナ BSP リリース 2.0/1
ターゲットは Dell Precision M4400 ラップトップです。成功せずに私がやっていることは次のとおりです。
- プロファイル
VxWorks Image Project
を使用して、Montevina BSP に基づいて Workbenchで新規作成します。PROFILE_BOOTAPP
- 次のコンポーネントをカーネル構成に追加します (それ以外の場合、ビルドは失敗します):
-INCLUDE_TIMER_SYS
-INCLUDE_PCI_BUS
-INCLUDE_PCI_OLD_CONFIG_ROUTINES
-INCLUDE_PENTIUM_PCI
- コンソール表示用のカーネル構成にコンポーネントを追加し
INCLUDE_PC_CONSOLE
ます (ターゲットにシリアル ポートはありません)。 - ビルド仕様を に設定し、次の
default_romCompress
名前の新しいビルド ターゲットを追加します。vxWorks_romCompress.bin
vxWorks_romCompress.bin
ターゲットをビルドすると、対応するファイルが作成されます。- ファイルに PXE パディングを追加します。
cat $WIND_BASE/vxworks-6.6/target/config/montevina/pxeBoot.bin vxWorks_romCompress.bin > vxWorks_romCompress.pxe
- TFTP サーバーの適切な場所にコピー
vxWorks_romCompress.pxe
し、ターゲットから PXE ブートを実行します。
この時点で、ターゲットは TFTP サーバーからファイルを正常にダウンロードしますが、そこで停止し、何も出力されません。コンソールには何も表示されません。
およびは、Workbench プロジェクトで正しく設定されているように見えます (これらは、それぞれ および の従来の config.h ファイルの設定と一致しRAM_HIGH_ADRS
ます) 。RAM_LOW_ADRS
0x00108000
0x003080000
bootrom.pxe
(Montevina BSP にはビルド済みのブート ローダーが同梱されていることに注意してください。これにより、私は PXE ブートに成功しました。ただし、ブート ローダーにいくつかのコンポーネントを追加する必要があります。従来の config.h メソッドではなく、Workbench 環境です。)
Workbench プロジェクトのカーネル構成に含まれるコンポーネントをミラーリングして、従来の config.h 設定に可能な限り一致させることも試みましたが、成功しませんでした。これらは追加されたコンポーネントです (これらの依存関係に加えて):
INCLUDE_PLB_BUS
DRV_NVRAM_FILE
INCLUDE_GENERICPHY
DRV_INTCTLR_IOAPIC
INCLUDE_GEI825XX_VXB_END
DRV_TIMER_IA_TIMESTAMP
INCLUDE_MII_BUS
DRV_INTCTLR_MPAPIC
DRV_SIO_NS16550
INCLUDE_FEI8255X_VXB_END
DRV_TIMER_LOAPIC
INCLUDE_SIO_UTILS
VXBUS_TABLE_CONFIG
INCLUDE_INTCTLR_LIB
INCLUDE_DMA_SYS
INCLUDE_PARAM_SYS
INCLUDE_SW_FPP
だから、それが私が今いるところです。問題は上記の手順 4 ~ 6 にあると思いますが、ワークベンチ内からブート ローダーを PXE ブート可能にする適切な方法について、ドキュメントには何も記載されていません。