B站,网盘,百问网均已同步更新。这是视频配套的文档。
Framebuffer应用编程(点击观看):视频配套文档内容如下:
LCD操作原理在Linux系统中通过Framebuffer驱动程序来控制LCD。Frame是帧的意思,buffer是缓冲的意思,这意味着Framebuffer就是一块内存,里面保存着一帧图像。
Framebuffer中保存着一帧图像的每一个像素颜色值,假设LCD的分辨率是x,每一个像素的颜色用32位来表示,那么Framebuffer的大小就是:xx32/8=字节。
简单介绍LCD的操作原理:
①驱动程序设置好LCD控制器:根据LCD的参数设置LCD控制器的时序、信号极性;根据LCD分辨率、BPP分配Framebuffer。
②APP使用ioctl获得LCD分辨率、BPP
③APP通过mmap映射Framebuffer,在Framebuffer中写入数据
假设需要设置LCD中坐标(x,y)处像素的颜色,首要要找到这个像素对应的内存,然后根据它的BPP值设置颜色。
假设fb_base是APP执行mmap后得到的Framebuffer地址,如下图所示:
可以用以下公式算出(x,y)坐标处像素对应的Framebuffer