此信息,来自: http: //pandorawiki.org/Kernel_interface
可能会有所帮助>
帧缓冲接口
Framebuffers可以访问Linux fbdev接口:
fbdev = open("/dev/fb0", O_RDWR); 缓冲区 = mmap(0, 800*480*2, PROT_READ | PROT_WRITE, MAP_SHARED, fbdev, 0);
(这是基本示例,没有错误检查)
返回的指针可用于在屏幕上绘图。
确保#include 可以访问 FB 设备 ioctl 接口,以及访问 ioctl 本身。双缓冲
这可以使用 FBIOPAN_DISPLAY ioctl 系统调用来实现。为此,您需要映射双倍大小的帧缓冲区
buffer1 = mmap(0, 800*480*2 * 2, PROT_WRITE, MAP_SHARED, fbdev, 0); buffer2 = (char *)mem + 800*480*2;
然后显示 buffer2 你会调用:
结构 fb_var_screeninfo fbvar; ioctl(fbdev, FBIOGET_VSCREENINFO, &fbvar); fbvar.yoffset = 480; ioctl(fbdev, FBIOPAN_DISPLAY, &fbvar);
回到 buffer1 将在上面重复 fbvar.yoffset = 0。可以使用相同的技术实现三重或四重缓冲。