前面我们已经介绍了LCD驱动的写法,但是光有LCD驱动还无法表示我们的驱动程序是否应写好,下面我们准备写一个LCD驱动测试程序,程序的目标是在LCD屏上面将屏幕分成三个矩形块,分别是红绿蓝。
下面我们需要得到fb_info里面两个最重要的结构体fb_fix_screeninfo,fb_var_screeninfo,我们定义两个全局变量
struct>struct fb_var_screeninfo fbvar = { 0 };
通过ioctl接口我们获得了LCD板子的可变参数和固定参数等等
ioctl(>
这样我们就可以通过mmap映射出这个显存区域供应用程序使用
fb32 = (int *)mmap( 0,> for( x = 0; x < fbvar.xres; x++ ) {
*(> }
}
绿色区域位于中间
for(> for( x = 0; x < fbvar.xres; x++ ) {
*(> }
}
蓝色区域位于最下方
for(> for( x = 0; x < fbvar.xres; x++ ) {
*(> }
}
至此我们成功在屏幕上画出三个矩形区域不过到最后不要忘了munmap释放内存。