45.帧缓冲设备(Framebuffer),LCD

目录

lcd的硬件原理

framebuffer 设备


写写加深印象

lcd的硬件原理

第18章LCD设备驱动之LCD 硬件原理_xiezhi123456的博客-CSDN博客

LCD硬件原理_Linux -CSDN博客

1.LCD屏有很多个像素点,分辨率即像素的个数

2.背后有一个电子枪,在像素时钟信号CLK的驱动下从左往右自动打点,每一个CLK移动一个像素

3.电子枪每次打点,都会从framebuff内取相应的数据,发出不同强度红绿蓝三种光,组合成相应的颜色。每个像素点在framebuff内都有对应的数据位存放数据。framebuff大小跟屏幕一样大。

4.当电子枪打到最右边的时候,HSYNC行同步信号控制电子枪到下一行的最左边。

5.当电子枪打到最后一行最右边,VSYNC帧同步信号控制电子枪回到第一行最左边的第一个像素。

6.一行打完,在行同步信号的控制下电子枪回到最左边需要时间,回到最左边准备好开始打也需要时间。

    整个屏幕打完,在帧同步信号的控制下电子枪回到第一个像素点需要时间,回到第一个像素点后开始准备打点也需要时间。

      这些没有打点的时间,称为屏幕的边框黑框

framebuffer 设备

Linux的帧缓冲设备(Framebuffer)简介_daniel_新浪博客

framebuffer 设备_longjingcha110的博客-CSDN博客

15.linux-LCD层次分析(详解) - 诺谦 - 博客园

16.Linux-LCD驱动(详解) - 诺谦 - 博客园

帧缓冲(framebuffer)是Linux为显示设备提供的一个接口,把显存抽象后的一种设备。

从驱动的角度来说, fb是一个典型的字符设备,在其最顶层的文件drivers/video/fbmem.c的入口函数中,只创建了字符设备和创建类,却没有创建类下面的设备节点。

framebuffer中的fileoperations结构体中有设备的打开、读写、IOctrl等函数接口,里面主要是对fb_info结构体进行操作。

fb_info结构体就是对具体硬件设备的描述,需要用户根据实际的硬件进行注册设置,注册时fb_info结构体会穿件设备节点

显然要写个LCD驱动程序,需要以下4步:

1) 分配一个fb_info结构体: framebuffer_alloc();

2) 设置fb_info

3) 硬件相关的操作(设置中断,LCD时钟频率,显存地址, 配置引脚... ...)

4 注册fb_info: register_framebuffer()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值