正式版を公開しました - 記事: Bishopエミュレータ正式版リリース
組込みLinux開発用CPUボードBishopのエミュレータのBeta2版を公開します。
エミュレートする環境として提供される仮想ターゲットPE-201Qを追加しました。実機より大きな画面(640x1024)および豊富なNOR領域(128MBytes)が利用可能となるので、開発環境としての利便性が向上します。
エミュレータウィンドウ上のポインタ操作を、タッチスクリーンへの入力として変換するようにしました。PE-201A/Bとしてエミュレーションを行う場合、タッチスクリーンはキャリブレーション済の状態で起動します。PE-201Qでは変換係数の初期値に意図的にある程度の誤差を残してあります。キャリブレータの動作確認にはPE-201Qを使用してください。
QEMU起動時に-appendオプションが付加された場合に、U-Bootの環境変数"bootargs"へ反映するようにしました。この環境変数はLinuxカーネルの起動時の引数として渡されます。
-append を指定しないか、空("")とした場合、bootargsの内容は
bootargs=console=ttySAC0,115200 console=tty0 preinit=/pylone root=/dev/mtdblock5 nfsroot=10.0.2.2:/ROOTFS/ ip=10.0.2.15::10.0.2.2:255.255.255.0:::
となります。この場合、特に操作しなければルートファイルシステムとしてNANDが使用されます。
-appendに"xxx=yyy"のような値を指定した場合、bootargsの内容の後半が書き換えられて
bootargs=console=ttySAC0,115200 console=tty0 preinit=/pylone xxx=yyy
となります(この例のままでは"root="が指定されなくなるため、起動に失敗します)。
-append "root=/dev/nfs nfsroot=xx.xx.xx.xx:/XXXXX ip=10.0.2.15::10.0.2.2:255.255.255.0:::"
のように有効な"root="と付加情報を設定すれば、指定に従って起動します(この例の場合は nfs サーバxx.xx.xx.xx の /XXXXX をルートとして)。
QEMU がエミュレーションのために使用するコード変換バッファ領域のサイズを増やしました。エミュレータ上で複雑な処理をおこなわせた場合の速度低下が軽減されています。
QEMUのメモリ消費量がBeta1と比較して増加しているため、十分なメモリを確保しての使用をお勧めします。
今回のリリースでは、ソースコードのみ提供します。以下のリンク先から取得してください:
今後
も準備する予定です。
本エミュレータは、オープンソースのプロセッサエミュレータQEMUの開発版をベースに、Bishop向けの機能を追加したものです。Beta2ではBata1に比較してエミュレーションの精度が向上していますが、まだ実機に存在する全ての周辺機器を正しくエミュレートできるわけではありません。
| ペリフェラル | 状況 | 注 | |
|---|---|---|---|
| NOR | △ | ROMとして表現され、NORとしてのコマンドには応答しません。 | |
| NAND | ○ | ||
| LCD | ○ | ||
| RTC | ○ | ||
| シリアルポート | ○ | ||
| イーサネット | ○ | ||
| GPIO | LED | △ | 状態の設定は可能ですが、表示はおこなわれません。 |
| USB(OHCI) | マスストレージ | △ | 高負荷時に不安定になる場合があります。 |
| キーボード | △ | ホストのキーボードが英語配列でない環境では、一部のキーが正しく解釈されません。 | |
| マウス | ○ | ||
| サウンド | × | ||
| タッチスクリーン | ○ | ||
| MMC | × | ||
| カメラ | × | ||
Debian環境では、 # apt-get build-dep qemu を実行することで、必要なパッケージを一括してインストールすることもできます。
ソースコードを展開したディレクトリ内で以下の手順を行うことで、実行可能ファイル ./arm-softmmu/qemu-system-arm が生成されます。
Bishopエミュレータに実機出荷状態と同様の動作をさせるためには、
を与える必要があります。それぞれのファイルをリンク先からダウンロードし、ソースコードのトップディレクトリに置いた状態で
$ ./arm-softmmu/qemu-system-arm -M pe201b -serial stdio -kernel dummy -usbdevice keyboard -mtdblock nand-bishop.img
として起動してください。
の順で実行されます。
オプション”-M”には、従来の"pe-201a"と"pe-201b"に加えて"pe-201q"を指定することができます。
カーネルイメージを最新のBishop向けカーネルに差し替えると、起動時にタッチスクリーンからルートファイルシステムを選択することができます。
Bishop向けLinuxカーネルのテスト版 (2.6.24-rc6) を公開します。
最新版は2.6.26.8です。記事: Bishop向けLinuxカーネルのテスト版 - 2.6.26.8
主な変更点は以下の通りです。
本カーネルは近日中に正式リリースされる予定です。今後出荷するBishopにもプリインストールされます。これまでご購入いただいたお客様につきましては、アップデート手順をご案内させていただきます。
Bishopにプリインストールされている uClibcベースのinitrdを klibcによるinitramfsに変更する予定です。
klibcやinitramfsについては、カーネル付属文書Documentation/early-userspace/READMEを参照してください。JFプロジェクトによる日本語訳もあります。
klibcのサンプル実装として、起動時にタッチスクリーンからルートファイルシステムを選択する仕組みを用意しました。
起動時に表示される画面上のアイコンをタッチすることにより、NAND、NFS、USBマスストレージ、SDカードの何れかからルートファイルシステムを選択できます。
近日中にリリース予定のBishop向けカーネルでは、このカスタムinitramfsも含まれます。
誠に勝手ではございますが、株式会社パイロンは平成19年12月29日から平成20年1月6日の間を休業とさせていただきます。ご迷惑をおかけいたしますが、よろしくお願いいたします。
クロス開発環境のDebianパッケージ を alien で変換したRPMパッケージを 公開します。
クロス開発環境のDebianパッケージ を参照してください。
クロス開発環境のDebianパッケージ を参照してください。
以下の内容で/etc/yum.repos.d/pylone-jp.repoを作成して、yumレポジトリを追加します。
[cross-toolchain] name=Cross Toolchain baseurl=http://downloads.pylone.jp/cross-toolchain/rpm/ enabled=1 gpgcheck=0
レポジトリ情報を更新します。
# yum update
必要なツールをインストールします。ARCHは arm、mipsel、sh4、powerpc の何れかに置き換えてください。
# yum install gcc-3.4-ARCH-linux-gnu
# yum install gcc-4.1-ARCH-linux-gnu
# yum install g++-4.1-ARCH-linux-gnu
# yum install gdb-ARCH-linux-gnu
alienによる変換ではパッケージ間の依存関係が失われますが、 本パッケージではspecファイルを修正して依存関係を追加しています。