承接博文 IMX6ULL开发板基础实验:Framebuffer驱动程序的简单应用实例代码详细分析
很容易写出把屏幕刷黑的程序…
Ubuntu中的目录/home/book/mycode
下新建目录C0003_draw_lcd_black
,然后把把博文中的源码/home/book/mycode/C0002_show_pixel
复制到目录C0003_draw_lcd_black
下,并重命名为:draw_lcd_black
本文中改好的能把IMX6ULL开发板屏幕刷黑(黑屏)的完整程序我在文末附上。
本文中改好的能把IMX6ULL开发板屏幕刷黑(黑屏)的完整程序我在文末附上。
把下面的代码:
/* 清屏: 全部设为白色 */
memset(fb_base, 0xff, screen_size);
/* 随便设置出100个为红色 */
for (i = 0; i < 100; i++)
lcd_put_pixel(var.xres/2+i, var.yres/2, 0xFF0000);
改为
/* 清屏: 全部设为黑色 */
memset(fb_base, 0x00, screen_size);
/* 随便设置出100个为红色 */
/*for (i = 0; i < 100; i++)
lcd_put_pixel(var.xres/2+i, var.yres/2, 0xFF0000);*/
然后重新编译:
arm-buildroot-linux-gnueabihf-gcc -o draw_lcd_black draw_lcd_black.c
把生成的draw_lcd_black复制到/home/book/nfs_rootfs
然后启动开发板,挂载NFS文件:
mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt
把nfs中的draw_lcd_black复制到用户home目录下的 myprogram 下
cp /mnt/draw_lcd_black ~/myprogram
添加执行权限:
chmod +x draw_lcd_black
执行:
./draw_lcd_black
发现整个LCD屏全黑了。
附完整代码的百度网盘下载链接:
https://pan.baidu.com/s/1O6JI5yQKJ-gZkG4mm8EeUA?pwd=sj7q
附生成的可执行程序的百度网盘下载链接:
https://pan.baidu.com/s/1VduMfUv7tZIGZ4xwfq7J6A?pwd=m91m
完整的代码如下:
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <linux/fb.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#