ザイリンクス EDK を 使用したエンベデッド Nucleus PLUS RTOS

EMBEDDED SYSTEMS
ザイリンクス EDK を
使用したエンベデッド
Nucleus PLUS RTOS の
コンフィギュレーションと
ビルド
Gordon Cameron
Business Development Manager
Accelerated Technology, Mentor Graphics
[email protected]
Virtex-II ProTMデバイスに搭載のザイリ
ン ク ス のMicroBlazeTM 32ビ ット ソフト
プロセッサ コアとIBMTM PowerPCTM 405
コ ア は、Accelerated Technology社 の
NucleusTM PLUSリアルタイム オペレー
ティングシステム(RTOS)を使用すること
ができます。Nucleus PLUSは高速かつ小
型で確定的なリアルタイムOSで、
「ハード」
リ
アルタイム アプリケーションに最適です。
ザ イリンクス のPlatform Studio EDK
XPS MLD技術を使用してMicroBlazeおよび
PowerPC 405プロセッサ用Nucleus PLUS
RTOSを自動的にコンフィギュレーション可能に
(Embedded Development Kit)バージョ
ン 6.3iのリリースにより、このロイヤリ
ティフリー の 最 新RTOSを、新 たに 設 計
したシステムに合わせてコンフィギュレー
ションする場合、プルダウン メニューを
使用して簡単に行えるようになりました。
よって新しいハードウェア コンフィギュ
レーションに合わせるためにターゲット ソ
フトウェアの変更に何時間も費やすことな
く、ターゲット ソフトウェアのコンフィ
ギュレーションを数分で自動的に行うこと
ができます。マニュアル(手動)のコンフィ
ギュレーションにありがちな間違いを犯す
恐れもありません。これは、ハードウェア
が頻繁に変更される設計の初期段階にお
いて特に有効です。このような処理を可
能にしたのは、ザイリンクスのPlatform
Studio EDKの 基 本 技 術 の1つ で あ る マ
イクロプロセッサ ライブラリ定義、MLD
(MicroProscessor Library Definition)と
呼ばれる機能です。 MLD技術
ザイリンクスのEDK開発システムPlatform
Studioはデータ駆動のコード ベースに基づ
くもので、これがこのシステムの拡張性と
オープン性を保証しています。MLDはこの
基本機能のほんの一例で、Nucleus PLUS
やその充実したミドルウェアのように、
パートナがサポートするRTOSのカーネル
コンフィギュレーションとそれに対応する
ボード サポート パッケージ(BSP)を容易
に作成・変更できるように特に作成された
ものです。
MLDには、データ定義ファイル(.MLD)
とデータ生成ファイル(.Tcl)の2つのファイ
ルタイプが必要です。.MLDにはNucleus
のユーザ カスタマイズ用パラメータが格
納されており、.Tclファイルは最終的なソ
フトウェア システムをビルドする一連の
Nucleus固有プロシージャを定義するTcl
スクリプトです
(図1参照)
。
13
EMBEDDED SYSTEMS
図 1 MLD に対応したシステム デザインの概要
テムを使用するには、これが最も速い方法です。
ザイリンクスのBase System Builderについても、インストレー
OS
ハードウェア
設計
選択
ションに付属のアプリケーションノートに詳しく説明されています。
Base System Builderを使用すれば、さまざまなシステム コア コ
ンフィギュレーションをビルドしてNucleus PLUS RTOSと共に使
用することができます
(図2参照)
。
EDK 6.3iのアップデートを受け取るかシートを購入した場合は、
MLD
ファイル
XPS
この評価版の内容を確認してください。Nucleus PLUS評価ディス
クのインストーラを実行すれば、ザイリンクス EDK 6.3iの中に必要
なファイルが置かれ、Nucleus PLUSのサポートが自動的に追加さ
ハードウェア
ネットリスト
RTOS
BSP
れます。
特定のハードウェア コンフィギュレーション用のデータ生成ファ
イル(.Tcl)によって変更されるNucleus PLUSの要素は以下のとお
りです。
ISEへ
RTOSへ
XPSへMLDファイルをインストール
●
ハードウェア設計者が使用するデバイスの数とタイプ
●
メモリ マップ情報
●
メモリマップされたデバイス レジスタの位置
●
タイマ コンフィギュレーション
●
割り込みコントローラのコンフィギュレーション
Nucleus PLUSの イン スト ー ルCDからは、RTOS、対 応ド ラ イ
これらを イン スト ー ル す ればRTOSプ ル ダ ウン 選 択 メニュー
バ、Nucleus用にコンフィギュレーションされた2つのMLDファイ
にNucleusが 表 示 さ れ、 ザ イ リ ン ク スPlatform Studio EDKで
ルがインストールされます。これらのMLDファイルを使えば、
Nucleusを使用できるようになります。
PPC405については図3aを、
ザイリンクス Platform Studio EDK内でMLD技術を利用すること
MicroBlazeプロセッサについては図3bを参照してください。
ができます。MLDファイルのデフォルトのインストール パスは、
\edk_user_repositoryにある\nucleus\bspサブ ディレクトリです。
Accelerated Technology社は、ザイリンクス EDK 6.3iの最新
リリースに含まれる
評価用ディスクとし
図 2 ハードウェア設計を完了してソフトウェアの
コンフィギュレーション準備が整った状態
EDKでNucleus PLUSを評価
EDK Platform Studio 6.3iに 同 梱 さ れ て い るAccelerated
Technology社のNucleus PLUS評価用ソフトウェアは、Nucleus
PLUSの限定バージョン
(Limited Version、LV)
です。このバージョ
て、これらのファイ
ンはすべての機能が含まれているRTOSで、ライブラリ形式にコン
ルとその対応インス
パイルされています(通常のソースコードによる配布ではない)
。60
トーラを提供してい
分が経過すると停止するという唯一制約がありますが、あらゆる機
ま す。Accelerated
能を容易に評価することができます。Accelerated Technology社
Technology社 は、
からNucleus PLUSのフルライセンスを購入すると、すべてのソー
この評価版のサ
スコードを入手でき、60分という実行時間の制約も解除されます。
ポ ート と 配 布 を 行
LVバージョンのNucleus PLUSは、外部のSRAMまたはSDRAM
うためにウェブサ
モジュールから実行するようにコンフィギュレーションされていま
イト も 運 営 し て い
す。同RTOSのフルライセンスを取得すれば、システム内の任意の
ます。このサイトに
メモリから実行できるようにコンフィギュレーションすることができ
は、Accelerated
ます。
Technology社 が 提
Nucleus PLUSはスケーラブルなRTOSで、ダウンロードされた
供するすべてのザイ
コードに含まれるのは、ユーザが自分のデザイン中で使用するソフト
リンクス関連製品の
ウェアだけです。これははるかに多くのシステム リソースを消費す
アップデート、評価
る他の大型の静的システムとは対照をなす点です。状況によっては
版、リファレンスデ
RTOS全体とアプリケーションをオンチップ メモリの中に収めるこ
ザイン、ドキュメントが掲載されています。このサイトは定期的に更
とができるので、高性能と低消費電力を同時に実現することができ
新され、アプリケーションの自動コンフィギュレーションに使用でき
ます。より広範なミドルウェアを利用する大型のアプリケーションの
る新しいミドルウェア実装が逐次追加されています。サイトのURL
場合も、比較的小さいオンチップメモリを効率的に使用する上では、
はwww.acceleratedtechnology.com/xilinx/です。
カーネルのフットプリントの大きさが重要な考慮対象となります。
初めてのNucleusベース システムを迅速に立ち上げることがで
Nucleusシステムのほかのコンポーネントを手作業で構成に加
きるように、インストレーションにはあらかじめビルドされたサン
え、ネットワーク、ウェブサーバ、グライフィック、ファイル管理、
プルのリファレンスデザインとコンパイル済みのNucleus PLUS
USB、WiFi、CANバスなどの環境で使用できるようにすることもで
デモンストレーションが含まれています。ビルド済みのリファレン
きます。将来的なNucleusのリリースには、ザイリンクス Platform
スデザインは、現在のところMemec デザインベースのDS-KIT-
Studio EDKとMLD技術と共にこれらの製品が完全に統合化される
2VP7FG456とDS-KIT-V2MB1000 FPGAをサポートしていま
予定です。
TM
す。NucleusをベースとしたサンプルのMLD対応ザイリンクス シス
14
EMBEDDED SYSTEMS
Nucleus PLUSとザイリンクス デバイス
す で に 述 べ た ように、Nucleus PLUS
用に使用可能なBSPを作成するには、まず
ザイリンクス Base System Builderや付
図 3a EDK に Nucleus PLUS をインストールす
ると、PowerPC 405 プロセッサで使用す
る OS を選択するためのドロップダウン メ
ニューの中のオプションとして「Nucleus」
という項目が表示されます。
図 3b MicroBlaze ソフトコア プロセッサと共に
使用する OS を選択するドロップダウン メ
ニューの中のオプションとして「Nucleus」
が表示されています。
属のサンプルのリファレンス デザインを
使用してハードウェア プラットフォーム
をコンフィギュレーションします。次に、
Project > Software Platform Settings
メニューアイテムを選択して、使用した
いオペレーティングシステムをリストか
ら 選 択し ま す。Nucleusオ プ ション を 選
択すると(図3a/b)
、Software Platform
Settingsメニューの各タブの下にある特定
のRTOS用ソフトウェア設定を使用できま
す
(図4では、ユーザがPowerPC上のキャッ
シュを有効にしています)
。LVバージョンではほとんどのソフトウェア
図 4 RTOS コンフィギュレーション パラメータのキャッシュを有効に設定
オプションが無効になっていますが、フルバージョンではそれらを変
更できます。
ソ フト ウ ェ ア 設 定 を 希 望 ど お り の 内 容 に し た ら、Generate
Netlist(ネットリスト作成)およびGenerate Bitstream(ビットス
トリーム作成)コマンドにより、ザイリンクスの XPSまたはISEツー
ルを使用してFPGA上にハードウェア コンフィギュレーションを
ダウンロードします。
以上が完了すると、Tools > Generate LibrariesコマンドとBSP
コマンドを実行してNucleus PLUSをコンフィギュレーションできま
す。このRTOSにはアプリケーション ソフトウェアをリンクできます。
以上で、いつでもGDBデバッガに切り替え、RTOSとアプリケーショ
ンを結合したイメージをFPGAにダウンロードすることができます。
ミングで前倒し、ハードウェアが完了する前にソフトウェア開発に
着手できます。これらのツールは、ホストベース環境での完全な
先進のソフトウェアツール
以上の説明では、コンパイルとリンクを行い、FPGAにダウンロー
アプリケーション ソフトの開発を可能にします。
●
UMLを使用すれば、ソフトウェアチームが抽象化レベルを向上さ
ドできるコードの準備が完了した状態にあることを前提としていたの
せ、開発ソフトウェアのモデル作成することができます。Nucleus
で、アプリケーション ソフトウェア デザインにおける多くの側面が
BridgePointは、UML 2.0のxtUMLサブセットを使用することに
省略されています。実際はシステムがますます複雑なものとなって
いるため、ハードウェア設計者とソフトウェア設計者の両者が限られ
より、完全なコードの作成を可能にします。
●
Mentor Graphics®社のSeamless®協調検証環境を使用すれば、
た予算と時間の中でプロジェクトを完了させるには、これを支援する
ソフトウェアとハードウェアの相互動作を確認することにより、
最先端の高度なツールが必要になります。
PowerPC Virtex-II Proデバイス用のハードウェア シミュレー
ザイリンクス EDKはNucleus PLUSをコンフィギュレーション
できますが、これにはザイリンクス EDKパッケージに付属する標準
GNUツール スイートを使用します。システムを立ち上げるだけであ
れば、このツール スイートでも多くのプロジェクトに十分対応でき
ますが、高度なアプリケーション開発には、さらに多くのものが求め
られることがしばしばです。Accelerated Technology社は、ソフ
トウェア設計のすべての段階に対応できる完全なツール セットを提
供しています。
●
●
●
コードのフットプリントや性能が重視される場合は、高度な最適化
ションとソフトウェア シミュレーションを結合させることができ
ます。
これらの設計ツールとNucleus PLUS RTOSを組み合わせること
により、デザインの機能と効率を最大限まで向上させることができ
る理想的な支援環境を実現することができます。
結 論
EDKでコンフィギュレーション可能な最新のNucleus PLUSラン
タイムOSは、ザイリンクスの高性能のエンベデッド プロセッサを組
が可能なPowerPC Virtex-II Proデバイス用のMicrotec社のコン
み込んだシステムに新たな境地をもたらします。その小さなサイズ
パイラが適しています。このコンパイラを使用すれば、デバッグ済
はオンチップ メモリ上での使用を可能にし、消費電力を最小限に抑
みのコードと同じものをそのまま出荷することができます。これ
えるとともに性能の向上を可能にします。また、豊富なミドルウェア
は、他の多くのコンパイラではなし得ないことです。
の存在は、ネットワーキング、テレコム、データ、通信、コンシュー
アプリケーションのデバッグには、多くの場合、RTOSアウェアネ
マなどの市場をターゲットとした製品に理想的と言えます。
ス、拡張ブレークポイント、高度に最適化されたコードのデバッグ
このソリューションをザイリンクス EDKで容易にコンフィギュ
などが必要になります。業界標準のXRAYデバッガを使用すれば、
レーション可能にすることにより、ユーザはこの強力な製品の利点を
PowerPC Virtex-II Proデバイスでこれらの機能を利用できます。
容易に活用できるようになります。詳細については、
ザイリンクスの先進のプロトタイピング製品であるNucleus SIM
www.acceleratedtechnology.jp または www.mentorg.co.jp を
やNucleus SIMdxを使用すれば、ソフトウェア開発を適切なタイ
ご覧ください。
15