2011年9月16日金曜日

LX9 MicroBoardでSoCを体験しよう!

米国Avnet社のLX9サポートページには、使い始めるのに必要な資料が殆ど揃っています。
今日はその中から面白そうな物をピックアップして試してみることにしました。

LX9で遊びたい事の一つはやはりSoC(System On Chip)ということになるでしょう。

そこで登場するのが「uC/OS-III Example Application - Software 301 for the Spartan-6 LX9 MicroBoard」というチュートリアルです。


このチュートリアルを辿ればLX9を使ってSoCに関連する一連の作業(の一部)を楽しむことができます。
  • ハードウェア定義ファイル(system.xml)を読み込んでハードウェアプロジェクトを作成する。
  • ハードウェアプロジェクトを指定して新しいボードサポートパッケージプロジェクトを作成する。
  • ソフトウェアプロジェクトを作成する。
と書いてしまえば3段階なのですが、資料なしでこのステップをIDEのインターフェースのみから汲み取ることはできません。そういう意味でこの資料は有用な内容になっています。

この資料では、Xilinx Software Development Kitを使ったRTOS上でのLEDチカチカを行います。


まずはXilinx Software Development Kitを起動します。
資料に従って作業するとワークスペースには形態の異なる3つのプロジェクトが出来上がります。
例えば、以下のケースでは、上からハードウェアプロジェクト、ボードサポートパッケージ、ソフトウェアプロジェクトです。


Xilinx ToolsからProgram FPGAを選択して、予め用意されたビットストリームファイルを使って回路を定義します。


ダイアログにはハードウェアプロジェクトを作成する時に与えたxmlによって必要な値が与えられていますので、特に何も入力する必要はないはずです。


ちなみに、このビットストリームを流し込む事によってボード上のLEDをチカチカさせるための回路やレジスタが定義され、プログラムのブート待ち状態にすることができます。

やってしまいがちな誤りが、このビットストリームを流し込む前にプログラムのデバッグを始めようとしてしまうこと。それは動きませんです。

Doneを確認したらプログラムを動作させてみましょう。


これで仲良く並んだ2つのLEDが適当な間隔で点滅することが確認できるはずです。
ふむふむと動作を楽しんだ後は、コードを見て楽しみましょう。

BSPには主にMicroBlazeのレジスタを操作するインターフェースを定義したヘッダファイルが配置されています。


OS側はプロセッサ周り、ライブラリ、カーネル、アプリケーションと綺麗に階層化されていますね。


このように、従来では色々な環境整備に時間がかかりがちだったSoC体験を、いとも簡単に実現してしまうのがLX9 MicroBoardなのです。

0 件のコメント:

コメントを投稿