【Linux驱动】LCD驱动测试
2015-10-01 12:06
615 查看
(1) 进入内核源码目录中,make menuconfig -> Device Drivers -> Graphics support -> [M]Support for frame buffer devices
重新编译内核 make uImage ,然后make modules,将driver/video/下的 fb.ko、cfbfillrect.ko、cfbimgblt.ko、cfbcopyarea.ko拷贝到210的根文件中,分别 insmod 安装到内核中。
(2) 安装lcd.ko驱动模块
(3) 应用层读写 frame buffer 测试程序框架
或者直接使用:cat xxxfile > /dev/fb0 现象:出现花屏。
重新编译内核 make uImage ,然后make modules,将driver/video/下的 fb.ko、cfbfillrect.ko、cfbimgblt.ko、cfbcopyarea.ko拷贝到210的根文件中,分别 insmod 安装到内核中。
(2) 安装lcd.ko驱动模块
(3) 应用层读写 frame buffer 测试程序框架
#include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <fcntl.h> #include <linux/fb.h> #include <sys/mman.h> int main() { int fbfd = 0; struct fb_var_screeninfo vinfo; struct fb_fix_screeninfo finfo; long int screensize = 0; char *fbp = NULL; int x,y,r = 0,g = 0, b = 0; unsigned int rgb; /*打开设备文件*/ fbfd = open("/dev/fb0", O_RDWR); /*取得屏幕相关参数*/ ioctl(fbfd, FBIOGET_FSCREENINFO, &finfo); ioctl(fbfd, FBIOGET_VSCREENINFO, &vinfo); /*计算屏幕缓冲区大小*/ screensize = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8; /*映射屏幕缓冲区到用户地址空间*/ fbp=(char*)mmap(0,screensize,PROT_READ | PROT_WRITE,MAP_SHARED, fbfd, 0); if((int)fbp == -1) { printf("Error: failed to map framebuffer device to memory .\n"); return -1; } /*下面可通过fbp指针操作缓冲区:显示红 */ for(y = 0;y<(vinfo.yres);y++)//vinfo.yres = 272 { for(x = 0;x < vinfo.xres;x++)//vinfo.xres=480 { long location = x*3 + y * vinfo.xres * 3;//用户缓冲区地址移动,一个像素3字节(24位真彩色) r = 256; g = 0; b = 0; rgb = (r << 16) | (g << 8) | b; //分别获得相应颜色 *((unsigned short *)(fbp + location)) = rgb; } } /*释放缓冲区,关闭设备*/ munmap(fbp, screensize); close(fbfd); }
或者直接使用:cat xxxfile > /dev/fb0 现象:出现花屏。
相关文章推荐
- linux 系统下python程序中出现中文的处理方法
- Linux rpm 命令参数使用详解
- LINUX下GDB调试
- Linux各目录及每个目录的详细介绍
- Linux 命令 - mkdir: 创建目录
- Centos 升级MySQL版本或者Yum安装Mysql5.6
- linux进程管理命令总结
- 【Linux高频命令专题(7)】rm
- 如何解决Linux下库文件的加载错误问题
- CentOS中配置php环境
- Linux-CentOS安装jdk以及配置
- 树莓派raspberry pi安装archlinux,并且在上面搭建以太坊(ethereum)环境
- Linux下安装Python-3.5.0
- linux关闭selinux防火墙
- Centos下编译Linux内核
- @yuanbor:CentOS 6.4内核源代码下载安装
- CentOS SSH安装与配置
- 【Linux驱动】LCD驱动框架分析
- linux下忘记mysql root用户密码修改办法【阿里云专用】
- U盘装CentOS6.4