Jam™ STAPL によるエンベデッド・プログラミング
Jam™ Standard Test and Programming Language (STAPL) は、ファイルの小型サイズ、使いやすさ、プラットフォーム独立を提供する、エンベデッド・プロセッサー経由でのインシステム・プログラミングの必要なシステム要件を満たします。エンベデッド・プロセッサー経由でのインシステム・プログラミングに Jam™ STAPL を使用することで、簡単な現場でのアップグレード、容易なデザイン・プロトタイピング、高速な生産を可能にします。これらのメリットは、製品寿命を延ばし、最終製品の品質と柔軟性を強化します。また、プログラミングされたデバイスのストックとトラッキングの必要性を排除することで、デバイスの在庫を削減できます。
仕組み
エンベデッド・プロセッサー経由でのインシステム・プログラミングへの Jam™ STAPL の使用は、2 つのステージで行われます (図 1 に表示)。まず、インテル® FPGA Quartus® II 開発ツールが Jam™ STAPL ソースコードまたは Jam™ ファイル (.jam) を生成し、それをシステムメモリーに保存します。Jam™ ファイルには、1 つ以上のデバイスのアップグレードに必要なプログラミング・アルゴリズムやデータを含む、インシステム・プログラマビリティー (ISP) 対応デバイスのプログラミングに必要とされるすべての情報が含まれています。
図 1.エンベデッド・プロセッサー経由で Jam™ ファイルと Jam™ プレーヤーを使用するインシステム・プログラミング。
Jam™ ファイル (.jam) の情報
Jam™ STAPL を使用してインテル® FPGA デバイスをプログラミングするには、設計者はまず、インテル® Quartus® II 開発ソフトウェアにより、Jam™ ファイルを作成する必要があります。インテル® Quartus® II 開発ソフトウェアは、Programmer Object File (.pof) から Jam™ ファイルを作成できるため、既存のデザインを再コンパイルすることは不要です。Jam™ ファイルを消去可能なプログラマブル読み取り専用メモリー (EPROM) またはフラッシュメモリーに保存するには、まず、それを 16 進数 (インテル形式) ファイル (.hex) または同様のプログラミング・ファイルに変換する必要があります。エンベデッド・プロセッサー・ソフトウェア・パッケージまたはその他のユーティリティーは、Jam™ ファイルを EPROM またはフラッシュ・プログラミングに自動的に変換できます。同時に、EPROM プログラマーは、プログラマーによって変換する必要なしに Jam™ ファイルの読み取りを可能にする、「ローバイナリー」または「抽象バイナリー」形式をサポートします。
図 2 は、インシステム・プログラミング向けの Jam™ ファイルの生成方法を説明します。
図 2.Jam™ ファイルの生成。
Jam™ プレーヤーの情報
Jam™ プレーヤーは、Jam™ ファイルを解析し、各 Jam™ STAPL 命令を解釈し、JTAG チェーンへ、または JTAG チェーンからのデータを読み取り、書き込みする C プログラムです。Jam™ プレーヤーによって処理される変数は、実行時に存在する初期化リスト変数により異なります。各アプリケーションには、独自の要件があるため、Jam™ プレーヤー・ソースコードは容易に変更できます。
図 3 は、Jam™ プレーヤーのソースコード構造を示しています。
図 3.Jam™ プレーヤー・ソースコードの構造。
注:
- TCK、 TMS、 TDI、 および TDO は JTAGI/O ピンです。
主なプログラムは、変更なしに Jam™ プレーヤーのすべての基本機能を実行します。I/O 機能のみを変更する必要があります。これらは、図 3 に記載されている jamstub.c ファイル内にあり、I/O ピン、遅延ルーチン、オペレーティング・システム固有の機能、およびファイルの I/O ピンへのルーチンへアドレスを指定する機能が含まれています。これらの機能は、jamstub.c ファイルを編集するだけで容易にカスタマイズでき、その後あらゆるプラットフォームでの使用向けにソースコードをコンパイルできます。
Jam™ プレーヤーは、システムメモリー内に永久的に存在し、そこで Jam™ ファイルで与えられるコマンドを解釈し、デバイスのプログラミング向けのバイナリー・データ・ストリームを生成します。この構造は、 Jam™ ファイルへのすべてのアップグレードを制限しますが、Jam™ プレーヤーのあらゆるシステム・アーキテクチャーへの適応を可能にします。
ダウンロード
関連ドキュメント
- インテル® MAX® II デバイス・ハンドブックのエンベデッド・プロセッサーを介した ISP 向け Jam™ STAPL の使用 (PDF) の章
FAQ
- Jam™ STAPL (Standard Test and Programming Language) プレーヤーまたは Jam™ STAPL バイトコード・プレーヤーを、旧バージョンの Jam™ ファイル (.jam) や Jam™ STAPL バイトコード・ファイル (.jbc) と共に使用できますか?
- スタンドアロン DOS Jam™ STAPL プレーヤーを ByteBlaster® II ダウンロード・ケーブルと使用してデバイスのプログラミングを行う際、「デバイス・プログラミングの失敗」というメッセージが表示されます。インテル® Quartus® II プログラマーを使用する際には表示されないのですが、なぜでしょうか?
- Jam™ STAPL (Standard Test and Programming Language) ファイルでデバイスをプログラミングする場合、セキュリティー・ビットはどのように設定しますか?
- インテル® FPGA ナレッジベース