インテルのみ表示可能 — GUID: klc1638580197736
Ixiasoft
インテルのみ表示可能 — GUID: klc1638580197736
Ixiasoft
4.5.2.1.3. ソフトウェア・デザインフロー (SDM経由のブートローダー・プロジェクト)
SDM経由のブートローダーBSPプロジェクトの作成
BSP Editorを起動するには、次の手順に従います。
- プラットフォーム・デザイナー・ウィンドウで、File > New BSP を選択します。Create New BSP ウィンドウが表示されます。
- BSP setting file では、software/mailbox_bootloader/bsp フォルダーに移動し、BSPに settings.bsp という名前を付けます。
BSPパス: <project directory>/software/mailbox_bootloader/bsp/settings.bsp
- System file (qsys or sopcinfo) には、 Nios® Vプロセッサー・プラットフォーム・デザイナー・システム (.qsys) ファイルを選択します。
- Quartus project には、Quartusプロジェクト・ファイルを選択します。
- Revision には、正しいリビジョンを選択します。
- CPU name には、 Nios® Vプロセッサーを選択します。
- Operating system には、Altera HAL を選択します。
- Create をクリックし、BSPファイルを作成します。
BSP EditorのコンフィグレーションとBSPプロジェクトの生成
- BSP Editor > Main > Settings に移動します。
- 次の表に従い、設定をコンフィグレーションします。
表 29. BSP Editorの設定 設定 アクション hal.max_file_descriptors 5
4 を入力します。 hal.log_port 5
None を選択します。 hal.enable_exit 5
hal.enable_clean_exit 5
hal.c_plus_plus 5
Unchecked にし、機能を無効にします。 hal.sys_clk_timer 5
hal.timerstamp_timer 5
hal.stdin 5
hal.stdout 5
hal.stderr 5
None を選択します。 hal.linker 次の設定を有効にします。
• allow_code_at_reset
• enable_alt_load
• enable_alt_load_copy_rodata
• enable_alt_load_copy_rwdata
• enable_alt_load_copy_exceptions
hal.make.cflags_user_flags 5
-ffunction-sections -fdata-sections と入力します。 hal.make.link_flags 5
-Wl,--gc-sections と入力します。 hal.make.cflags_optimization 5
-Os と入力します。 図 54. hal の設定図 55. hal.linker の設定図 56. hal.toolchain の設定図 57. hal.make の設定 - BSP Software Package に移動し、altera_safeclib を有効にします。
図 58. BSP Software Package
- BSP Editorの BSP Linker Script タブをクリックします。
- Linker Section Name の .text 項目には、Linker Region Name にブートローダーROMを設定します。Linker Section Name リストの残りの項目には、ブートローダーRAMを設定します。
図 59. リンカー領域の設定
- BSP Driver タブに移動し、すべてのドライバーを無効にします ( Nios® VプロセッサーおよびMailbox Client Intel® FPGA IPを除く)。
図 60. BSP Driverタブ
- Generate BSP をクリックします。BSPの生成が成功していることを確認します。
- BSP Editorを閉じます。
SDM経由のブートローダー・アプリケーション・プロジェクトの作成
- デザイン例のファイルをダウンロードします (SDM経由のブートローダー・デザイン例のセクションを参照してください)。デザイン例をビルドする必要はありません。
- SDM経由のブートローダー・デザイン例プロジェクトの sw/mailbox_bootloader/app フォルダーに移動します。
- SDM経由のブートローダー (mailbox_bootloader.c) をプロジェクトの software/mailbox_bootloader/app フォルダーにコピーします。
- PAYLOAD_OFFSET を mailbox_bootloader.c. で再定義します。
注: SOFイメージサイズは、PAYLOAD_OFFSET に影響します。PAYLOAD_OFFSET は、QSPIフラッシュの Nios® VアプリケーションHEXファイルの開始アドレスであり、SOFイメージの後の位置を指している必要があります。最小 PAYLOAD_OFFSET は、デバイス・データシートのコンフィグレーション・ビットストリーム・サイズを使用して特定することができます。
例えば、Stratix 10 SX 2800の推定圧縮コンフィグレーション・ビットストリーム・サイズは577Mビット (72.125Mバイト) です。実際のサイズは、このビットストリーム・サイズ以下になることがあります。SOFイメージがアドレス0x0で始まる場合、SOFイメージはアドレス0x44C8FFF (0x44C8A48) まで拡張します。この場合、選択可能な最小 PAYLOAD_OFFSET は0x4500000です。
- Nios Vコマンドシェルを起動します。
- 次のコマンドを実行し、SDM経由のブートローダー・アプリケーションの CMakeLists.txt を生成します。
niosv-app --app-dir=software/mailbox_bootloader/app\ --bsp-dir=software/mailbox_bootloader/bsp\ --srcs=software/mailbox_bootloader/app/mailbox_bootloader.c
SDM経由のブートローダー・プロジェクトのビルド
SDM経由のブートローダー・プロジェクトのビルドには、インテルFPGA向け RiscFree* IDE、またはコマンドライン・インターフェイス (CLI) を使用することができます。
CLIを使用する場合は、次のコマンドを使用してSDM経由のブートローダーをビルドすることができます。
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -B \ software/mailbox_bootloader/app/release -S \ software/mailbox_bootloader/app
make -C software/mailbox_bootloader/app/release
SDM経由のブートローダーファイル (.elf) は、
software/mailbox_bootloader/app/release フォルダーに作成されます。
HEXファイルの生成とメモリーの初期化
ELFファイルからHEXファイルを生成し、HEXファイルをメモリーの初期化に使用できるようにする必要があります。
- Nios Vコマンドシェルを起動します。
- SDM経由のブートローダーの場合は、次のコマンドラインを使用してELFをHEXに変換します。次のコマンドにより、SDM経由のブートローダー (bootcopier_rom.hex) ファイルを作成します。
elf2hex software/mailbox_bootloader/app/release/app.elf \ -o bootcopier_rom.hex \ -b <base address of Bootloader ROM> \ -w <data width of Bootloader ROM in bits> \ -e <end address of Bootloader ROM> \ -r <data width of Bootloader ROM in bytes>
ハードウェア・デザインを再コンパイルし、bootcopier_rom.hex でブートローダーROMをメモリー初期化します。