Pylone Blog

BishopエミュレータBeta4リリース

正式版を公開しました - 記事: Bishopエミュレータ正式版リリース

組込みLinux開発用CPUボードBishopエミュレータBeta4を公開します。

更新履歴

  • 2008/9/26: 初版公開

Beta3からの変更点

ボード画像/LED状態表示のサポート

Bishopの実機では、GPIOポートに対して出力を行うことで、基板上でLED5/LED4/LED8/LED7とラベルされたLEDを制御することができます。

QEMUウィンドウ内にLCDの内容だけでなく、これらのLED状態も表示されるようにしました。起動初期段階のデバッグ等に利用できます。

リリース内容

本エミュレータは、オープンソースのプロセッサエミュレータ QEMUの開発版をベースに、Bishop向けの機能を追加したものです。 本リリースでは Beta3 と比較してエミュレーション可能な機能自体に変更はありません。

各種ペリフェラルのサポート状況
ペリフェラル状況
NORROMとして表現され、NORとしてのコマンドには応答しません。
NAND
LCD
RTC
シリアルポート
イーサネット
GPIOLEDPE-201QにはLEDが存在しないため、201A,201Bエミュレーション時のみ表示されます。
USB(OHCI)マスストレージ高負荷時に不安定になる場合があります。
キーボードホストのキーボードが英語配列でない環境では、一部のキーが正しく解釈されません。
マウス
サウンド再生のみです。
タッチスクリーン
SD/MMC
カメラ×

コンパイル手順

本バージョンでは、ソースコード (qemu-bishop-0.9.1-pylone0rc4.tar.bz2) のみを公開しています。以下の手順でコンパイルすることができます。

必要なもの
  • gcc-3.4 (4.x では動作しません)
  • zlib
  • SDL 1.2
手順
$ ./configure --target-list=arm-softmmu --enable-alsa
$ make

実行

まず、以下のイメージファイルをダウンロードします。画像データ以外のファイルは、従来バージョンで使用していたものがあればそのまま使用できます。

イメージファイルが置かれたディレクトリでqemuを

$ qemu-system-arm -M pe201a -serial stdio -kernel dummy -usbdevice keyboard -mtdblock nand-bishop.img
$ qemu-system-arm -M pe201b -serial stdio -kernel dummy -usbdevice keyboard -mtdblock nand-bishop.img

のように起動してください。

-M オプションに指定された値(pe201a または pe201b) に従って、QEMUウィンドウ内にLCDの内容だけでなく、ボード画像/LED状態も表示されます。

Bishop標準のLinuxカーネルで起動した場合、実機と同様にHeartBeatの処理が開始されるとLEDの表示が変化します。

LEDはGPIOポートバンク'B'の 5,6,7,8 ビットに接続されているので、アドレス0x56000014に値を書くと(対応するピンが出力用に設定されていれば)反映されます。 なお、論理は負、0 から数えたビット番号とLEDの対応は以下となります。

ビット番号LED
5LED5
6LED4
7LED7
8LED6

例として、U-Bootプロンプトから4つのLEDすべてを消灯/点灯するには以下のようにします。

# mw.l 56000014 1e0
# mw.l 56000014 000

なお、QEMU上では 1e0 に代わりに ffff などの値を書いても同様の結果が得られますが、実機では 0x1E0 以外の値を設定すると他デバイスの動作に干渉してしまいます。

関連記事