如何从头开始编写Android平板电脑的LCD驱动程序?

时间:2012-09-10 06:47:49

标签: android c linux linux-kernel linux-device-driver

我想为ASUS TF700

的LCD屏幕编写一个驱动程序
  • 从一开始我应该学习什么才能做到?
  • 我该如何开始进入呢?

2 个答案:

答案 0 :(得分:10)

您需要做的第一件事就是彻底了解设备的硬件架构。

该系统基于nVIDIA Tegra 3,LCD面板将直接连接到它的图形子系统。

您的第一个停靠点应该是Tegra的技术参考手册。如果我见过的其他ARM SoC的内容是8000-10000页,只能在NDA下使用 - 特别是那些与图形子系统有关的部分。

接下来,您需要彻底了解如何在Linux中处理显示。您的目标是实现一个简单的帧缓冲,还是利用Tegra的2D和3d功能?

LCD面板的背光也会有一个驱动程序 - 其控制器很可能挂在Tegra的I2C总线上。

为Linux构建一个基本的帧缓冲驱动程序应该非常简单,因为它实际上并没有做太多。

答案 1 :(得分:4)

与Martin James达成一致,如果你不必自己编写整个驱动程序,那就更好了,而华硕必须已经为现有的Panel提供了一个。 但是,如果您想支持新面板,则可以重新使用现有的驱动程序代码,并为新面板添加支持。 以下是一些先决条件:

  1. 华硕使用的芯片组技术参考手册。
  2. 显示面板规格。
  3. 具有显示芯片组接口的硬件原理图。
  4. 了解已存在的Framebuffer驱动程序。
  5. (最重要的是)一个硬件团队将探测来往/来自Panel的信号。
  6. 同样,这将是一项艰巨的任务,实施它需要一些时间。祝一切顺利! (如果你还打算继续:)