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

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

我想为ASUS TF700的液晶屏写一个驱动程序

  • 我应该学习什么才能从一开始就做到这一点?
  • 我应该如何开始研究它?

最佳答案

为此,您需要做的第一件事是透彻了解设备的硬件架构。

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

您的第一个停靠点应该是 Tegra 的技术引用手册。如果我见过的其他 ARM SoC 的那些有什么可以引用的话,将是 8000-10000 页,并且仅在 NDA 下可用 - 特别是那些与图形子系统相关的部分。

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

还有一个用于 LCD 面板背光的驱动器 - 其 Controller 很可能卡在 Tegra 的 I2C 总线之一上。

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

关于android - 如何从头开始编写 Android 平板电脑的 LCD 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12346580/

相关文章:

c - Gtk+ 3.0 : undefined reference 中的 GtkGlArea

C:警告:格式 '%s' 需要匹配的 'char *' 参数

python - 终止ssh后如何在Raspberry Pi上继续在后台运行Python程序

reactjs - 从网站下载时,Electron .AppImage 分发应用程序无法打开

java.lang.UnsatisfiedLinkError : dlopen failed: . 所以库是 64 位而不是 32 位

android - 创建/更改/删除/撤消 Canvas 上不同形状的数量,按钮的 onClick()

android - Ionic5 电容器修复 AndroidManifest.xml 缺少 Activity 名称

c - 哪个 PIC 编译器用于编译此代码?

linux - 错误 : sleeping function called from invalid context - vibrator driver in Linux kernel

android - 在 Android Studio 中不重构的情况下更改 Android 包名称