Android LCD驱动

本文详细探讨了Android LCD驱动的三个核心部分:驱动程序架构、代码分析和移植过程。内容涉及帧缓冲的原理和作用,Linux帧缓冲架构,以及在驱动程序中如何初始化和配置LCD控制器。此外,还讨论了LCD驱动程序的中断处理、内存分配以及针对不同平台的移植策略。
摘要由CSDN通过智能技术生成

LCD驱动

分为三部分:驱动程序架构、程序分析、程序实现

1.驱动程序架构:

从裸机程序可以知道LCD驱动有两部分组成:初始化(控制器初始化、端口初始化、非常重要–指明帧缓冲)、LCD图形显示(将图形数据写入帧缓冲) 所以说帧缓冲很重要

帧缓冲:简单讲就是内存中的一块区域,只是这些内存告诉 LCD控制器 这些的内存的地址,然后控制器就会从帧缓冲中一行一行的显示到LCD上面(裸机阶段)

在驱动中依然是存在这样的帧缓冲,使用工具 Img2Lcd 将bmp格式的图片设置成二进制的格式 ok.bin形式 ,将文件复制到开发板,然后cat ok.bin > /dev/fb0 就可以显示图片了,说明我们在linux中依然是帧缓冲的方式来控制LCD ,只不过在linux中帧缓冲的名字是/dev/fb0这样的设备文件的方式出现的(名字就是fb0)

Linux帧缓冲架构:应用程序就是将我们的相应的图形数据写入到/dev/fb0(帧缓冲)这个设备文件当中去,使用ls -l 可以看到是 字符设备;找到代码 fbmem.c这个文件,然后找到fbmem_init()这个函数,里面有一个注册设备文件的函数 register_chrdev(FB_MAJOR,”FB”

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荣敢飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值