![組み込みLinux LCDが校正されていません。](https://linux33.com/image/18376/%E7%B5%84%E3%81%BF%E8%BE%BC%E3%81%BFLinux%20LCD%E3%81%8C%E6%A0%A1%E6%AD%A3%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82.png)
私の組み込みLinuxデバイスに新しいLCDを接続しましたが、システムを実行するとLCDが右に移動するのがわかります。 (LCD中央から表示)
Linuxカーネルドライバで2つのフレームバッファドライバを見つけ、次のように修正しました。
#ifdef CONFIG_TOPPOLY_TD035TTEA3_320X240
hsync_len : 64,
vsync_len : 6,
left_margin : 125,
upper_margin : 70,
right_margin: 115,
lower_margin : 36,
sync: 0,
cmap_static: 0,
#endif
しかし、問題は残っています。どうすればいいですか?
答え1
値をカーネルにエンコードする前に、次のように対話式にテストします。fbset
。実稼働環境では、この方法でユーザースペースでパネルパラメータを設定できますが、多くの開発者は起動時に画面をオンにする必要があります。
これらの既知の良好な値を最初に設定するには、その値をカーネルに入れることができます。カーネルに入れた値が適用されないと思われる場合は、デバイスの正しいフレームバッファ記述を変更していない可能性があります。私はしばしば私のコードに構文エラーが発生し、コンパイルに失敗することを確認します。コンパイラが私のエラーを無視すると、設定によってコードブロックが無効になっていることがわかります。
有効な設定が見つからない場合は、パネルとチップのLCDコントローラのデータシートを確認して、両方の互換性のあるタイミングがあることを確認してください。