(1)开发板挂载优盘方法:
ls /dev
mkdir /mnt/usb
mount /dev/sda1 /mnt/usb
cp /mnt/usb/......
umount /mnt/usb
(2)framebuffer程序: bpp像素深度,常见的有bpp24中rgb888和rgb666,一个像素三个字节;bpp16中rgb565,一个像素两个字节。rgb565,r.offset =11,g.offset=5,b.offset = 0; rgb666, r.offset = 16, g.offset = 8, b.offset = 0。
// 本文件用来解析BMP图片,并且显示到fb中
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <linux/fb.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
// 宏定义
//#define FBDEVICE "/dev/fb0"
// 开发板
//#define WIDTH 1024
//#define HEIGHT 768
//我们规定最大支持1920*1080这么大的图片,BPP最多24
#define BMP_MAX_RESOLUTION (1920*1080)
#define BMP_BUF_SIZE (BMP_MAX_RESOLUTION*3)
char rgb_buf[BMP_BUF_SIZE]; // 全局变量
unsigned char *pfb = NULL; // pfb指向framebuffer内存地址首地址
int fbfd = -1; // 打开fb后得到的fd
struct fb_fix_screeninfo finfo;
struct fb_var_screeninfo vinfo;
// 结构体用来封装一个图片的各种信息
typedef struct pic_info
{
char *pathname; // 图片在文件系统中的路径名+文件名
unsigned int width; // 图片分辨率之宽
unsigned int height; // 图片分辨率之高
unsigned int bpp; // 图片bpp
char *pData; // 指向图片有效数据存储的buf数据
}pic_info;
// BMP 文件头
typedef struct
{
// unsigned short bfType; // 2
unsigned long bfSize; // 4
unsigned short bfReserved1;
unsigned short bfReserved2;
unsigned long bfOffBits;
} ClBitMapFileHeader;
// BMP 信息头
typedef struct
{
unsigned long biSize;
long biWidth;
long biHeight;
unsigned short biPlanes;