·上一文章:Linux超线程感知的调度算法研究
·下一文章:基于DM642的FLASH分页二级引导程序设计
sep4020_blank函数主要实现了将液晶屏清屏的功能。
sep4020fb_fillrect函数实现了填充液晶屏一块矩形区域的功能。
sep4020fb_ioctl函数则为上层应用提供了更多的功能,部分可供上层调用的命令如下:
FBIOGET_VSCREENINFO表示用户获取屏幕的可变参数;
FBIOPUT_VSCREENINFO表示用户设置可变的屏幕参数;
FBIOGET_FSCREENINFO表示用户获得屏幕的固定参数;
FBIOBLANK表示调用sep4020fb_blank函数清空液晶屏;
FBIOPUTCMAP表示设置屏幕的颜色表;
FBIOGETCMAP表示获得颜色表。
3.4 用户空间对帧缓冲设备进行访问
驱动程序经过编译并加载为模块后,成为/dev/fb0设备,在应用程序中,操作/dev/fb0一般遵循如下步骤:1)打开/dev/fb0设备文件;2)调用ioctl()操作取得屏幕的参数,如屏幕分辨率和每个像素所占的比特数,进而计算出显示缓冲区的大小;3)将屏幕缓冲区映射到用户空间;4)映射之后就可以向缓冲区写入或者读出数据,进行绘图了。
4 测试与结论
根据前面论述的步骤向屏幕缓冲区写入数据,将每个像素的值设为0xF0F0,在屏幕上显示如下图像:
测试结果显示,在本课题驱动模块的支持下,可以向屏幕缓冲区写入数据并正确地在屏幕上显示出来,工作完全正常。本文所提出的设计方案已经应用在本单位某产品上。