Linux驱动:LCD驱动测试
2025-01-09 来源:cnblogs
(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 测试程序框架
#include #include #include #include #include #include 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 现象:出现花屏。
- 基于迅为iTOP-3568开发板的Linux驱动开发实战:menuconfig图形化配置实验
- 迅为工业RK3568 itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解
- STM32MP157 Linux系统移植开发篇12:Linux内核MIPI LCD驱动移植
- 迅为imx6ull开发板Linux I2C驱动实验-应用程序与I2C通信
- 迅为IMX6ULL开发板Linux驱动初探-最简单的设备驱动-helloworld
- 迅为IMX6ULL开发板-Linux MISC驱动-编写实验程序
- iMX6ULL终结者Linux WIFI驱动实验rtl8723 Wifi联网测试
- 迅为i.MX6ULL终结者Linux MISC驱动运行测试
- 迅为IMX6ULL开发板Linux RS232/485驱动实验(上)
- IMX6ULL开发板Linux_WIFI驱动实验
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




