framebuffer 帧缓冲(简称fb), 是linux内核中虚拟出的一个设备
framebuffer向内核提供统一的标准接口显示设备
从驱动的角度来说, fb是一个典型的字符设备, 而是也有一个类 /sys/class/graphics
显示器: 其实就是SOC 通过控制寄存器与显示器的控制器进行对接, 然后进行虚拟内存的映射(其实就是显存).
在控制器之间对接完成之后, 只需要通过往显存里面进行丢数据, 即可出现相对应的显示东西.
framebuffer 的使用
设备文件 /dev/fb0
获取设备信息 #include<linux/fb.h>
mmap做映射
填充framebuffer
不可变信息: 命令 ioctl FBIOGET_VSCREENINFO名
可变信息: ioctl 命令 FBIOGET_FSCREENINFO
其中涉及到相关的结构体变量,
fb_var_screeninfo
fb_fix_screeninfo
这两个变量相关参数意思可以参考
https://blog.csdn.net/qwaszx523/article/details/72954308
作者: qwaszx523 在此声明和感谢
对于framebuffer 驱动框架, 首先需要知道分析哪些文件
这些文件对应在 /drivers/video/ 里面,
还有就是/deivers/video/samsung/ 里面,
还有就是/arch/arm/mach-s5pv210/
/arch/arm/plat-s5p/devs.c
怎么知道这些文件
首先通过经验分析:
然后通过menuconfig , makefile kconfig
还有就是查看内核源码中编译后的文件, 看看那些文件被编译