Nios® V プロセッサー・ソフトウェア開発者ハンドブック

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

4.3.4.5.1. 推奨される開発手法

ソフトウェア・コヒーレンシ問題を回避するための最も安全なソフトウェア開発手法は、厳密なハードウェアおよびソフトウェアのプロジェクト階層に従うこと、そして Nios V ユーティリティーを使用してアプリケーションおよび BSP のプロジェクトを生成することです。

ベスト・プラクティスの 1 つは、並列アプリケーション・プロジェクトと BSP プロジェクトフォルダを使用してアプリケーション階層をビルドすることです。次の推奨ディレクトリー構造では、最上位のハードウェア・プロジェクト・フォルダーに次のものが含まれます。

  • Quartus® Prime プロジェクト・ファイル
  • プラットフォーム・デザイナー が生成するファイル
  • ソフトウェア・プロジェクト・フォルダーには、次のサブフォルダーが含まれます。
    • アプリケーション・プロジェクト

    • BSP プロジェクト

図 7. 推奨されるディレクトリー構造

プラットフォーム・デザイナーでシステムに変更が加えられるたびに、ハードウェアから BSP およびアプリケーション・プロジェクトまでの完全なシステム生成プロセスを繰り返す必要があります。したがって、niosv-bsp コマンドの Tcl スクリプトで、すべての設定を定義する方が、BSP Editor を使用してプロジェクトをカスタマイズするよりも効率的です。

システム生成プロセスは、以下の通りです。

  1. ハードウェア・ファイルの生成プラットフォーム・デザイナーを使用して、更新されたシステムの説明を <system_name>.qsys ファイルに書き込みます。
  2. BSP プロジェクトの再生成niosv-bsp コマンドを使用して BSP プロジェクトを生成します。
  3. アプリケーション・プロジェクトの再生成 — niosv-app コマンドを使用してアプリケーション・プロジェクトを生成します。
  4. システムのビルド — アプリケーションおよび BSP CMakeLists.txt ファイルを使用してシステム・ソフトウェアをビルドします。

このシステム生成プロセスを実装する場合、アルテラは、ハードウェアおよびソフトウェアのグループの間の責任をハンドオフするために以下のチェックリストを使用することをお勧めします。

注: この方法は、ハードウェアおよびソフトウェアのエンジニアリング・グループが Quartus® Prime 開発ソフトウェアの同じバージョンを使用していることを前提としています。
表 15.   グループ間で責任をハンドオフするためのチェックリスト
ハードウェア・グループからソフトウェア・グループにプロジェクトをハンドオフするには、以下のステップを実行します。
ハードウェア・プロジェクトのハンドオフ

ハードウェア・グループは、<system_name>.qsys および <system_name>.sof ファイルをコピーします。ソフトウェア・グループは、これらのファイルをソフトウェア・グループのハードウェア・プロジェクト・フォルダーにコピーします。

ソフトウェア・プロジェクトの作成

ソフトウェア・グループは、niosv-bsp および niosv-app ユーティリティーを実行して、新しいハードウェア用のソフトウェア・アプリケーションを作成します。

プロジェクトのビルド

ソフトウェア・グループは、アプリケーション・プロジェクト・ディレクトリーで cmake および make コマンドを実行して、ソフトウェア・アプリケーションをビルドします。

ソフトウェア・プロジェクトのリコンフィグレーション

ハードウェアは、更新された <system_name>.qsys および <system_name>.sof ファイルを渡します。ソフトウェア・グループは、niosv-app および niosv-bsp コマンドを使用して、グループのアプリケーションと BSP プロジェクトをリコンフィグレーションします。

ソフトウェア・プロジェクトのリビルド

ソフトウェア・グループは、アプリケーション・プロジェクト・ディレクトリーで cmake および make コマンドを実行して、ソフトウェア・アプリケーションをビルドします。

ソフトウェア・グループからハードウェア・グループにプロジェクトをハンドオフするには、以下のステップを実行します。
ソフトウェア・プロジェクトのハンドオフ ソフトウェア・グループは、<app_name>.elf ソフトウェア・バイナリーのコピーを使用してハードウェア・グループをビルドし提供します。次に、ハードウェア・ グループは、 Nios® V プロセッサーのブート方式に従って、ソフトウェア・バイナリーを関連する形式に変換します。