Nios® Vエンベデッド・プロセッサー・デザイン・ハンドブック

ID 726952
日付 7/08/2024
Public
ドキュメント目次

4.7.1.2. ソフトウェア・デザインフロー

このセクションでは、Nios Vプロセッサー・ソフトウェア・プロジェクトを生成およびビルドするデザインフローを提供します。効率的なビルドフローを実現するには、デザイン・プロジェクトで同様のディレクトリー・ツリーを作成することが推奨されます。次のソフトウェア・デザインフローは、このディレクトリー・ツリーに基づいています。

ソフトウェア・プロジェクトのディレクトリー・ツリーを作成するには、次の手順に従います。

1. デザイン・プロジェクト・フォルダーに、software というフォルダーを作成します。

2. software フォルダーに、2つのフォルダー (app および bsp) を作成します。

図 85. ソフトウェア・プロジェクトのディレクトリー・ツリー

アプリケーションBSPプロジェクトの作成

BSP Editorを起動するには、次の手順に従います。

  1. プラットフォーム・デザイナー・ウィンドウで、File > New BSP を選択します。Create New BSP ウィンドウが表示されます。
  2. BSP setting file では、software/bsp フォルダーに移動し、BSPに settings.bsp という名前を付けます。

    BSPパス: <project directory>/software/bsp/settings.bsp

  3. System file (qsys or sopcinfo) には、 Nios® V/gプロセッサー・プラットフォーム・デザイナー・システム (.qsys) ファイルを選択します。
    注: Quartus® Primeスタンダード・エディションでは、SOPCINFOを使用してBSPファイルを生成します。詳細は、AN 980: Nios® V Processor Quartus® Prime Software Support を参照してください。
  4. Quartus project には、 Quartus® Primeプロジェクト・ファイルを選択します。
  5. Revision には、正しいリビジョンを選択します。
  6. CPU name には、 Nios® V/gプロセッサーを選択します。
  7. Operating system には、Altera HAL を選択します。
  8. Create をクリックし、BSPファイルを作成します。
    図 86. Create New BSPウィンドウ

BSP EditorのコンフィグレーションとBSPプロジェクトの生成

  1. Main > Settings > Advanced > hal.linker に進みます。
  2. allow_code_at_reset のみを有効にします。
    図 87. hal.linker の設定
  3. BSP EditorBSP Linker Script タブをクリックします。
  4. Linker Section Name では、次の設定を行います。
    1. .text および .exceptions にInstruction TCM1を設定します。
    2. 残りのLinker Section NameにData TCM1を設定します。
      図 88. TCMにおけるリンカー領域の設定
  5. Generate BSP をクリックします。BSPの生成が成功していることを確認します。
  6. BSP Editor を閉じます。

アプリケーション・プロジェクト・ファイルの生成

  1. software/app フォルダーに移動し、ユーザー・アプリケーション・ソースコードを作成します。
  2. Nios Vコマンドシェルを起動します。
  3. 次のコマンドを実行し、ユーザー・アプリケーションの CMakeLists.txt を生成します。
niosv-app --app-dir=software/app --bsp-dir=software/bsp \
    --srcs=software/app/<user application>

アプリケーション・プロジェクトのビルド

アプリケーション・プロジェクトのビルドには、インテルFPGA向け RiscFree* IDE、またはコマンドライン・インターフェイス (CLI) を使用することができます。

CLIを使用する場合は、次のコマンドを使用してアプリケーションをビルドすることができます。

cmake -G "Unix Makefiles" -B software/app/build -S software/app
make -C software/app/build
ユーザー・アプリケーションの .elf ファイルは、software/app/build フォルダーに作成されます。

HEXファイルの生成

アプリケーションの .elf ファイルから .hex ファイルを生成すると、フラッシュデバイスのプログラミングに適した .jic ファイルを作成することができます。

  1. Nios Vコマンドシェルを起動します。
  2. Nios® Vプロセッサー・アプリケーションをTCMからブートする場合は、次のコマンドラインを使用して、アプリケーションのELFをHEXに変換します。次のコマンドにより、ユーザー・アプリケーションの itcm.hex および dtcm.hex ファイルを作成します。
    elf2hex software/app/build/<user_application>.elf -o itcm.hex \
        -b <base address of ITCM> -w 32  \
        -e <end address of ITCM> -r 4
    
    elf2hex software/app/build/<user_application>.elf -o dtcm.hex \
        -b <base address of DTCM> -w 32 \
        -e <end address of DTCM> -r 4
  3. ハードウェア・デザインを再コンパイルし、この2つのHEXファイルでInstruction TCMおよびData TCMをメモリー初期化します。