lcd
lcd
lcd画面显示是由一个个像素点发光展示,如800X480的屏幕,那么有800480=307200个像素点,每个像素点有RGB三个颜色,那么有3072003=921600字节,那么lcd的显存大小为921600字节
RGB一般都是888或者565,如果有透明度的颜色,那么就是8888,一般称为真彩色
裸机中我们可以随意的分配显存,但是在 Linux 系统中内存的管理很严格,显存是
需要申请的,不是想用就能用的。而且因为虚拟内存的存在,驱动程序设置的显存和应用程
序访问的显存要是同一片物理内存
通过操作显存来操作操作lcd
framebuffer
framebuffer(帧缓冲)是Linux系统中一个重要的图形子系统组件,是应用程序操作显存的一种机制。而操作显存可以操作lcd
主要作用如下:
抽象硬件显示接口
framebuffer为应用程序提供了一个统一的显示接口,屏蔽了底层不同显示硬件的差异- 应用程序无需关心具体的LCD控制器型号和硬件细节
内存映射机制
- 将显存映射到应用程序的虚拟地址空间
- 允许应用程序直接通过内存读写操作来控制屏幕显示内容
- 保证驱动程序和应用程序使用同一片物理内存
简化图形操作
- 应用程序可以像操作普通内存一样操作显存
- 通过简单的内存拷贝就能实现图像显示
- 支持各种颜色格式(如RGB565、RGB888等)
系统级支持
- Linux内核提供标准的
framebuffer驱动框架 - 支持多种显示设备和LCD控制器
- 提供设备节点(如
/dev/fb0)供应用程序访问
- Linux内核提供标准的
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 naro!




