ADS GraphicsClient Plus シングルボードコンピュータ

詳細については、Applied Data Systems に連絡をとるか、または、
http://www.applieddata.net/products.html を参照してください
(訳注：現在は http://www.applieddata.net/products.asp) 。

Nicolas Pitre <nico@cam.org> がはじめにこの製品の Linux サポートを
おこない、Woojung Huh <whuh@applieddata.net> が開発を引き継ぎました。

現在、完全な Linux 環境を提供するルートファイルシステムを NFS 経由で
マウントすることが可能です。NFS を利用しない場合は、RAM ディスクを
使用することができます。このボードでは MTD/JFFS がサポートされている
ので、その上で何かをマウントすることもできます。

'make config' の類を実行する前に、'make graphicsclient_config' を
実行してください。これにより、各設定項目のデフォルト値が GraphicsClient
Plus サポート用にセットされます。

カーネル zImage は、0xC0200000 にロードされ、そこから実行される
ようにリンクされます。また、エントリ時には、下記のレジスタに指定
されている値をセットしておく必要があります。

        r0 = 0
        r1 = 29 (これは GraphicsClient のアーキテクチャ番号です)

新しい版のボードに付属する ADS ブートローダで、Linux を使用する
ことができます。Linux をロードする方法については、ドキュメントを
参照してください。私の知る限りでは、GraphicsClient Plus で Angel
を使用することはできません。

現在は製造中止になっていますが、ADS は以前、GraphicsClient という
名のボードを提供していました。ADS ブートローダではだめですが、Angel
なら、あとで説明するとおり、古いボード (GraphicsClient) 上でもこの
コードを動かすことができます。いずれにせよ、まとまった形で何かを
展開しようと計画しているなら、おそらく新しいボード (GraphicsClient
Plus) を選んだほうがよいでしょう。

古いボードで Angel を使用している場合、カーネルを Angel デバッグ
モニタ経由でロードするとして、典型的な angelboot.opt オプション
ファイルは次のようになります。

----- angelboot.opt 開始 -----
base 0xc0200000
entry 0xc0200000
r0 0x00000000
r1 0x0000001d
device /dev/ttyS1
options "38400 8N1"
baud 115200
#otherfile ramdisk.gz
#otherbase 0xc0800000
exec minicom
----- angelboot.opt 終了 -----

次のコマンドで、カーネルを (上記の otherfile/otherbase 行のコメントを
はずせば、RAM ディスクも) ロードすることができます。

	angelboot -f angelboot.opt zImage

ここでは、ボードが PC の ttyS1 に接続され、minicom のデフォルト値が
次のように設定されていると仮定しています。

	接続端末：       /dev/ttyS1
        データビット：   8
        パリティ：       なし
        ストップビット： 1
        ビット／秒：     38400
        フロー制御：     なし

他のブートローダを使う場合は、それが同じ機能を提供できること、特に、
カーネルを実行する前に r0, r1 レジスタの値を適切に設定できることを
確認してください。


サポートされているペリフェラル：
- SA1100 LCD フレームバッファ (8/16bpp ... など)
- SA1111 USB マスタ
- オンボード SMC 92C96 イーサネット NIC
- SA1100 シリアルポート
- フラッシュメモリアクセス (MTD/JFFS)
- PCMCIA
- タッチスクリーン (ucb1200)
- PS/2 キーボード
- LCD スクリーン上のコンソール
- シリアルポート (ttyS[0-2])
  - ttyS0 がデフォルトのシリアルコンソールです。
- Smart I/O (ADC, キーパッド、デジタル入力、など)
  入出力制御関連文書およびユーザ空間プログラムのコード例については、
  http://www.applieddata.com/developers/linux/ を参照してください
  (訳注：正しいリンク先は http://www.applieddata.net/developers/linux/) 。
  このドライバを経由し、PS/2 キーボードの信号が多重送信されます。

これからやろうと思っていること：
- 新しい ucb_generic レイヤでの UCB1200 オーディオ
- その他全部！ :-)

注意：

- ボード上のフラッシュは、3 つのパーティションに分かれています。mtd0 は
  ADS ブート ROM と zImage を置くための領域です。ブートローダを破壊して
  しまうことがないよう、この領域は読込み専用になっています。mtd1 は
  ramdisk.gz 用です。mtd2 はユーザ用フラッシュ空間で、JFFS として利用
  するか、もしくは、気狂いじみたことをしたいならば、その上で ext2 ファ
  イルシステムを動かすこともできます。ADS ブートローダを使用していない
  場合は、mtd1 パーティションを破壊してしまわないように自分で注意して
  ください。

- 16bpp モードでは、ボードに付属するケーブルをそのまま使うことは
  できません。ADS に連絡をとるか、もしくは、マニュアルを読んで
  ケーブルを自作してください。現在のところ、16 ビットモードの
  サポート付きでコンパイルし、色深度の低いモードへ切替えをおこ
  なった場合、タイミングがオフになり、イメージが乱れてしまいます。
  このバグは近いうちに修正されるでしょう。

ご協力していただけるなら、なんでも大歓迎です！ nico@cam.org 宛まで
よろしくお願いします。
