フレームバッファ(フレームバッファ)

フレームバッファデバイスに対応するデバイスファイルは/ dev / FB *

/ dev / fbとすることで、これらのタイプのアプリケーションで主に作動します:

1。R / W(リード/ライト)は/ dev / FB:読み取り/書き込み画面バッファの同等。

2。マッピング(マップ)操作:プロテクトモードでのLinuxの仕事は、各アプリケーションが独自の仮想アドレス空間を持っているため、アプリケーションが直接バッファの物理アドレスにアクセスすることはできません。マッピング操作を介してバッファ装置があってもよいフレーム)ユーザの仮想アドレス空間にスクリーンバッファの部分のMMAP(物理アドレスをマッピングし、その後、ユーザが仮想画面バッファにアクセスするには、このアドレスを読み書きすることができ、画面上に描画。

3。I / O制御:フレームバッファの場合、デバイスのIOCTL動作ファイルは読み出し/ような解像度、画面サイズなどのデバイスの表示パラメータとスクリーン関連のパラメータを設定することができます。下を完了するためにドライバーによる操作のioctl。

 

次のようにアプリケーションでは、一般的な手順は/ dev / fbがあります。

1。通常のファイル操作などDEV / FBデバイス/で、近くに、主にオープン、読み取り、書き込み、のlseekなど。

2。画面バッファパラメータの画面サイズに応じて算出IOCTL操作に現在の表示画面のパラメータを求めます。

3。ユーザ空間にマップ画面バッファー。

4。マッピングした後、あなたが読むことができるとプロット、画面バッファに直接書き込みや画像が表示されます。

 

FB機器を開きます。

int型のfd = 0; 

FD = オープン("/ DEV /グラフィック/ FB0"、O_RDWR)。

IF(FD < 0){ 

  perrorは("FB0開くことができません");

  戻る- 1。 

}

設定画面のパラメータを取得するためのioctl呼び出し:

静的構造体fb_var_screeninfo たち。

 

 

 

ファイルは/ dev / FB0は、制御画面ファイル上の各点の色です

おすすめ

転載: www.cnblogs.com/yangxingsha/p/11358962.html