【驱动 】frambuffer中显示屏参数的修改

1.在x210板子的kernel中,默认LCD显示屏是800*400的,修改在

kernel/arch/arm/mach-s5pv210/mach-x210.c  中

258行

#define S5PV210_LCD_WIDTH 1024

#define S5PV210_LCD_HIGHT 600

2.如果是新的内核,在顶层kernel文件夹下,make menuconfig设置打开nfs和tftp功能

3.在顶层kernel文件夹下,make -j4,编译出镜像

4.在kernel/arch/arm/boot文件夹下, sudo cp zImage /tftpboot ,复制到tftp文件夹下,供板子使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用以下步骤在Linux编写一个显示BMP格式图片的程序: 1. 包含所需的头文件和库: ```c #include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <linux/fb.h> #include <sys/mman.h> #include <sys/ioctl.h> ``` 2. 打开并映射帧缓冲设备: ```c int fbfd = open("/dev/fb0", O_RDWR); struct fb_var_screeninfo vinfo; ioctl(fbfd, FBIOGET_VSCREENINFO, &vinfo); int screensize = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8; char *fbp = (char *)mmap(0, screensize, PROT_READ | PROT_WRITE, MAP_SHARED, fbfd, 0); ``` 3. 打开并读取BMP文件头: ```c FILE *bmpfile = fopen("image.bmp", "rb"); unsigned char bmpheader[54]; fread(bmpheader, sizeof(unsigned char), 54, bmpfile); ``` 4. 读取BMP图像数据并将其复制到帧缓冲: ```c unsigned char *bmpdata = (unsigned char *)malloc(screensize); fread(bmpdata, sizeof(unsigned char), screensize, bmpfile); for (int y = 0; y < vinfo.yres; y++) { for (int x = 0; x < vinfo.xres; x++) { long location = (x + vinfo.xoffset) * (vinfo.bits_per_pixel / 8) + (y + vinfo.yoffset) * vinfo.bytes_per_line; unsigned char b = bmpdata[(x + (vinfo.xres * (vinfo.yres - y - 1))) * 3]; unsigned char g = bmpdata[(x + (vinfo.xres * (vinfo.yres - y - 1))) * 3 + 1]; unsigned char r = bmpdata[(x + (vinfo.xres * (vinfo.yres - y - 1))) * 3 + 2]; unsigned int color = ((r << vinfo.red.offset) & vinfo.red.msb) | ((g << vinfo.green.offset) & vinfo.green.msb) | ((b << vinfo.blue.offset) & vinfo.blue.msb); *((unsigned int *)(fbp + location)) = color; } } fclose(bmpfile); free(bmpdata); ``` 5. 关闭帧缓冲设备和解除映射: ```c munmap(fbp, screensize); close(fbfd); ``` 这样就完成了在Linux显示BMP格式图片的程序。请注意,您需要将图片命名为"image.bmp"并与程序文件放在同一目录下。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值