Nios II 統合開発環境(IDE)は Nios II エンベデッド・プロセッサ・ファミリ用の主要なソフトウェア開発ツールです。プログラムのエディット、ビルド、およびデバッグを含むすべてのソフトウェア開発作業を Nios II IDE 内で行うことができます。Nios II IDE は、すべての Nios II プロセッサ・システムに対して機能する一貫した開発プラットフォームを提供します。ソフトウェア開発者がNios II プロセッサ・システムにプログラムを書き込んだり、通信を行うためには、PC、アルテラの FPGA、および JTAG ダウンロード・ケーブルが必要です。
Nios II IDE は、ソフトウェア開発向けに次の4つの主要機能を提供します。
Nios II IDE は、オープンで拡張可能な Eclipse プロジェクトおよび Eclipse C/C++ Development Tools (CDT)をベースにしています。Eclipse プロジェクトについては、www.eclipse.org を参照してください。
プロジェクト・マネージャ
Nios II IDE は、エンベデッド・アプリケーションの開発を加速する、さまざまなプロジェクト管理タスクを提供します。
新しいプロジェクト・ウィザード
Nios II IDE は C/C++ アプリケーション・プロジェクトおよびシステム・ライブラリ・プロジェクトのセットアップを自動化する、新しいプロジェクト・ウィザード(図 1 を参照)を提供します。新しいプロジェクト・ウィザードにより、Nios II IDE 内で非常に簡単に新しいプロジェクトのセットアップができます。
図 1. Nios II IDE の新しいプロジェクト・ウィザード

ソフトウェア・プロジェクトのテンプレート
Nios II IDE は、プロジェクト・セットアップ・ウィザードに加えて、ソフトウェア・コード例もプロジェクト・テンプレートの形で提供しており、ソフトウェア・エンジニアが可能な限り迅速に実働システムを立ち上げることができるよう支援します。
各テンプレートは、ソフトウェア・ファイルとプロジェクト設定で構成されています。設計者は、プロジェクト・ディレクトリにコードを置くか、プロジェクトにファイルをインポートすることによって、プロジェクトに独自のソース・コードを追加することができます。図 2 に、使用可能なソフトウェア・プロジェクトのテンプレートをいくつか示します。
図 2. ソフトウェア・プロジェクトのテンプレート

ソフトウェア・コンポーネント
設計者はNios II IDEのソフトウェア・コンポーネントを使用して、システムを素早くカスタマイズできます。ソフトウェア・コンポーネント(「システム・ソフトウェア」とも呼ばれる)によって、特定のターゲット・ハードウェアに対するシステムのコンフィギュレーションを容易に行うことができます。
ソフトウェア・コンポーネントには、以下のコンポーネントが含まれています。
- Nios II ランタイム・ライブラリ(HAL(Hardware Abstraction Layer)とも呼ばれています)
- アルテラの Zip ファイル・システム
詳細についてはNios II ソフトウェア開発ハンドブック および MicroC/OS-II RTOS tutorialを参照してください。
エディタおよびコンパイラ
アルテラの Nios II IDE は多彩な機能を持つソース・エディタおよび C/C++ コンパイラを提供します。
テキスト・エディタ
Nios II IDE テキスト・エディタは、完成度の高い多機能なソース・エディタです。次のような特長があります。
- 構文のハイライト表示 - C/C++
- コード支援/コード自動補完
- 包括的な検索機能
- ファイル管理
- 広範なオンライン・ヘルプ・トピックとチュートリアル
- インポート支援
- クイック・フィックス、自動修正
- 統合デバッグ機能
以下の 図 3 に、C ソース・コードをハイライト表示した Nios II IDE テキスト・エディタのスクリーンショットを示します。
図 3. Nios II IDE が提供する基本的な編集機能

C/C++ コンパイラ
Nios II IDE は、業界標準 のGNU ツールをベースとする、GCC コンパイラのためのグラフィカル・ユーザ・インタフェースを提供します。Nios II IDE の環境は、アルテラの Nios II プロセッサ用のソフトウェア開発が簡単に行えるように設計されており、使いやすいプッシュボタン・フローを提供すると同時に、拡張ビルド機能も可能にします。
Nios II IDE 開発環境は、ユーザ固有のシステム・コンフィギュレーション(SOPC Builder で生成された PTF ファイル)に基づき自動的に makefile を生成します。Nios II IDE コンパイラ/リンカ設定で行われた変更は、この makefile に自動的に反映されます。これらの設定には、メモリ初期化ファイル(MIF)、フラッシュ・メモリ内容、シミュレータ初期化ファイル(DAT/HEX)、およびプロファイル・サマリ・ファイルを生成するためのオプションを含めることができます。
Nios II IDE C/C++ コンパイラおよび開発環境の詳細については、Nios II ソフトウェア開発ハンドブック (PDF)および Nios II IDE オンライン・ヘルプを参照してください。
デバッガ
Nios II IDE は GNU デバッガ(GDB)をベースにした強力なソフトウェア・デバッガを備えています。このデバッガは、数多くの基本的なデバッグ機能と、一般に低コスト・プロセッサ開発キットにはない 、さまざまな先進的デバッグ機能を備えています。
基本的なデバッグ機能 - Nios II IDE デバッガには以下のような基本的なデバッグ機能があります。
- 実行の制御
- コール・スタック表示
- ソフトウェア・ブレークポイント
- ディスアセンブリ・コード表示
- デバッグ情報表示
- インストラクション・セット・シミュレータ(ISS)ターゲット
図 4 に、Nios II IDE デバッガでのソフトウェア・ブレークポイントのスクリーンショットを示します。
図 4. Nios II IDE デバッガのブレークポイント

先進的なデバッグ機能
上記で示した基本的デバッグ機能に加えて、Nios II IDE デバッガは次のような先進的デバッグ機能も備えています。
-
ROM または フラッシュでコードをデバッグするためのハードウェア・ブレークポイント
-
データ・トリガ
-
インストラクション・トレース
Nios II IDE デバッガは JTAG デバッグ・モジュールを使用してターゲット・ハードウェアに接続されます。さらに、FS2製の Nios II プロセッサ用インターゲット・システム・アナライザ(ISA-NIOS)のようなサード・パーティのトレース・プローブと連係するオフ・チップのトレース機能のサポートも用意されています。
デバッグ情報表示
ユーザは、デバッグ情報表示を使って、ローカル変数、レジスタ、メモリ、ブレークポイント、および表記診断の各機能にアクセスできます。
図 5 に、このデバッグ情報表示の例を示します。この例では、アプリケーションのレジスタ内容を表示しています。
図 5. デバッグ情報表示 - レジスタの表示

ターゲット
Nios II IDE デバッガは数種類のターゲットに接続できます。表 1 に、Nios II IDE デバッガで使用可能なターゲットを示します。
| 表 1. Nios II IDE デバッガのターゲット | |
| ターゲット | 説明 |
|---|---|
| ハードウェア(JTAG を介する) | アルテラの FPGA 開発ボード(Nios II 開発キットまたはその他のアルテラまたはパートナのキットで使用可能なものなど)に接続されます。 |
| インストラクション・セット・シミュレータ | Nios II インストラクション・セット・アーキテクチャのソフトウェアを実装。ハードウェア・プラットフォーム(FPGA 回路ボードなど)が使用可能になる前のシステム開発に使用されます。 |
| ハードウェア・ロジック・シミュレータ | ModelSim® HDL シミュレータへの接続。ユーザの作成したペリフェラルを検証する必要があるシステムに便利です。 |
Flash Programmer
Nios II プロセッサを使用する多くのデザインでは、FPGA コンフィギュレーションや Nios II プログラム・データを保存する手段としてフラッシュ・メモリもボード上に搭載されています。Nios II IDE にはこのフラッシュメモリをプログラムする便利な方法があります。FPGA に接続された任意の CFI(common flash interface)準拠 フラッシュ・デバイスは、Nios II IDE Flash Programmerを使用してプログラムできます。CFI フラッシュ・デバイスに加えて、Nios II IDE Flash Programmer は、FPGA に接続された任意のアルテラのシリアル・コンフィギュレーション・デバイスをプログラムすることができます。
Flash Programmerは、以下のような各種データを管理します。
| 表 2. 一般的にフラッシュメモリ内にプログラムされるコンテンツのタイプ | |
| コンテンツのタイプ | 説明 |
| システム・ファームウェア |
フラッシュ・メモリにソフトウェアをプログラムすることにより、リセット時にフラッシュ・メモリ から Nios II プロセッサをブートできます。 |
| FPGA コンフィギュレーション | コンフィギュレーション・コントローラ(Nios 開発ボードで使用されるものなど)を使用する場合、パワー・オン・リセット時に フラッシュ・メモリ から FPGA をコンフィギュレーションすることができます。 |
| 任意のバイナリ・データ | グラフィックス、オーディオなど、設計者が フラッシュ・メモリに格納したい任意のタイプのバイナリ・データです。 |
Nios II IDE Flash Programmerは、使いやすいインタフェースを備えています(次の図 6 を参照)。
図 6. Flash Programmerのインタフェース

Nios II IDE Flash Programmer は、Nios II 開発キットで使用可能なすべてのボードに対して機能するよう、事前にコンフィギュレーションされていますが、任意のカスタム・ハードウェアにも簡単に移植できます。詳細についてはNios II Flash Programmer User Guideを参照してください。
* アルテラから提供するMicroC/OS-II は 開発キット用ライセンスです。
MicroC/OS-IIの正式ライセンス等について詳しくは、
Micrium社およびその販売代理店((有)テクノ・ロジック)までお問い合わせください
E-mail: info@t-logic.jp
Web: http://www.t-logic.jp/


