1.开发环境
硬件:PC(主机Win7 X64,虚拟机ubuntu14.04) + 开发板(X210)
软件:linux(直接基于linux API)
开发板uboot(uboot可以在iNand中,也可以在外部SD卡中)。
移植好的内核(zImage在tftp服务器中,或者zImage直接fastboot方式烧录到iNand中)。
自己做的rootfs。
2.Makefile介绍
这是一个通用的项目管理的Makefile体系,自己写的分子文件夹组织的项目可以直接套用这套
Makefile体系
包含三类:顶层Makefile、Makefile.build、子文件夹下面的Makefile。
交叉编译工具链的位置:

在顶层Makefile里面加上交叉编译工具链的路径:
![]()


在子Makefile里面:

在Makefile.build里面是一个纯规则文件,指导编译能进入到子文件夹里面去,编译子文件夹,并且
能把他们连接过来,并形成一种依赖。
3.开始动手写代码
![]()

framebuffer基本操作代码 E:\课件&代码\随堂代码\6.小项目\6.小项目\dpicture\display
4.图片显示原理
概念1:像素
概念2:点阵
分辨率(物理分辨率、显示分辨率)
清晰度(分辨率和像素间距有关)像素间距相同时,分辨率越大越清晰;分辨率相同时,像素间距
越小越清晰。
bpp(RGB565、RGB888)像素深度,每个像素用多少bit数据表示
颜色序(RGB、BGR)
5.图片数据提取和显示
Image2LCD提取图片数据
软件下载:http://www.cr173.com/soft/43222.html
软件使用:
-> 一般不要图像头数据,只需要纯数据;
-> 一般水平扫描;
-> 一般选24位真彩色(即RGB888);
-> 选1024*600后,点右边按钮更新;
-> 输出图像调整中,可以调整RGB。
-> 最后点击保存。
图片显示实践:
void fb_draw_picture(void)
{
unsigned char* pdata=gImage_1024600; //指针指向图像数组
unsigned int i,j,cnt;
unsigned int*p=pfb;
for(i=0;i<HEIGHT;i++)
{
for(j=0;j<WIDTH;j++)
{
cnt=i*WIDTH+j; //当前像素点的编号
cnt*=3;
*p=((pdata[cnt+0]<<0)|(pdata[cnt+1]<<8)|(pdata[cnt+2]<<16));//当前像素点的数据,可以在这里修改,达到正确的显示(当RB相反时)
p++;
}
}
}
6.BMP图片的显示
图片文件是二进制文件,文件分两种,即二进制文件、文本文件;

不同格式的图片文件的差别:
-> 图片被压缩与否的区别,压缩格式从差别。
BMP文件如何识别:
-> 每种图片格式都有定义好的一种识别方法,BMP图片特征是以0x424D开头


196

被折叠的 条评论
为什么被折叠?



