システム構成
目標を、LCDコントローラ制御とフレームメモリ処理と
したので、2つのデバイスを扱うプログラムが必要です。
下記構成で、デバイスを接続し、動かすことにしました。
LCDコントローラは、SH-4が内蔵しているので、これを活用
します。フレームメモリは、マイコンとしては広大なメモリ空間
をもつ、SH-4に接続されているメモリを利用します。
LCDコントローラ
LCDコントローラについては、SH-4のデータシートを
一読して、大体の動作がわかりました。SH-4は、ルネサス
が販売していますが、三菱の半導体部門との合併前には、
日立製作所の半導体部門が担当していたので、不明な点が
あれば、昔の仲間に聞けばよいと考えて、先に進むことに
しました。
日立製作所のACRTCのマニュアルと同程度に、SH-4
のLCDコントローラの記述がわかりにくいこと。自分が、
勤めていた頃と変わりなく、わかりにくく、本当にユーザー
が使えないように書いているなという印象でした。
SileconLinux社のCAT760のページに、LCDと
接続して、風景を表示している写真がありました。
おそらくドライバがCD-ROMの中に入っているだろう
と考えて、見てみうると、カーネルを展開した次の
ディレクトリにありました。
/drivers/video
ファイル名は、sh7760fb.cです。
自分で開発しないでも、利用できれば、充分と考えました。
フレームメモリ
SH-4のデータシートに目を通すと、LCDコントローラ
の内部レジスタに、アドレス指定で、コントローラが
自動的に、そこからデータを取出してくれるようです。
この機能を利用することにしました。
さらに、LinuxとFrameBufferというキーワードで検索する
と、/dev/fb0、/dev/fb1のようにデバイスノードアクセス
が可能という記述を見つけました。
さらに、デバイスノードにデータをライトすると、表示が
できると書いていたので、それを信じて使うことにしました。