TERASIC_MTL(4) | FreeBSD Kernel Interfaces Manual | TERASIC_MTL(4) |
名称
terasic_mtl — Terasic/Cambridge Multi-Touch LCD デバイスのためのドライバ書式
device terasic_mtl /boot/device.hints の中は、次の通りです:
hint.terasic_mtl.0.at="nexus0"
hint.terasic_mtl.0.reg_maddr=0x70400000
hint.terasic_mtl.0.reg_msize=0x1000
hint.terasic_mtl.0.pixel_maddr=0x70000000
hint.terasic_mtl.0.pixel_msize=0x177000
hint.terasic_mtl.0.text_maddr=0x70177000
hint.terasic_mtl.0.text_msize=0x2000
解説
terasic_mtl デバイスドライバは、University of Cambridge の IP コアによって制御されるような組み合わされた Terasic Multi-Touch LCD のサポートを行います。 3 つのデバイスノードは、デバイスによってサポートされた様々なサービスを表わす実例で説明します:- terasic_regX
- タッチスクリーン入力を含む、メモリにマップされたレジスタインタフェース。
- terasic_pixelX
- メモリにマップされたピクセル指向のフレームバッファ。
- terasic_textX
- メモリにマップされたテキスト指向のフレームバッファ。
また terasic_mtl デバイスは、 tty(4) フレームワークに接続された VT 互換の端末を実装した、 syscons(4) フレームワークにアタッチされます。 ttyvX
デバイスノードは、ブートで login(1) セッションを始めるために ttys(5) に追加されます。
レジスタ、テキストとピクセルデバイスは、 read(2) と write(2) システムコールと mmap(2) を使用してマップされたメモリを使用してアクセスされます。
歴史
terasic_mtl デバイスドライバは、 FreeBSD 10.0 ではじめて登場しました。作者
terasic_mtl デバイスドライバとこのマニュアルページは、 DARPA CRASH 研究プログラムの一環として、 DARPA/AFRL 契約 (FA8750-10-C-0237) (“CTSRD”) の下で SRI International と University of Cambridge Computer Laboratory によって開発されました。このデバイスドライバは、 によって書かれました。バグ
syscons(4) アタッチメントは、ハードウェアカーソルの機能をサポートしません。ioctl(2) システムコールを使用してレジスタを制御するためのより構造化されたインタフェースは、ときどきメモリマッピングより望ましいことです。タッチスクリーン入力について、ユーザ空間のアプリケーションではなくポーリングを行なうカーネルで poll(2) と関連するシステムコールを使用してイベントを管理することができるストリーミングインタフェースを提示することは高度に望ましいでしょう。
terasic_mtl は、Altera's Avalon バスのようなシステムオンチップ (system-on-chip) バスに適切な、 nexus
バスアタッチメントのみをサポートします。 IP コアが別のバスタイプに設定されていないなら、追加のバスアタッチメントが必要となります。
August 18, 2012 | FreeBSD |